| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | " Vim syntax file | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | " Language:             udev(8) rules file | 
					
						
							|  |  |  | " Previous Maintainer:  Nikolai Weibull <now@bitwi.se> | 
					
						
							|  |  |  | " Latest Revision:      2006-12-18 | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | if exists("b:current_syntax") | 
					
						
							|  |  |  |   finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let s:cpo_save = &cpo | 
					
						
							|  |  |  | set cpo&vim | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | " TODO: Line continuations. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | syn keyword udevrulesTodo       contained TODO FIXME XXX NOTE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  udevrulesComment    display oneline start='^\s*#' end='$' | 
					
						
							|  |  |  |                                 \ contains=udevrulesTodo,@Spell | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn keyword udevrulesRuleKey    ACTION DEVPATH KERNEL SUBSYSTEM KERNELS | 
					
						
							|  |  |  |                                 \ SUBSYSTEMS DRIVERS RESULT | 
					
						
							|  |  |  |                                 \ nextgroup=udevrulesRuleTest | 
					
						
							|  |  |  |                                 \ skipwhite | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn keyword udevrulesRuleKey    ATTRS nextgroup=udevrulesAttrsPath | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn region  udevrulesAttrsPath  display transparent | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  |                                 \ matchgroup=udevrulesDelimiter start='{' | 
					
						
							|  |  |  |                                 \ matchgroup=udevrulesDelimiter end='}' | 
					
						
							|  |  |  |                                 \ contains=udevrulesPath | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  |                                 \ nextgroup=udevrulesRuleTest | 
					
						
							|  |  |  |                                 \ skipwhite | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | syn keyword udevrulesRuleKey    ENV nextgroup=udevrulesEnvVar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  udevrulesEnvVar     display transparent | 
					
						
							|  |  |  |                                 \ matchgroup=udevrulesDelimiter start='{' | 
					
						
							|  |  |  |                                 \ matchgroup=udevrulesDelimiter end='}' | 
					
						
							|  |  |  |                                 \ contains=udevrulesVariable | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  |                                 \ nextgroup=udevrulesRuleTest,udevrulesRuleEq | 
					
						
							|  |  |  |                                 \ skipwhite | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn keyword udevrulesRuleKey    PROGRAM RESULT | 
					
						
							|  |  |  |                                 \ nextgroup=udevrulesEStringTest,udevrulesEStringEq | 
					
						
							|  |  |  |                                 \ skipwhite | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn keyword udevrulesAssignKey  NAME SYMLINK OWNER GROUP RUN | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  |                                 \ nextgroup=udevrulesEStringEq | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  |                                 \ skipwhite | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword udevrulesAssignKey  MODE LABEL GOTO WAIT_FOR_SYSFS | 
					
						
							|  |  |  |                                 \ nextgroup=udevrulesRuleEq | 
					
						
							|  |  |  |                                 \ skipwhite | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn keyword udevrulesAssignKey  ATTR nextgroup=udevrulesAttrsPath | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  udevrulesAttrKey    display transparent | 
					
						
							|  |  |  |                                 \ matchgroup=udevrulesDelimiter start='{' | 
					
						
							|  |  |  |                                 \ matchgroup=udevrulesDelimiter end='}' | 
					
						
							|  |  |  |                                 \ contains=udevrulesKey | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  |                                 \ nextgroup=udevrulesRuleEq | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  |                                 \ skipwhite | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword udevrulesAssignKey  IMPORT nextgroup=udevrulesImport, | 
					
						
							|  |  |  |                                 \ udevrulesEStringEq | 
					
						
							|  |  |  |                                 \ skipwhite | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  udevrulesImport     display transparent | 
					
						
							|  |  |  |                                 \ matchgroup=udevrulesDelimiter start='{' | 
					
						
							|  |  |  |                                 \ matchgroup=udevrulesDelimiter end='}' | 
					
						
							|  |  |  |                                 \ contains=udevrulesImportType | 
					
						
							|  |  |  |                                 \ nextgroup=udevrulesEStringEq | 
					
						
							|  |  |  |                                 \ skipwhite | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword udevrulesImportType program file parent | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | syn keyword udevrulesAssignKey  OPTIONS | 
					
						
							|  |  |  |                                 \ nextgroup=udevrulesOptionsEq | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   udevrulesPath       contained display '[^}]\+' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   udevrulesVariable   contained display '[^}]\+' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn match   udevrulesRuleTest   contained display '[=!:]=' | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  |                                 \ nextgroup=udevrulesString skipwhite | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn match   udevrulesEStringTest contained display '[=!+:]=' | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  |                                 \ nextgroup=udevrulesEString skipwhite | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn match   udevrulesRuleEq     contained display '+=\|=\ze[^=]' | 
					
						
							|  |  |  |                                 \ nextgroup=udevrulesString skipwhite | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   udevrulesEStringEq  contained '+=\|=\ze[^=]' | 
					
						
							|  |  |  |                                 \ nextgroup=udevrulesEString skipwhite | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   udevrulesOptionsEq  contained '+=\|=\ze[^=]' | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  |                                 \ nextgroup=udevrulesOptions skipwhite | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  udevrulesEString    contained display oneline start=+"+ end=+"+ | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  |                                 \ contains=udevrulesStrEscapes,udevrulesStrVars | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn match   udevrulesStrEscapes contained '%[knpbMmcPrN%]' | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | " TODO: This can actually stand alone (without {…}), so add a nextgroup here. | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | syn region  udevrulesStrEscapes contained start='%c{' end='}' | 
					
						
							|  |  |  |                                 \ contains=udevrulesStrNumber | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  udevrulesStrEscapes contained start='%s{' end='}' | 
					
						
							|  |  |  |                                 \ contains=udevrulesPath | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn region  udevrulesStrEscapes contained start='%E{' end='}' | 
					
						
							|  |  |  |                                 \ contains=udevrulesVariable | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | syn match   udevrulesStrNumber  contained '\d\++\=' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | syn match   udevrulesStrVars    contained display '$\%(kernel\|number\|devpath\|id\|major\|minor\|result\|parent\|root\|tempnode\)\>' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  udevrulesStrVars    contained start='$attr{' end='}' | 
					
						
							|  |  |  |                                 \ contains=udevrulesPath | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  udevrulesStrVars    contained start='$env{' end='}' | 
					
						
							|  |  |  |                                 \ contains=udevrulesVariable | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   udevrulesStrVars    contained display '\$\$' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | syn region  udevrulesString     contained display oneline start=+"+ end=+"+ | 
					
						
							|  |  |  |                                 \ contains=udevrulesPattern | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   udevrulesPattern    contained '[*?]' | 
					
						
							|  |  |  | syn region  udevrulesPattern    contained start='\[!\=' end='\]' | 
					
						
							|  |  |  |                                 \ contains=udevrulesPatRange | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   udevrulesPatRange   contained '[^[-]-[^]-]' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  udevrulesOptions    contained display oneline start=+"+ end=+"+ | 
					
						
							|  |  |  |                                 \ contains=udevrulesOption,udevrulesOptionSep | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword udevrulesOption     contained last_rule ignore_device ignore_remove | 
					
						
							|  |  |  |                                 \ all_partitions | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   udevrulesOptionSep  contained ',' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | hi def link udevrulesTodo       Todo | 
					
						
							|  |  |  | hi def link udevrulesComment    Comment | 
					
						
							|  |  |  | hi def link udevrulesRuleKey    Keyword | 
					
						
							|  |  |  | hi def link udevrulesDelimiter  Delimiter | 
					
						
							|  |  |  | hi def link udevrulesAssignKey  Identifier | 
					
						
							|  |  |  | hi def link udevrulesPath       Identifier | 
					
						
							|  |  |  | hi def link udevrulesVariable   Identifier | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | hi def link udevrulesAttrKey    Identifier | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | " XXX: setting this to Operator makes for extremely intense highlighting. | 
					
						
							|  |  |  | hi def link udevrulesEq         Normal | 
					
						
							|  |  |  | hi def link udevrulesRuleEq     udevrulesEq | 
					
						
							|  |  |  | hi def link udevrulesEStringEq  udevrulesEq | 
					
						
							|  |  |  | hi def link udevrulesOptionsEq  udevrulesEq | 
					
						
							|  |  |  | hi def link udevrulesEString    udevrulesString | 
					
						
							|  |  |  | hi def link udevrulesStrEscapes SpecialChar | 
					
						
							|  |  |  | hi def link udevrulesStrNumber  Number | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | hi def link udevrulesStrVars    Identifier | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | hi def link udevrulesString     String | 
					
						
							|  |  |  | hi def link udevrulesPattern    SpecialChar | 
					
						
							|  |  |  | hi def link udevrulesPatRange   SpecialChar | 
					
						
							|  |  |  | hi def link udevrulesOptions    udevrulesString | 
					
						
							|  |  |  | hi def link udevrulesOption     Type | 
					
						
							|  |  |  | hi def link udevrulesOptionSep  Delimiter | 
					
						
							| 
									
										
										
										
											2007-05-10 18:19:11 +00:00
										 |  |  | hi def link udevrulesImportType Type | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "udevrules" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let &cpo = s:cpo_save | 
					
						
							|  |  |  | unlet s:cpo_save |