Files
Doug Kearns 9e4e00710c patch 9.2.0910: runtime(vim): Update syntax, contain Ex commands
Problem:  Vim Syntax Script can be improved
Solution: Rework syntax script, update syntax tests and unit tests
          (Doug Kearns).

- Contain Ex commands to valid syntactic contexts.
- Add full address (:range) matching.
- Match :Next, :Print, :X, :global, :&, :~, :>, :<, :# and := commands.
- Match text input commands with folding.

Use :syn-keyword to match all commands except when immediately following
\w range characters where :syn-match is employed.

fixes:  #20250 (variables with s_ prefix are wrongly highlighted)
fixes:  #17543 (do not highlight vim commands within :runtime)
fixes:  #16937 (do not highlight vim commands after packadd)
fixes:  #14895 (incorrect highlighting of Vim syntax)
fixes:  #14020 (insert commands)
closes: #19331

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-04 21:00:38 +00:00

200 lines
1.4 KiB
VimL

" Vim :append command
" VIM_TEST_SETUP let g:vimsyn_folding = "T"
" VIM_TEST_SETUP setl fdc=2 fdl=999 fdm=syntax
" NOTE: legacy Vim script only
append
.
append!
.
append | line0
.
append! | line0
.
append
line1
line2
.
append!
line1
line2
.
append " comment
line1
line2
.
append! " comment
line1
line2
.
append | line0
line1
line2
.
append! | line0
line1
line2
.
append | " line0 of input text
line1
line2
.
append! | " line0 of input text
line1
line2
.
append | echo "line0 of input text"
line0
line2
.
append! | echo "line0 of input text"
line1
line2
.
" empty first line
append
.
append!
.
append
line2
.
append!
line2
.
append " comment
line2
.
append! " comment
line2
.
append | line0
line2
.
append! | line0
line2
.
append | " line0 of input text
line2
.
append! | " line0 of input text
line2
.
append | echo "line0 of input text"
line2
.
append! | echo "line0 of input text"
line2
.
" no early termination
" NOTE: 'autoindent' end marker not supported
append
.
.
.
.
function Foo()
append
.
.
.
.
append!
.
.
.
.
append " comment
.
.
.
.
append! " comment
.
.
.
.
append | line0
.
.
.
.
append! | line0
.
.
.
.
append
endfunction
.
append!
ndfunction
.
append " comment
endfunction
.
append! " comment
endfunction
.
append | line0
endfunction
.
append! | line0
endfuncion
.
endfunction