diff --git a/syntax/snippets.vim b/syntax/snippets.vim index 33ab808..9521854 100644 --- a/syntax/snippets.vim +++ b/syntax/snippets.vim @@ -5,30 +5,41 @@ syn match snipComment "^#.*" syn match snipString '"[^"]*"' syn match snipTabsOnly "^\t\+$" -syn match snipKeyword "\<\(end\)\?\(snippet\|global\)\>" contained +syn match snipKeyword "\(\<\(end\)\?\(snippet\|global\)\>\)\|extends" contained + +" extends definitions +syn match snipExtends "^extends.*" contains=snipKeyword " snippet definitions syn match snipStart "^snippet.*" contained contains=snipKeyword,snipString syn match snipEnd "^endsnippet" contained contains=snipKeyword -syn region snippet fold keepend start="^snippet" end="^endsnippet" contains=snipStart,snipEnd,snipTabsOnly +syn region snipCommand contained keepend start="`" end="`" +syn match snipVar "\$\d" contained +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,snipCommand,snipVarExpansion,snipVar " global definitions syn match snipGlobalStart "^global.*" contained contains=snipKeyword,snipString syn match snipGlobalEnd "^endglobal" contained contains=snipKeyword -syn region snipGlobal fold keepend start="^global" end="^endglobal" contains=snipGlobalStart,snipGlobalEnd,snipTabsOnly +syn region snipGlobal fold keepend start="^global" end="^endglobal" contains=snipGlobalStart,snipGlobalEnd,snipTabsOnly,snipCommand,snipVarExpansion,snipVar " highlighting rules -hi link snipComment Comment -hi link snipString String -hi link snipTabsOnly Error +hi link snipComment Comment +hi link snipString String +hi link snipTabsOnly Error -hi link snipKeyword Keyword +hi link snipKeyword Keyword -hi link snipStart Statement -hi link snipEnd Statement -hi link snippet Normal +hi link snipExtends Statement -hi link snipGlobalStart Statement -hi link snipGlobalEnd Statement -hi link snipGlobal Normal +hi link snipStart Statement +hi link snipEnd Statement +hi link snipCommand Special +hi link snipVar Define +hi link snipVarExpansion Normal +hi link snippet Normal + +hi link snipGlobalStart Statement +hi link snipGlobalEnd Statement +hi link snipGlobal Normal