Mercurial > vim
comparison runtime/syntax/udevrules.vim @ 1213:8906c10ecbb0
updated for version 7.1b
author | vimboss |
---|---|
date | Thu, 10 May 2007 18:19:11 +0000 |
parents | 1f3b1021f002 |
children | 1218c5353e2b |
comparison
equal
deleted
inserted
replaced
1212:e085b0f7b036 | 1213:8906c10ecbb0 |
---|---|
1 " Vim syntax file | 1 " Vim syntax file |
2 " Language: udev(8) rules file | 2 " Language: udev(8) rules file |
3 " Maintainer: Nikolai Weibull <now@bitwi.se> | 3 " Maintainer: Nikolai Weibull <now@bitwi.se> |
4 " Latest Revision: 2006-04-19 | 4 " Latest Revision: 2006-12-18 |
5 | 5 |
6 if exists("b:current_syntax") | 6 if exists("b:current_syntax") |
7 finish | 7 finish |
8 endif | 8 endif |
9 | 9 |
10 let s:cpo_save = &cpo | 10 let s:cpo_save = &cpo |
11 set cpo&vim | 11 set cpo&vim |
12 | 12 |
13 " TODO: Line continuations. | |
14 | |
13 syn keyword udevrulesTodo contained TODO FIXME XXX NOTE | 15 syn keyword udevrulesTodo contained TODO FIXME XXX NOTE |
14 | 16 |
15 syn region udevrulesComment display oneline start='^\s*#' end='$' | 17 syn region udevrulesComment display oneline start='^\s*#' end='$' |
16 \ contains=udevrulesTodo,@Spell | 18 \ contains=udevrulesTodo,@Spell |
17 | 19 |
18 syn keyword udevrulesRuleKey BUS KERNEL SUBSYSTEM DRIVER ID RESULT | 20 syn keyword udevrulesRuleKey ACTION DEVPATH KERNEL SUBSYSTEM KERNELS |
19 \ nextgroup=udevrulesRuleEq | 21 \ SUBSYSTEMS DRIVERS RESULT |
22 \ nextgroup=udevrulesRuleTest | |
23 \ skipwhite | |
20 | 24 |
21 syn keyword udevrulesRuleKey SYSFS nextgroup=udevrulesSysFSPath | 25 syn keyword udevrulesRuleKey ATTRS nextgroup=udevrulesAttrsPath |
22 | 26 |
23 syn region udevrulesSysFSPath display transparent | 27 syn region udevrulesAttrsPath display transparent |
24 \ matchgroup=udevrulesDelimiter start='{' | 28 \ matchgroup=udevrulesDelimiter start='{' |
25 \ matchgroup=udevrulesDelimiter end='}' | 29 \ matchgroup=udevrulesDelimiter end='}' |
26 \ contains=udevrulesPath | 30 \ contains=udevrulesPath |
27 \ nextgroup=udevrulesRuleEq | 31 \ nextgroup=udevrulesRuleTest |
32 \ skipwhite | |
28 | 33 |
29 syn keyword udevrulesRuleKey ENV nextgroup=udevrulesEnvVar | 34 syn keyword udevrulesRuleKey ENV nextgroup=udevrulesEnvVar |
30 | 35 |
31 syn region udevrulesEnvVar display transparent | 36 syn region udevrulesEnvVar display transparent |
32 \ matchgroup=udevrulesDelimiter start='{' | 37 \ matchgroup=udevrulesDelimiter start='{' |
33 \ matchgroup=udevrulesDelimiter end='}' | 38 \ matchgroup=udevrulesDelimiter end='}' |
34 \ contains=udevrulesVariable | 39 \ contains=udevrulesVariable |
40 \ nextgroup=udevrulesRuleTest,udevrulesRuleEq | |
41 \ skipwhite | |
42 | |
43 syn keyword udevrulesRuleKey PROGRAM RESULT | |
44 \ nextgroup=udevrulesEStringTest,udevrulesEStringEq | |
45 \ skipwhite | |
46 | |
47 syn keyword udevrulesAssignKey NAME SYMLINK OWNER GROUP RUN | |
48 \ nextgroup=udevrulesEStringEq | |
49 \ skipwhite | |
50 | |
51 syn keyword udevrulesAssignKey MODE LABEL GOTO WAIT_FOR_SYSFS | |
35 \ nextgroup=udevrulesRuleEq | 52 \ nextgroup=udevrulesRuleEq |
53 \ skipwhite | |
36 | 54 |
37 syn keyword udevrulesRuleKey PROGRAM | 55 syn keyword udevrulesAssignKey ATTR nextgroup=udevrulesAttrsPath |
56 | |
57 syn region udevrulesAttrKey display transparent | |
58 \ matchgroup=udevrulesDelimiter start='{' | |
59 \ matchgroup=udevrulesDelimiter end='}' | |
60 \ contains=udevrulesKey | |
61 \ nextgroup=udevrulesRuleEq | |
62 \ skipwhite | |
63 | |
64 syn keyword udevrulesAssignKey IMPORT nextgroup=udevrulesImport, | |
65 \ udevrulesEStringEq | |
66 \ skipwhite | |
67 | |
68 syn region udevrulesImport display transparent | |
69 \ matchgroup=udevrulesDelimiter start='{' | |
70 \ matchgroup=udevrulesDelimiter end='}' | |
71 \ contains=udevrulesImportType | |
38 \ nextgroup=udevrulesEStringEq | 72 \ nextgroup=udevrulesEStringEq |
73 \ skipwhite | |
39 | 74 |
40 syn keyword udevrulesAssignKey NAME SYMLINK OWNER GROUP | 75 syn keyword udevrulesImportType program file parent |
41 \ nextgroup=udevrulesEStringEq | |
42 | |
43 syn keyword udevrulesAssignKey MODE | |
44 \ nextgroup=udevrulesRuleEq | |
45 | 76 |
46 syn keyword udevrulesAssignKey OPTIONS | 77 syn keyword udevrulesAssignKey OPTIONS |
47 \ nextgroup=udevrulesOptionsEq | 78 \ nextgroup=udevrulesOptionsEq |
48 | 79 |
49 syn match udevrulesPath contained display '[^}]\+' | 80 syn match udevrulesPath contained display '[^}]\+' |
50 | 81 |
51 syn match udevrulesVariable contained display '[^}]\+' | 82 syn match udevrulesVariable contained display '[^}]\+' |
52 | 83 |
53 syn match udevrulesRuleEq contained '[[:space:]=]' | 84 syn match udevrulesRuleTest contained display '[=!:]=' |
54 \ nextgroup=udevrulesString skipwhite | 85 \ nextgroup=udevrulesString skipwhite |
55 | 86 |
56 syn match udevrulesEStringEq contained '[[:space:]=]' | 87 syn match udevrulesEStringTest contained display '[=!+:]=' |
57 \ nextgroup=udevrulesEString skipwhite | 88 \ nextgroup=udevrulesEString skipwhite |
58 | 89 |
59 syn match udevrulesOptionsEq contained '[[:space:]=]' | 90 syn match udevrulesRuleEq contained display '+=\|=\ze[^=]' |
91 \ nextgroup=udevrulesString skipwhite | |
92 | |
93 syn match udevrulesEStringEq contained '+=\|=\ze[^=]' | |
94 \ nextgroup=udevrulesEString skipwhite | |
95 | |
96 syn match udevrulesOptionsEq contained '+=\|=\ze[^=]' | |
60 \ nextgroup=udevrulesOptions skipwhite | 97 \ nextgroup=udevrulesOptions skipwhite |
61 | 98 |
62 syn region udevrulesEString contained display oneline start=+"+ end=+"+ | 99 syn region udevrulesEString contained display oneline start=+"+ end=+"+ |
63 \ contains=udevrulesStrEscapes | 100 \ contains=udevrulesStrEscapes,udevrulesStrVars |
64 | 101 |
65 syn match udevrulesStrEscapes contained '%[nkpMmbcNPe%]' | 102 syn match udevrulesStrEscapes contained '%[knpbMmcPrN%]' |
66 | 103 |
104 " TODO: This can actually stand alone (without {…}), so add a nextgroup here. | |
67 syn region udevrulesStrEscapes contained start='%c{' end='}' | 105 syn region udevrulesStrEscapes contained start='%c{' end='}' |
68 \ contains=udevrulesStrNumber | 106 \ contains=udevrulesStrNumber |
69 | 107 |
70 syn region udevrulesStrEscapes contained start='%s{' end='}' | 108 syn region udevrulesStrEscapes contained start='%s{' end='}' |
71 \ contains=udevrulesPath | 109 \ contains=udevrulesPath |
72 | 110 |
111 syn region udevrulesStrEscapes contained start='%E{' end='}' | |
112 \ contains=udevrulesVariable | |
113 | |
73 syn match udevrulesStrNumber contained '\d\++\=' | 114 syn match udevrulesStrNumber contained '\d\++\=' |
115 | |
116 syn match udevrulesStrVars contained display '$\%(kernel\|number\|devpath\|id\|major\|minor\|result\|parent\|root\|tempnode\)\>' | |
117 | |
118 syn region udevrulesStrVars contained start='$attr{' end='}' | |
119 \ contains=udevrulesPath | |
120 | |
121 syn region udevrulesStrVars contained start='$env{' end='}' | |
122 \ contains=udevrulesVariable | |
123 | |
124 syn match udevrulesStrVars contained display '\$\$' | |
74 | 125 |
75 syn region udevrulesString contained display oneline start=+"+ end=+"+ | 126 syn region udevrulesString contained display oneline start=+"+ end=+"+ |
76 \ contains=udevrulesPattern | 127 \ contains=udevrulesPattern |
77 | 128 |
78 syn match udevrulesPattern contained '[*?]' | 129 syn match udevrulesPattern contained '[*?]' |
94 hi def link udevrulesRuleKey Keyword | 145 hi def link udevrulesRuleKey Keyword |
95 hi def link udevrulesDelimiter Delimiter | 146 hi def link udevrulesDelimiter Delimiter |
96 hi def link udevrulesAssignKey Identifier | 147 hi def link udevrulesAssignKey Identifier |
97 hi def link udevrulesPath Identifier | 148 hi def link udevrulesPath Identifier |
98 hi def link udevrulesVariable Identifier | 149 hi def link udevrulesVariable Identifier |
150 hi def link udevrulesAttrKey Identifier | |
99 " XXX: setting this to Operator makes for extremely intense highlighting. | 151 " XXX: setting this to Operator makes for extremely intense highlighting. |
100 hi def link udevrulesEq Normal | 152 hi def link udevrulesEq Normal |
101 hi def link udevrulesRuleEq udevrulesEq | 153 hi def link udevrulesRuleEq udevrulesEq |
102 hi def link udevrulesEStringEq udevrulesEq | 154 hi def link udevrulesEStringEq udevrulesEq |
103 hi def link udevrulesOptionsEq udevrulesEq | 155 hi def link udevrulesOptionsEq udevrulesEq |
104 hi def link udevrulesEString udevrulesString | 156 hi def link udevrulesEString udevrulesString |
105 hi def link udevrulesStrEscapes SpecialChar | 157 hi def link udevrulesStrEscapes SpecialChar |
106 hi def link udevrulesStrNumber Number | 158 hi def link udevrulesStrNumber Number |
159 hi def link udevrulesStrVars Identifier | |
107 hi def link udevrulesString String | 160 hi def link udevrulesString String |
108 hi def link udevrulesPattern SpecialChar | 161 hi def link udevrulesPattern SpecialChar |
109 hi def link udevrulesPatRange SpecialChar | 162 hi def link udevrulesPatRange SpecialChar |
110 hi def link udevrulesOptions udevrulesString | 163 hi def link udevrulesOptions udevrulesString |
111 hi def link udevrulesOption Type | 164 hi def link udevrulesOption Type |
112 hi def link udevrulesOptionSep Delimiter | 165 hi def link udevrulesOptionSep Delimiter |
166 hi def link udevrulesImportType Type | |
113 | 167 |
114 let b:current_syntax = "udevrules" | 168 let b:current_syntax = "udevrules" |
115 | 169 |
116 let &cpo = s:cpo_save | 170 let &cpo = s:cpo_save |
117 unlet s:cpo_save | 171 unlet s:cpo_save |