mirror of
https://github.com/vim/vim.git
synced 2026-10-25 09:15:52 +01: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>
93 lines
937 B
VimL
93 lines
937 B
VimL
" Vim :# and :number commands
|
|
|
|
|
|
#
|
|
# 42
|
|
# l
|
|
# p
|
|
# #
|
|
|
|
# lp#
|
|
|
|
# 42 l
|
|
# 42 p
|
|
# 42 #
|
|
|
|
# 42 lp#
|
|
|
|
|
|
# | echo "..."
|
|
# " comment
|
|
# 42 | echo "..."
|
|
# 42 " comment
|
|
# l | echo "..."
|
|
# l " comment
|
|
|
|
|
|
number
|
|
number 42
|
|
number l
|
|
number p
|
|
number #
|
|
|
|
number lp#
|
|
|
|
number 42 l
|
|
number 42 p
|
|
number 42 #
|
|
|
|
number 42 lp#
|
|
|
|
number | echo "..."
|
|
number " comment
|
|
number 42 | echo "..."
|
|
number 42 " comment
|
|
number l | echo "..."
|
|
number l " comment
|
|
|
|
def Vim9Context()
|
|
:#
|
|
:# 42
|
|
:# l
|
|
:# p
|
|
:# #
|
|
|
|
:# lp#
|
|
|
|
:# 42 l
|
|
:# 42 p
|
|
:# 42 #
|
|
|
|
:# 42 lp#
|
|
|
|
:# | echo "..."
|
|
:# # comment
|
|
:# 42 | echo "..."
|
|
:# 42 # comment
|
|
:# l | echo "..."
|
|
:# l # comment
|
|
|
|
|
|
number
|
|
number 42
|
|
number l
|
|
number p
|
|
number #
|
|
|
|
number lp#
|
|
|
|
number 42 l
|
|
number 42 p
|
|
number 42 #
|
|
|
|
number 42 lp#
|
|
|
|
number | echo "..."
|
|
number # comment
|
|
number 42 | echo "..."
|
|
number 42 # comment
|
|
number l | echo "..."
|
|
number l # comment
|
|
enddef
|
|
|