From d96f25bd69c14bc257281a580f344240c72f4999 Mon Sep 17 00:00:00 2001 From: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com> Date: Fri, 29 Dec 2023 11:29:43 -0400 Subject: runtime(fortran): update syntax and documentation (#13784) * Update Fortran section of indent.txt * Small addition to fortran syntax Signed-off-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com> Signed-off-by: Eisuke Kawashima Signed-off-by: Christian Brabandt * Update Fortran section of syntax.txt * Runtime (Fortran) Fix regression * Combine two expressions --- runtime/syntax/fortran.vim | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'runtime/syntax') diff --git a/runtime/syntax/fortran.vim b/runtime/syntax/fortran.vim index b7fae54d99..99e11528de 100644 --- a/runtime/syntax/fortran.vim +++ b/runtime/syntax/fortran.vim @@ -1,6 +1,6 @@ " Vim syntax file " Language: Fortran 2023 (and Fortran 2018, 2008, 2003, 95, 90, and 77) -" Version: (v108) 2023 December 22 +" Version: (v109) 2023 December 29 " Maintainers: Ajit J. Thakkar ; " Joshua Hollett " Usage: For instructions, do :help fortran-syntax from Vim @@ -133,8 +133,8 @@ syn keyword fortranAttribute abstract external private public protected inten syn keyword fortranAttribute pointer target allocatable dimension codimension sequence parameter save syn keyword fortranUnitHeader result operator assignment -syn match fortranUnitHeader "\(end\s*\)\?\(subroutine\|function\|module\|program\|submodule\)\>" -syn match fortranBlock "\(end\s*\)\?\(block\|critical\|associate\)\>" +syn match fortranUnitHeader "\<\(end\s*\)\?\(subroutine\|function\|module\|program\|submodule\)\>" +syn match fortranBlock "\<\(end\s*\)\?\(block\|critical\|associate\)\>" syn match fortranCalled "\(call\s\+\)\@7<=\a\w*" syn match fortranRepeat "\" syn keyword fortranRepeat concurrent @@ -349,6 +349,9 @@ endif if exists("fortran_fold") + if has("folding") + setlocal foldmethod=syntax + endif if (b:fortran_fixed_source == 1) syn region fortranProgram transparent fold keepend start="^\s*program\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\\)\=\|$\)" contains=ALLBUT,fortranModule syn region fortranModule transparent fold keepend start="^\s*submodule\s\+(\a\w*\s*\(:\a\w*\s*\)*)\s*\z\(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\\)\=\|$\)" contains=ALLBUT,fortranProgram,fortranModule -- cgit v1.2.3