summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/passwd.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/passwd.vim')
-rw-r--r--runtime/syntax/passwd.vim71
1 files changed, 71 insertions, 0 deletions
diff --git a/runtime/syntax/passwd.vim b/runtime/syntax/passwd.vim
new file mode 100644
index 0000000..ad90202
--- /dev/null
+++ b/runtime/syntax/passwd.vim
@@ -0,0 +1,71 @@
+" 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