home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / syntax / treetop.vim < prev    next >
Encoding:
Text File  |  2011-05-27  |  3.7 KB  |  111 lines

  1. " Vim syntax file
  2. " Language:         Treetop
  3. " Maintainer:       Nikolai Weibull <now@bitwi.se>
  4. " Latest Revision:  2011-03-14
  5.  
  6. if exists("b:current_syntax")
  7.   finish
  8. endif
  9.  
  10. let s:cpo_save = &cpo
  11. set cpo&vim
  12.  
  13. syn keyword treetopTodo
  14.       \ contained
  15.       \ TODO
  16.       \ FIXME
  17.       \ XXX
  18.       \ NOTE
  19.  
  20. syn match treetopComment
  21.                         \ '#.*'
  22.                         \ display
  23.                         \ contains=treetopTodo
  24.  
  25. syn include @treetopRuby syntax/ruby.vim
  26. unlet b:current_syntax
  27.  
  28. syn keyword treetopKeyword
  29.                          \ require
  30.                          \ end
  31. syn region  treetopKeyword
  32.                          \ matchgroup=treetopKeyword
  33.                          \ start='\<\%(grammar\|include\|module\)\>\ze\s'
  34.                          \ end='$'
  35.                          \ transparent
  36.                          \ oneline
  37.                          \ keepend
  38.                          \ contains=@treetopRuby
  39. syn keyword treetopKeyword
  40.                          \ rule
  41.                          \ nextgroup=treetopRuleName
  42.                          \ skipwhite skipnl
  43.  
  44. syn match   treetopGrammarName
  45.                              \ '\u\w*'
  46.                              \ contained
  47.  
  48. syn match   treetopRubyModuleName
  49.                                 \ '\u\w*'
  50.                                 \ contained
  51.  
  52. syn match   treetopRuleName
  53.                           \ '\h\w*'
  54.                           \ contained
  55.  
  56. syn region  treetopString
  57.                         \ matchgroup=treetopStringDelimiter
  58.                         \ start=+"+
  59.                         \ end=+"+
  60. syn region  treetopString
  61.                         \ matchgroup=treetopStringDelimiter
  62.                         \ start=+'+
  63.                         \ end=+'+
  64.  
  65. syn region  treetopCharacterClass
  66.                                 \ matchgroup=treetopCharacterClassDelimiter
  67.                                 \ start=+\[+
  68.                                 \ skip=+\\\]+
  69.                                 \ end=+\]+
  70.  
  71. syn region  treetopRubyBlock
  72.                            \ matchgroup=treetopRubyBlockDelimiter
  73.                            \ start=+{+
  74.                            \ end=+}+
  75.                            \ contains=@treetopRuby
  76.  
  77. syn region  treetopSemanticPredicate
  78.                            \ matchgroup=treetopSemanticPredicateDelimiter
  79.                            \ start=+[!&]{+
  80.                            \ end=+}+
  81.                            \ contains=@treetopRuby
  82.  
  83. syn region  treetopSubclassDeclaration
  84.                            \ matchgroup=treetopSubclassDeclarationDelimiter
  85.                            \ start=+<+
  86.                            \ end=+>+
  87.                            \ contains=@treetopRuby
  88.  
  89. syn match   treetopEllipsis
  90.                           \ +''+
  91.  
  92. hi def link treetopTodo                         Todo
  93. hi def link treetopComment                      Comment
  94. hi def link treetopKeyword                      Keyword
  95. hi def link treetopGrammarName                  Constant
  96. hi def link treetopRubyModuleName               Constant
  97. hi def link treetopRuleName                     Identifier
  98. hi def link treetopString                       String
  99. hi def link treetopStringDelimiter              treetopString
  100. hi def link treetopCharacterClass               treetopString
  101. hi def link treetopCharacterClassDelimiter      treetopCharacterClass
  102. hi def link treetopRubyBlockDelimiter           PreProc
  103. hi def link treetopSemanticPredicateDelimiter   PreProc
  104. hi def link treetopSubclassDeclarationDelimiter PreProc
  105. hi def link treetopEllipsis                     Special
  106.  
  107. let b:current_syntax = 'treetop'
  108.  
  109. let &cpo = s:cpo_save
  110. unlet s:cpo_save
  111.