comparison runtime/syntax/treetop.vim @ 2725:6f63330ec225

Updated runtime files.
author Bram Moolenaar <bram@vim.org>
date Tue, 22 Mar 2011 14:05:35 +0100
parents
children 1218c5353e2b
comparison
equal deleted inserted replaced
2724:96a7b564c2f3 2725:6f63330ec225
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