summaryrefslogtreecommitdiffstats
path: root/runtime/syntax
diff options
context:
space:
mode:
authorAjit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>2023-12-29 11:29:43 -0400
committerGitHub <noreply@github.com>2023-12-29 16:29:43 +0100
commitd96f25bd69c14bc257281a580f344240c72f4999 (patch)
treea6241eaebca733c6e27828ab64abb83187de1228 /runtime/syntax
parent7e4f62a2575e8ce9ebb842d4246288138b11dff3 (diff)
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 <e-kwsm@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org> * Update Fortran section of syntax.txt * Runtime (Fortran) Fix regression * Combine two expressions
Diffstat (limited to 'runtime/syntax')
-rw-r--r--runtime/syntax/fortran.vim9
1 files changed, 6 insertions, 3 deletions
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 <ajit@unb.ca>; <https://ajit.ext.unb.ca/>
" Joshua Hollett <j.hollett@uwinnipeg.ca>
" 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 "\<do\>"
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="\<end\s*\(program\(\s\+\z1\>\)\=\|$\)" 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="\<end\s*\(submodule\(\s\+\z1\>\)\=\|$\)" contains=ALLBUT,fortranProgram,fortranModule