mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			118 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:         udev(8) rules file
 | |
| " Maintainer:       Nikolai Weibull <now@bitwi.se>
 | |
| " Latest Revision:  2006-04-19
 | |
| 
 | |
| if exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| let s:cpo_save = &cpo
 | |
| set cpo&vim
 | |
| 
 | |
| syn keyword udevrulesTodo       contained TODO FIXME XXX NOTE
 | |
| 
 | |
| syn region  udevrulesComment    display oneline start='^\s*#' end='$'
 | |
|                                 \ contains=udevrulesTodo,@Spell
 | |
| 
 | |
| syn keyword udevrulesRuleKey    BUS KERNEL SUBSYSTEM DRIVER ID RESULT
 | |
|                                 \ nextgroup=udevrulesRuleEq
 | |
| 
 | |
| syn keyword udevrulesRuleKey    SYSFS nextgroup=udevrulesSysFSPath
 | |
| 
 | |
| syn region  udevrulesSysFSPath  display transparent
 | |
|                                 \ matchgroup=udevrulesDelimiter start='{'
 | |
|                                 \ matchgroup=udevrulesDelimiter end='}'
 | |
|                                 \ contains=udevrulesPath
 | |
|                                 \ nextgroup=udevrulesRuleEq
 | |
| 
 | |
| syn keyword udevrulesRuleKey    ENV nextgroup=udevrulesEnvVar
 | |
| 
 | |
| syn region  udevrulesEnvVar     display transparent
 | |
|                                 \ matchgroup=udevrulesDelimiter start='{'
 | |
|                                 \ matchgroup=udevrulesDelimiter end='}'
 | |
|                                 \ contains=udevrulesVariable
 | |
|                                 \ nextgroup=udevrulesRuleEq
 | |
| 
 | |
| syn keyword udevrulesRuleKey    PROGRAM
 | |
|                                 \ nextgroup=udevrulesEStringEq
 | |
| 
 | |
| syn keyword udevrulesAssignKey  NAME SYMLINK OWNER GROUP
 | |
|                                 \ nextgroup=udevrulesEStringEq
 | |
| 
 | |
| syn keyword udevrulesAssignKey  MODE
 | |
|                                 \ nextgroup=udevrulesRuleEq
 | |
| 
 | |
| syn keyword udevrulesAssignKey  OPTIONS
 | |
|                                 \ nextgroup=udevrulesOptionsEq
 | |
| 
 | |
| syn match   udevrulesPath       contained display '[^}]\+'
 | |
| 
 | |
| syn match   udevrulesVariable   contained display '[^}]\+'
 | |
| 
 | |
| syn match   udevrulesRuleEq     contained '[[:space:]=]'
 | |
|                                 \ nextgroup=udevrulesString skipwhite
 | |
| 
 | |
| syn match   udevrulesEStringEq  contained '[[:space:]=]'
 | |
|                                 \ nextgroup=udevrulesEString skipwhite
 | |
| 
 | |
| syn match   udevrulesOptionsEq  contained '[[:space:]=]'
 | |
|                                 \ nextgroup=udevrulesOptions skipwhite
 | |
| 
 | |
| syn region  udevrulesEString    contained display oneline start=+"+ end=+"+
 | |
|                                 \ contains=udevrulesStrEscapes
 | |
| 
 | |
| syn match   udevrulesStrEscapes contained '%[nkpMmbcNPe%]'
 | |
| 
 | |
| syn region  udevrulesStrEscapes contained start='%c{' end='}'
 | |
|                                 \ contains=udevrulesStrNumber
 | |
| 
 | |
| syn region  udevrulesStrEscapes contained start='%s{' end='}'
 | |
|                                 \ contains=udevrulesPath
 | |
| 
 | |
| syn match   udevrulesStrNumber  contained '\d\++\='
 | |
| 
 | |
| 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
 | |
| " 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
 | |
| 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
 | |
| 
 | |
| let b:current_syntax = "udevrules"
 | |
| 
 | |
| let &cpo = s:cpo_save
 | |
| unlet s:cpo_save
 |