mirror of
https://github.com/vim/vim
synced 2025-05-02 22:37:47 +02:00
- Highlight missing :syntax subcommands. - Don't highlight user specified syntax group names. closes: #16847 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
271 lines
5.8 KiB
VimL
271 lines
5.8 KiB
VimL
" Vim :syntax command
|
|
|
|
|
|
" :syn-case
|
|
|
|
syntax case
|
|
syntax case match
|
|
syntax case ignore
|
|
|
|
" :syn-conceal
|
|
|
|
syntax conceal
|
|
syntax conceal on
|
|
syntax conceal off
|
|
|
|
" :syn-foldlevel
|
|
|
|
syntax foldlevel
|
|
syntax foldlevel start
|
|
syntax foldlevel minimum
|
|
|
|
" :syn-iskeyword
|
|
|
|
syntax iskeyword
|
|
syntax iskeyword clear
|
|
syntax iskeyword @,48-57,192-255,$,_
|
|
|
|
" :syn-list
|
|
|
|
syntax list
|
|
syntax list Foo
|
|
syntax list @Bar
|
|
|
|
" :syn-spell
|
|
|
|
syntax spell
|
|
syntax spell toplevel
|
|
syntax spell notoplevel
|
|
syntax spell default
|
|
|
|
" :syn-sync-ccomment
|
|
|
|
syntax sync ccomment
|
|
syntax sync ccomment Foo
|
|
syntax sync ccomment minlines=42 maxlines=42 linebreaks=1 linecont "pattern"
|
|
syntax sync ccomment Foo minlines=42 maxlines=42 linebreaks=1 linecont "pattern"
|
|
|
|
" :syn-sync-fromstart
|
|
|
|
syntax sync fromstart
|
|
syntax sync fromstart minlines=42 maxlines=42 linebreaks=1 linecont "pattern"
|
|
|
|
" :syn-sync-linebreaks
|
|
|
|
syntax sync linebreaks=1
|
|
syntax sync linebreaks=1 minlines=42 maxlines=42 linecont "pattern"
|
|
|
|
" :syn-sync-linecont
|
|
|
|
syntax sync linecont "pattern"
|
|
syntax sync linecont "pattern" minlines=42 maxlines=42 linebreaks=1
|
|
|
|
" :syn-sync-(min|max)lines
|
|
|
|
syntax sync minlines=42 maxlines=42
|
|
syntax sync minlines=42 maxlines=42 linebreaks=1 linecont "pattern"
|
|
" obsolete
|
|
syntax sync lines=42
|
|
|
|
" :syn-sync sync patterns
|
|
|
|
syntax sync match testSyncMatch grouphere testFoo "pattern"
|
|
syntax sync match testSyncMatch groupthere testBar "pattern"
|
|
syntax sync match testSyncMatch grouphere NONE "pattern"
|
|
syntax sync match testSyncMatch groupthere NONE "pattern"
|
|
|
|
" :syn-sync skip groups
|
|
|
|
syn sync match testMatch "pattern"
|
|
syn sync region testRegion start="start-pattern" skip="skip-pattern" end="end-pattern"
|
|
|
|
" :syn-sync-clear
|
|
|
|
syntax sync clear
|
|
syntax sync clear Foo
|
|
|
|
" tail comments are not explicitly supported by :syntax, see :help :comment
|
|
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 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
|
|
"\ 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 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"
|
|
"\ skip option
|
|
\ skip="skip-pattern"
|
|
"\ end option
|
|
\ end="end-pattern"
|
|
"\ conceal option
|
|
\ conceal
|
|
"\ cchar option
|
|
\ cchar=&
|
|
"\ contained option
|
|
\ contained
|
|
"\ containedin option
|
|
\ containedin=testContainer
|
|
"\ 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
|
|
|
|
|
|
" 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=
|
|
"\ a comment
|
|
\ testNext0 , testNext1 ,
|
|
"\ a comment
|
|
\ testNext[2-8].* ,
|
|
"\ a comment
|
|
\ testNext9 , @testCluster skipwhite
|
|
"\ KEYWORDS LIST
|
|
\ keyword4
|
|
\ keyword5
|
|
\ keyword6
|
|
|
|
|
|
" 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
|
|
|
|
" early termination of vimSynRegion
|
|
|
|
syn region testRegion
|
|
"\ | does not end the args region
|
|
"\ start="foo\|bar"
|
|
\ start="start"
|
|
\ end="end"
|
|
|