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