72 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:             passwd(5) password file
 | |
| " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
 | |
| " Latest Revision:      2006-10-03
 | |
| 
 | |
| if exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| let s:cpo_save = &cpo
 | |
| set cpo&vim
 | |
| 
 | |
| syn match   passwdBegin         display '^' nextgroup=passwdAccount
 | |
| 
 | |
| syn match   passwdAccount       contained display '[^:]\+'
 | |
|                                 \ nextgroup=passwdPasswordColon
 | |
| 
 | |
| syn match   passwdPasswordColon contained display ':'
 | |
|                                 \ nextgroup=passwdPassword,passwdShadow
 | |
| 
 | |
| syn match   passwdPassword      contained display '[^:]\+'
 | |
|                                 \ nextgroup=passwdUIDColon
 | |
| 
 | |
| syn match   passwdShadow        contained display '[x*!]'
 | |
|                                 \ nextgroup=passwdUIDColon
 | |
| 
 | |
| syn match   passwdUIDColon      contained display ':' nextgroup=passwdUID
 | |
| 
 | |
| syn match   passwdUID           contained display '\d\{0,10}'
 | |
|                                 \ nextgroup=passwdGIDColon
 | |
| 
 | |
| syn match   passwdGIDColon      contained display ':' nextgroup=passwdGID
 | |
| 
 | |
| syn match   passwdGID           contained display '\d\{0,10}'
 | |
|                                 \ nextgroup=passwdGecosColon
 | |
| 
 | |
| syn match   passwdGecosColon    contained display ':' nextgroup=passwdGecos
 | |
| 
 | |
| syn match   passwdGecos         contained display '[^:]*'
 | |
|                                 \ nextgroup=passwdDirColon
 | |
| 
 | |
| syn match   passwdDirColon      contained display ':' nextgroup=passwdDir
 | |
| 
 | |
| syn match   passwdDir           contained display '/[^:]*'
 | |
|                                 \ nextgroup=passwdShellColon
 | |
| 
 | |
| syn match   passwdShellColon    contained display ':'
 | |
|                                 \ nextgroup=passwdShell
 | |
| 
 | |
| syn match   passwdShell         contained display '.*'
 | |
| 
 | |
| hi def link passwdColon         Normal
 | |
| hi def link passwdAccount       Identifier
 | |
| hi def link passwdPasswordColon passwdColon
 | |
| hi def link passwdPassword      Number
 | |
| hi def link passwdShadow        Special
 | |
| hi def link passwdUIDColon      passwdColon
 | |
| hi def link passwdUID           Number
 | |
| hi def link passwdGIDColon      passwdColon
 | |
| hi def link passwdGID           Number
 | |
| hi def link passwdGecosColon    passwdColon
 | |
| hi def link passwdGecos         Comment
 | |
| hi def link passwdDirColon      passwdColon
 | |
| hi def link passwdDir           Type
 | |
| hi def link passwdShellColon    passwdColon
 | |
| hi def link passwdShell         Operator
 | |
| 
 | |
| let b:current_syntax = "passwd"
 | |
| 
 | |
| let &cpo = s:cpo_save
 | |
| unlet s:cpo_save
 |