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

65 lines
847 B
VimL

" Vim :echo commands
echo "Answer = " 42
echon "Answer = " 42
echomsg "Answer = " 42
echowindow "Answer = " 42
echoerr "Answer = " 42
echoconsole "Answer = " 42
" Trailing bar vs OR operator
" OR operator
echo foo || bar
echo foo ||
\ bar
" following command is :|
echo "Foo" | |
" invalid expression
echo "Foo" ||
echohl WarningMsg | echo "Don't panic!" | echohl None
" Line continuations
echo "Answer = "
"\ comment
\ 42
echo
\ "Answer = "
"\ comment
\ 42
echo "Foo"
\| echo "bar"
echo "Foo"|
\ echo "bar"
" Trailing bar and comments
" :echo without {expr}
echo| echo "Foo"
" trailing comment needs |
echo "Foo" | " comment
" Issue #9987 (parenthesised argument - not a function call)
let foo = {'end': 123}
if 123
echo (foo.end)
else
echo 'bar'
endif