2024-01-29 04:54:08 +11:00
|
|
|
" 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
|
2024-01-05 08:58:48 +11:00
|
|
|
|
|
|
|
syn keyword testKeyword
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ OPTIONS
|
|
|
|
"\ conceal option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ conceal
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ cchar option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ cchar=&
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ contained option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ contained
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ containedin option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ containedin=testContainer
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ nextgroup option
|
|
|
|
\ nextgroup=testNext0,@testCluster
|
|
|
|
"\ transparent option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ transparent
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ skipwhite option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ skipwhite
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ skipempty option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ skipempty
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ skipnl option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ skipnl
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ KEYWORDS LIST
|
|
|
|
"\ keyword 1
|
2024-01-05 08:58:48 +11:00
|
|
|
\ keyword1
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ keyword 2
|
2024-01-05 08:58:48 +11:00
|
|
|
\ keyword2
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ keyword 3
|
2024-01-05 08:58:48 +11:00
|
|
|
\ keyword3
|
|
|
|
|
|
|
|
syn match testMatch
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ MATCH PATTERN
|
|
|
|
"\ pattern start
|
|
|
|
\ /
|
|
|
|
"\ part 1 description
|
|
|
|
\pat1a .* pat1b
|
|
|
|
"\ part 2 description
|
|
|
|
\pat2a .* pat2b
|
|
|
|
"\ part 3 description
|
|
|
|
\pat3a .* pat3b
|
|
|
|
"\ pattern end
|
|
|
|
\/
|
|
|
|
"\ OPTIONS
|
|
|
|
"\ conceal option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ conceal
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ cchar option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ cchar=&
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ contained option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ contained
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ containedin option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ containedin=testContainer
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ nextgroup option
|
|
|
|
\ nextgroup=testNext0,@testCluster
|
|
|
|
"\ transparent option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ transparent
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ skipwhite option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ skipwhite
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ skipempty option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ skipempty
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ skipnl option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ skipnl
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ contains option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ contains=testContained1,testContained2
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ fold option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ fold
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ display option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ display
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ extend option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ extend
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ excludenl option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ excludenl
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ keepend option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ keepend
|
|
|
|
|
|
|
|
syn region testRegion
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ OPTIONS
|
|
|
|
"\ start option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ start="start-pattern"
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ skip option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ skip="skip-pattern"
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ end option
|
|
|
|
\ end="end-pattern"
|
|
|
|
"\ conceal option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ conceal
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ cchar option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ cchar=&
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ contained option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ contained
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ containedin option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ containedin=testContainer
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ nextgroup option
|
|
|
|
\ nextgroup=testNext0,@testCluster
|
|
|
|
"\ transparent option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ transparent
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ skipwhite option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ skipwhite
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ skipempty option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ skipempty
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ skipnl option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ skipnl
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ contains option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ contains=testContained1,testContained2
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ oneline option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ oneline
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ fold option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ fold
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ display option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ display
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ extend option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ extend
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ concealends option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ concealends
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ excludenl option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ excludenl
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ keepend option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ keepend
|
|
|
|
|
|
|
|
syn cluster testCluster
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ OPTIONS
|
|
|
|
"\ contains option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ contains=testContained1,testContained2,testContained3
|
|
|
|
|
|
|
|
syn cluster testCluster
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ OPTIONS
|
|
|
|
"\ add option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ add=testAdd
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ remove option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ remove=testRemove
|
|
|
|
|
|
|
|
|
2024-01-29 04:54:08 +11:00
|
|
|
" 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
|
|
|
|
|
2024-01-05 08:58:48 +11:00
|
|
|
syn keyword testKeyword
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ nextgroup option
|
2024-01-05 08:58:48 +11:00
|
|
|
\ nextgroup=
|
2024-01-29 04:54:08 +11:00
|
|
|
"\ a comment
|
|
|
|
\ testNext0 , testNext1 ,
|
|
|
|
"\ a comment
|
|
|
|
\ testNext[2-8].* ,
|
|
|
|
"\ a comment
|
|
|
|
\ testNext9 , @testCluster skipwhite
|
|
|
|
"\ KEYWORDS LIST
|
2024-01-05 08:58:48 +11:00
|
|
|
\ keyword4
|
|
|
|
\ keyword5
|
|
|
|
\ keyword6
|
2024-01-29 04:54:08 +11:00
|
|
|
|
2024-03-05 05:15:42 +11:00
|
|
|
|
|
|
|
" leaking contained groups
|
|
|
|
|
|
|
|
" Example: runtime/syntax/zsh.vim
|
|
|
|
" "cluster" should not be highlighted outside of :syntax commands
|
|
|
|
|
|
|
|
function! s:ContainedGroup()
|
|
|
|
" ...
|
|
|
|
for cluster in ['markdownHighlight_zsh', 'zsh']
|
|
|
|
" ...
|
|
|
|
endfor
|
|
|
|
" ...
|
|
|
|
endfunction
|