diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 08:50:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 08:50:31 +0000 |
commit | aed8ce9da277f5ecffe968b324f242c41c3b752a (patch) | |
tree | d2e538394cb7a8a7c42a4aac6ccf1a8e3256999b /runtime/syntax/treetop.vim | |
parent | Initial commit. (diff) | |
download | vim-aed8ce9da277f5ecffe968b324f242c41c3b752a.tar.xz vim-aed8ce9da277f5ecffe968b324f242c41c3b752a.zip |
Adding upstream version 2:9.0.1378.upstream/2%9.0.1378upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'runtime/syntax/treetop.vim')
-rw-r--r-- | runtime/syntax/treetop.vim | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/runtime/syntax/treetop.vim b/runtime/syntax/treetop.vim new file mode 100644 index 0000000..60bbf26 --- /dev/null +++ b/runtime/syntax/treetop.vim @@ -0,0 +1,110 @@ +" Vim syntax file +" Language: Treetop +" Previous Maintainer: Nikolai Weibull <now@bitwi.se> +" Latest Revision: 2011-03-14 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword treetopTodo + \ contained + \ TODO + \ FIXME + \ XXX + \ NOTE + +syn match treetopComment + \ '#.*' + \ display + \ contains=treetopTodo + +syn include @treetopRuby syntax/ruby.vim +unlet b:current_syntax + +syn keyword treetopKeyword + \ require + \ end +syn region treetopKeyword + \ matchgroup=treetopKeyword + \ start='\<\%(grammar\|include\|module\)\>\ze\s' + \ end='$' + \ transparent + \ oneline + \ keepend + \ contains=@treetopRuby +syn keyword treetopKeyword + \ rule + \ nextgroup=treetopRuleName + \ skipwhite skipnl + +syn match treetopGrammarName + \ '\u\w*' + \ contained + +syn match treetopRubyModuleName + \ '\u\w*' + \ contained + +syn match treetopRuleName + \ '\h\w*' + \ contained + +syn region treetopString + \ matchgroup=treetopStringDelimiter + \ start=+"+ + \ end=+"+ +syn region treetopString + \ matchgroup=treetopStringDelimiter + \ start=+'+ + \ end=+'+ + +syn region treetopCharacterClass + \ matchgroup=treetopCharacterClassDelimiter + \ start=+\[+ + \ skip=+\\\]+ + \ end=+\]+ + +syn region treetopRubyBlock + \ matchgroup=treetopRubyBlockDelimiter + \ start=+{+ + \ end=+}+ + \ contains=@treetopRuby + +syn region treetopSemanticPredicate + \ matchgroup=treetopSemanticPredicateDelimiter + \ start=+[!&]{+ + \ end=+}+ + \ contains=@treetopRuby + +syn region treetopSubclassDeclaration + \ matchgroup=treetopSubclassDeclarationDelimiter + \ start=+<+ + \ end=+>+ + \ contains=@treetopRuby + +syn match treetopEllipsis + \ +''+ + +hi def link treetopTodo Todo +hi def link treetopComment Comment +hi def link treetopKeyword Keyword +hi def link treetopGrammarName Constant +hi def link treetopRubyModuleName Constant +hi def link treetopRuleName Identifier +hi def link treetopString String +hi def link treetopStringDelimiter treetopString +hi def link treetopCharacterClass treetopString +hi def link treetopCharacterClassDelimiter treetopCharacterClass +hi def link treetopRubyBlockDelimiter PreProc +hi def link treetopSemanticPredicateDelimiter PreProc +hi def link treetopSubclassDeclarationDelimiter PreProc +hi def link treetopEllipsis Special + +let b:current_syntax = 'treetop' + +let &cpo = s:cpo_save +unlet s:cpo_save |