389
|
1 " Vim syntax file
|
|
2 " Language: udev(8) rules file
|
839
|
3 " Maintainer: Nikolai Weibull <now@bitwi.se>
|
|
4 " Latest Revision: 2006-04-19
|
389
|
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 udevrulesTodo contained TODO FIXME XXX NOTE
|
|
14
|
|
15 syn region udevrulesComment display oneline start='^\s*#' end='$'
|
|
16 \ contains=udevrulesTodo,@Spell
|
|
17
|
|
18 syn keyword udevrulesRuleKey BUS KERNEL SUBSYSTEM DRIVER ID RESULT
|
|
19 \ nextgroup=udevrulesRuleEq
|
|
20
|
|
21 syn keyword udevrulesRuleKey SYSFS nextgroup=udevrulesSysFSPath
|
|
22
|
|
23 syn region udevrulesSysFSPath display transparent
|
|
24 \ matchgroup=udevrulesDelimiter start='{'
|
|
25 \ matchgroup=udevrulesDelimiter end='}'
|
|
26 \ contains=udevrulesPath
|
|
27 \ nextgroup=udevrulesRuleEq
|
|
28
|
|
29 syn keyword udevrulesRuleKey ENV nextgroup=udevrulesEnvVar
|
|
30
|
|
31 syn region udevrulesEnvVar display transparent
|
|
32 \ matchgroup=udevrulesDelimiter start='{'
|
|
33 \ matchgroup=udevrulesDelimiter end='}'
|
|
34 \ contains=udevrulesVariable
|
|
35 \ nextgroup=udevrulesRuleEq
|
|
36
|
|
37 syn keyword udevrulesRuleKey PROGRAM
|
|
38 \ nextgroup=udevrulesEStringEq
|
|
39
|
|
40 syn keyword udevrulesAssignKey NAME SYMLINK OWNER GROUP
|
|
41 \ nextgroup=udevrulesEStringEq
|
|
42
|
|
43 syn keyword udevrulesAssignKey MODE
|
|
44 \ nextgroup=udevrulesRuleEq
|
|
45
|
|
46 syn keyword udevrulesAssignKey OPTIONS
|
|
47 \ nextgroup=udevrulesOptionsEq
|
|
48
|
|
49 syn match udevrulesPath contained display '[^}]\+'
|
|
50
|
|
51 syn match udevrulesVariable contained display '[^}]\+'
|
|
52
|
|
53 syn match udevrulesRuleEq contained '[[:space:]=]'
|
|
54 \ nextgroup=udevrulesString skipwhite
|
|
55
|
|
56 syn match udevrulesEStringEq contained '[[:space:]=]'
|
|
57 \ nextgroup=udevrulesEString skipwhite
|
|
58
|
|
59 syn match udevrulesOptionsEq contained '[[:space:]=]'
|
|
60 \ nextgroup=udevrulesOptions skipwhite
|
|
61
|
|
62 syn region udevrulesEString contained display oneline start=+"+ end=+"+
|
|
63 \ contains=udevrulesStrEscapes
|
|
64
|
|
65 syn match udevrulesStrEscapes contained '%[nkpMmbcNPe%]'
|
|
66
|
|
67 syn region udevrulesStrEscapes contained start='%c{' end='}'
|
|
68 \ contains=udevrulesStrNumber
|
|
69
|
|
70 syn region udevrulesStrEscapes contained start='%s{' end='}'
|
|
71 \ contains=udevrulesPath
|
|
72
|
|
73 syn match udevrulesStrNumber contained '\d\++\='
|
|
74
|
|
75 syn region udevrulesString contained display oneline start=+"+ end=+"+
|
|
76 \ contains=udevrulesPattern
|
|
77
|
|
78 syn match udevrulesPattern contained '[*?]'
|
|
79 syn region udevrulesPattern contained start='\[!\=' end='\]'
|
|
80 \ contains=udevrulesPatRange
|
|
81
|
|
82 syn match udevrulesPatRange contained '[^[-]-[^]-]'
|
|
83
|
|
84 syn region udevrulesOptions contained display oneline start=+"+ end=+"+
|
|
85 \ contains=udevrulesOption,udevrulesOptionSep
|
|
86
|
|
87 syn keyword udevrulesOption contained last_rule ignore_device ignore_remove
|
|
88 \ all_partitions
|
|
89
|
|
90 syn match udevrulesOptionSep contained ','
|
|
91
|
|
92 hi def link udevrulesTodo Todo
|
|
93 hi def link udevrulesComment Comment
|
|
94 hi def link udevrulesRuleKey Keyword
|
|
95 hi def link udevrulesDelimiter Delimiter
|
|
96 hi def link udevrulesAssignKey Identifier
|
|
97 hi def link udevrulesPath Identifier
|
|
98 hi def link udevrulesVariable Identifier
|
|
99 " XXX: setting this to Operator makes for extremely intense highlighting.
|
|
100 hi def link udevrulesEq Normal
|
|
101 hi def link udevrulesRuleEq udevrulesEq
|
|
102 hi def link udevrulesEStringEq udevrulesEq
|
|
103 hi def link udevrulesOptionsEq udevrulesEq
|
|
104 hi def link udevrulesEString udevrulesString
|
|
105 hi def link udevrulesStrEscapes SpecialChar
|
|
106 hi def link udevrulesStrNumber Number
|
|
107 hi def link udevrulesString String
|
|
108 hi def link udevrulesPattern SpecialChar
|
|
109 hi def link udevrulesPatRange SpecialChar
|
|
110 hi def link udevrulesOptions udevrulesString
|
|
111 hi def link udevrulesOption Type
|
|
112 hi def link udevrulesOptionSep Delimiter
|
|
113
|
|
114 let b:current_syntax = "udevrules"
|
|
115
|
|
116 let &cpo = s:cpo_save
|
|
117 unlet s:cpo_save
|