Add hierarchy to syntax file
Redo comments with fold markers to provide an appropriate hierarchy to the syntax file itself.
This commit is contained in:
parent
739e3d94ad
commit
672117c478
@ -5,6 +5,8 @@ if exists("b:current_syntax")
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Embedded Syntaxes {{{1
|
||||||
|
|
||||||
syntax include @Python syntax/python.vim
|
syntax include @Python syntax/python.vim
|
||||||
unlet b:current_syntax
|
unlet b:current_syntax
|
||||||
syntax include @Viml syntax/vim.vim
|
syntax include @Viml syntax/vim.vim
|
||||||
@ -12,10 +14,15 @@ unlet b:current_syntax
|
|||||||
syntax include @Shell syntax/sh.vim
|
syntax include @Shell syntax/sh.vim
|
||||||
unlet b:current_syntax
|
unlet b:current_syntax
|
||||||
|
|
||||||
" global matches
|
" Syntax definitions {{{1
|
||||||
|
|
||||||
|
" Comments {{{2
|
||||||
|
|
||||||
syn match snipComment "^#.*" contains=snipTODO
|
syn match snipComment "^#.*" contains=snipTODO
|
||||||
syn keyword snipTODO FIXME NOTE NOTES TODO XXX contained
|
syn keyword snipTODO FIXME NOTE NOTES TODO XXX contained
|
||||||
|
|
||||||
|
" Miscellaneous {{{2
|
||||||
|
|
||||||
syn match snipDocString '"[^"]*"$'
|
syn match snipDocString '"[^"]*"$'
|
||||||
syn match snipString '"[^"]*"'
|
syn match snipString '"[^"]*"'
|
||||||
syn match snipTabsOnly "^\t\+$"
|
syn match snipTabsOnly "^\t\+$"
|
||||||
@ -23,33 +30,47 @@ syn match snipLeadingSpaces "^\t* \+"
|
|||||||
|
|
||||||
syn match snipKeyword "\(\<\(end\)\?\(snippet\|global\)\>\)\|extends\|clearsnippets\|priority" contained
|
syn match snipKeyword "\(\<\(end\)\?\(snippet\|global\)\>\)\|extends\|clearsnippets\|priority" contained
|
||||||
|
|
||||||
" extends definitions
|
" Extends {{{2
|
||||||
|
|
||||||
syn match snipExtends "^extends.*" contains=snipKeyword
|
syn match snipExtends "^extends.*" contains=snipKeyword
|
||||||
|
|
||||||
" snippet definitions
|
" Definitions {{{2
|
||||||
|
|
||||||
|
" snippet {{{3
|
||||||
|
|
||||||
|
syn region snipSnippet fold keepend start="^snippet" end="^endsnippet" contains=snipStart,snipEnd,snipTabsOnly,snipLeadingSpaces,snipCommand,snipVarExpansion,snipVar,snipVisual
|
||||||
|
|
||||||
syn match snipStart "^snippet.*" contained contains=snipKeyword,snipDocString
|
syn match snipStart "^snippet.*" contained contains=snipKeyword,snipDocString
|
||||||
syn match snipEnd "^endsnippet" contained contains=snipKeyword
|
syn match snipEnd "^endsnippet" contained contains=snipKeyword
|
||||||
|
|
||||||
|
" Command substitution {{{4
|
||||||
|
|
||||||
syn region snipCommand keepend matchgroup=snipCommandDelim start="`" skip="\\[{}\\$`]" end="`" contains=snipPythonCommand,snipVimLCommand,snipShellCommand
|
syn region snipCommand keepend matchgroup=snipCommandDelim start="`" skip="\\[{}\\$`]" end="`" contains=snipPythonCommand,snipVimLCommand,snipShellCommand
|
||||||
syn region snipShellCommand start="\ze\_." skip="\\[{}\\$`]" end="\ze`" contained contains=@Shell
|
syn region snipShellCommand start="\ze\_." skip="\\[{}\\$`]" end="\ze`" contained contains=@Shell
|
||||||
syn region snipPythonCommand matchgroup=snipPythonCommandP start="`\@<=!p\_s" skip="\\[{}\\$`]" end="\ze`" contained contains=@Python
|
syn region snipPythonCommand matchgroup=snipPythonCommandP start="`\@<=!p\_s" skip="\\[{}\\$`]" end="\ze`" contained contains=@Python
|
||||||
syn region snipVimLCommand matchgroup=snipVimLCommandV start="`\@<=!v\_s" skip="\\[{}\\$`]" end="\ze`" contained contains=@Viml
|
syn region snipVimLCommand matchgroup=snipVimLCommandV start="`\@<=!v\_s" skip="\\[{}\\$`]" end="\ze`" contained contains=@Viml
|
||||||
|
|
||||||
|
" Variables {{{4
|
||||||
|
|
||||||
syn match snipVar "\$\d*" contained
|
syn match snipVar "\$\d*" contained
|
||||||
syn region snipVisual matchgroup=Define start="\${VISUAL" end="}" contained
|
syn region snipVisual matchgroup=Define start="\${VISUAL" end="}" contained
|
||||||
syn region snipVarExpansion matchgroup=Define start="\${\d*" end="}" contained contains=snipVar,snipVarExpansion,snipCommand
|
syn region snipVarExpansion matchgroup=Define start="\${\d*" end="}" contained contains=snipVar,snipVarExpansion,snipCommand
|
||||||
syn region snippet fold keepend start="^snippet" end="^endsnippet" contains=snipStart,snipEnd,snipTabsOnly,snipLeadingSpaces,snipCommand,snipVarExpansion,snipVar,snipVisual
|
|
||||||
|
|
||||||
" global definitions
|
" global {{{3
|
||||||
|
|
||||||
syn match snipGlobalStart "^global.*" contained contains=snipKeyword,snipString
|
syn match snipGlobalStart "^global.*" contained contains=snipKeyword,snipString
|
||||||
syn match snipGlobalEnd "^endglobal" contained contains=snipKeyword
|
syn match snipGlobalEnd "^endglobal" contained contains=snipKeyword
|
||||||
syn region snipGlobal fold keepend start="^global" end="^endglobal" contains=snipGlobalStart,snipGlobalEnd,snipLeadingSpaces,snipTabsOnly,snipCommand,snipVarExpansion,snipVar,@Python
|
syn region snipGlobal fold keepend start="^global" end="^endglobal" contains=snipGlobalStart,snipGlobalEnd,snipLeadingSpaces,snipTabsOnly,snipCommand,snipVarExpansion,snipVar,@Python
|
||||||
|
|
||||||
" snippet clearing
|
" priority {{{3
|
||||||
syn match snipClear "^clearsnippets"
|
|
||||||
syn match snipPriority "^priority"
|
syn match snipPriority "^priority"
|
||||||
|
|
||||||
" highlighting rules
|
" Snippt Clearing {{{2
|
||||||
|
|
||||||
|
syn match snipClear "^clearsnippets"
|
||||||
|
|
||||||
|
" Highlight groups {{{1
|
||||||
|
|
||||||
hi def link snipComment Comment
|
hi def link snipComment Comment
|
||||||
hi def link snipLeadingSpaces Error
|
hi def link snipLeadingSpaces Error
|
||||||
@ -75,7 +96,7 @@ hi def link snipVimLCommandV PreProc
|
|||||||
hi def link snipVar StorageClass
|
hi def link snipVar StorageClass
|
||||||
hi def link snipVarExpansion Normal
|
hi def link snipVarExpansion Normal
|
||||||
hi def link snipVisual Normal
|
hi def link snipVisual Normal
|
||||||
hi def link snippet Normal
|
hi def link snipSnippet Normal
|
||||||
|
|
||||||
hi def link snipGlobalStart Statement
|
hi def link snipGlobalStart Statement
|
||||||
hi def link snipGlobalEnd Statement
|
hi def link snipGlobalEnd Statement
|
||||||
@ -84,4 +105,6 @@ hi def link snipGlobal Normal
|
|||||||
hi def link snipClear Statement
|
hi def link snipClear Statement
|
||||||
hi def link snipPriority Statement
|
hi def link snipPriority Statement
|
||||||
|
|
||||||
|
" }}}1
|
||||||
|
|
||||||
let b:current_syntax = "snippets"
|
let b:current_syntax = "snippets"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user