mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-10-14 00:50:09 +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>
87 lines
793 B
VimL
87 lines
793 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
|