summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/testdir/input
diff options
context:
space:
mode:
authordkearns <dougkearns@gmail.com>2024-01-29 04:54:08 +1100
committerGitHub <noreply@github.com>2024-01-28 18:54:08 +0100
commit21ce159e05615fd139c564b734a4bffc9f3fdc4b (patch)
tree1a56987d736a874adfd899e9e9c1598a49a4fb6c /runtime/syntax/testdir/input
parent0cc6108fea216f597e38d1a88463fa6f28aded61 (diff)
runtime(vim): Update syntax and ftplugin files (#13924)
Improve matching of line-continuations and interspersed comments. These are now also matched in multiline syntax command patterns, dictionary literals, and parenthesised expressions and argument lists. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'runtime/syntax/testdir/input')
-rw-r--r--runtime/syntax/testdir/input/vim_line_continuation.vim49
-rw-r--r--runtime/syntax/testdir/input/vim_syntax.vim113
2 files changed, 150 insertions, 12 deletions
diff --git a/runtime/syntax/testdir/input/vim_line_continuation.vim b/runtime/syntax/testdir/input/vim_line_continuation.vim
new file mode 100644
index 0000000000..a32666af34
--- /dev/null
+++ b/runtime/syntax/testdir/input/vim_line_continuation.vim
@@ -0,0 +1,49 @@
+" Vim line continuations with interspersed comments
+
+function Foo(
+ "\ param a
+ \ a,
+ "\ param b
+ \ b,
+ "\ param c
+ \ c
+ \)
+ echomsg
+ "\ start string
+ \ $"
+ "\ print a
+ \ a = {a:a},
+ "\ print b
+ \ b = {a:b},
+ "\ print c
+ \ c = {a:c}
+ "\ end string
+ \"
+endfunction
+
+call Foo(
+ "\ arg 1
+ \ 11,
+ "\ arg 2
+ \ 22,
+ "\ arg 3
+ \ 33
+ \)
+
+let dict = #{
+ "\ pair 1
+ \ a: 1,
+ "\ pair 2
+ \ b: 2,
+ "\ pair 3
+ \ c: 3
+ \}
+
+let array = [
+ "\ element 1
+ \ 1,
+ "\ element 2
+ \ 2,
+ "\ element 3
+ \ 3
+ \]
diff --git a/runtime/syntax/testdir/input/vim_syntax.vim b/runtime/syntax/testdir/input/vim_syntax.vim
index e8c112cea8..197d4ac9d9 100644
--- a/runtime/syntax/testdir/input/vim_syntax.vim
+++ b/runtime/syntax/testdir/input/vim_syntax.vim
@@ -1,75 +1,164 @@
-" Vim :syntax highlighting
+" Vim :syntax command
+
+syn match testMatch "pattern" contained " tail comment
+" NOTE: comments not currently supported
+syn keyword testKeyword keyword contained " tail comment
+syn region testRegion start="start-pattern" skip="skip-pattern" end="end-pattern" contained " tail comment
+
+" Multiline commands
syn keyword testKeyword
+ "\ OPTIONS
+ "\ conceal option
\ conceal
+ "\ cchar option
\ cchar=&
+ "\ contained option
\ contained
+ "\ containedin option
\ containedin=testContainer
- \ nextgroup=testNext,@testCluster
+ "\ nextgroup option
+ \ nextgroup=testNext0,@testCluster
+ "\ transparent option
\ transparent
+ "\ skipwhite option
\ skipwhite
+ "\ skipempty option
\ skipempty
+ "\ skipnl option
\ skipnl
+ "\ KEYWORDS LIST
+ "\ keyword 1
\ keyword1
+ "\ keyword 2
\ keyword2
+ "\ keyword 3
\ keyword3
syn match testMatch
- \ "pattern"
+ "\ MATCH PATTERN
+ "\ pattern start
+ \ /
+ "\ part 1 description
+ \pat1a .* pat1b
+ "\ part 2 description
+ \pat2a .* pat2b
+ "\ part 3 description
+ \pat3a .* pat3b
+ "\ pattern end
+ \/
+ "\ OPTIONS
+ "\ conceal option
\ conceal
+ "\ cchar option
\ cchar=&
+ "\ contained option
\ contained
+ "\ containedin option
\ containedin=testContainer
- \ nextgroup=testNext,@testCluster
+ "\ nextgroup option
+ \ nextgroup=testNext0,@testCluster
+ "\ transparent option
\ transparent
+ "\ skipwhite option
\ skipwhite
+ "\ skipempty option
\ skipempty
+ "\ skipnl option
\ skipnl
+ "\ contains option
\ contains=testContained1,testContained2
+ "\ fold option
\ fold
+ "\ display option
\ display
+ "\ extend option
\ extend
+ "\ excludenl option
\ excludenl
+ "\ keepend option
\ keepend
syn region testRegion
+ "\ OPTIONS
+ "\ start option
\ start="start-pattern"
- \ end="end-pattern"
+ "\ skip option
\ skip="skip-pattern"
- \ contained
+ "\ end option
+ \ end="end-pattern"
+ "\ conceal option
\ conceal
+ "\ cchar option
\ cchar=&
+ "\ contained option
\ contained
+ "\ containedin option
\ containedin=testContainer
- \ nextgroup=testNext,@testCluster
+ "\ nextgroup option
+ \ nextgroup=testNext0,@testCluster
+ "\ transparent option
\ transparent
+ "\ skipwhite option
\ skipwhite
+ "\ skipempty option
\ skipempty
+ "\ skipnl option
\ skipnl
+ "\ contains option
\ contains=testContained1,testContained2
+ "\ oneline option
\ oneline
+ "\ fold option
\ fold
+ "\ display option
\ display
+ "\ extend option
\ extend
+ "\ concealends option
\ concealends
+ "\ excludenl option
\ excludenl
+ "\ keepend option
\ keepend
syn cluster testCluster
+ "\ OPTIONS
+ "\ contains option
\ contains=testContained1,testContained2,testContained3
syn cluster testCluster
+ "\ OPTIONS
+ "\ add option
\ add=testAdd
+ "\ remove option
\ remove=testRemove
-" check multiline group list
+" multiline group list
+
+syn keyword testNext0 keyword
+syn keyword testNext1 keyword
+syn keyword testNext2 keyword
+syn keyword testNext3 keyword
+syn keyword testNext4 keyword
+syn keyword testNext5 keyword
+syn keyword testNext6 keyword
+syn keyword testNext7 keyword
+syn keyword testNext8 keyword
+syn keyword testNext9 keyword
+
syn keyword testKeyword
+ "\ nextgroup option
\ nextgroup=
- \ testNext ,
- \ testNext2 ,
- \ @testCluster
- \ skipwhite
+ "\ a comment
+ \ testNext0 , testNext1 ,
+ "\ a comment
+ \ testNext[2-8].* ,
+ "\ a comment
+ \ testNext9 , @testCluster skipwhite
+ "\ KEYWORDS LIST
\ keyword4
\ keyword5
\ keyword6
+