mirror of
https://github.com/vim/vim.git
synced 2026-10-20 06:18:56 +02:00
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>
88 lines
784 B
VimL
88 lines
784 B
VimL
" Vim :< command
|
|
|
|
<
|
|
<<
|
|
<<<
|
|
|
|
< <
|
|
< < <
|
|
|
|
< 42
|
|
<< 42
|
|
<<< 42
|
|
|
|
< l
|
|
< p
|
|
< #
|
|
<< l
|
|
<< p
|
|
<< #
|
|
|
|
< lp#
|
|
<< lp#
|
|
|
|
< 42 l
|
|
< 42 p
|
|
< 42 #
|
|
<< 42 l
|
|
<< 42 p
|
|
<< 42 #
|
|
|
|
< 42 lp#
|
|
<< 42 lp#
|
|
|
|
< | echo "..."
|
|
< " comment
|
|
< < | echo "..."
|
|
< < " comment
|
|
< 42 | echo "..."
|
|
< 42 " comment
|
|
< l | echo "..."
|
|
< l " comment
|
|
|
|
|
|
def Vim9Context()
|
|
# FIXME: differentiate operator and command when operators are contained
|
|
# <
|
|
:<
|
|
:< <
|
|
:< <<
|
|
|
|
:< <
|
|
:< < <
|
|
|
|
:< 42
|
|
:< < 42
|
|
:< << 42
|
|
|
|
:< l
|
|
:< p
|
|
:< #
|
|
:< < l
|
|
:< < p
|
|
:< < #
|
|
|
|
:< lp#
|
|
:< < lp#
|
|
|
|
:< 42 l
|
|
:< 42 p
|
|
:< 42 #
|
|
:< < 42 l
|
|
:< < 42 p
|
|
:< < 42 #
|
|
|
|
:< 42 lp#
|
|
:<< 42 lp#
|
|
|
|
:< | echo "..."
|
|
:< # comment
|
|
:< < | echo "..."
|
|
:< < # comment
|
|
:< 42 | echo "..."
|
|
:< 42 # comment
|
|
:< l | echo "..."
|
|
:< l # comment
|
|
enddef
|
|
|