blob: ffb979f71c876858a7ba2bb41acf2a7b5e721eff [file] [log] [blame]
Bram Moolenaar0dc065e2005-07-04 22:49:24 +00001" Vim syntax file
2" Language: passwd(5) password file
3" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
4" Latest Revision: 2005-06-30
5
6if exists("b:current_syntax")
7 finish
8endif
9
10let s:cpo_save = &cpo
11set cpo&vim
12
13syn match passwdBegin display '^' nextgroup=passwdAccount
14
15syn match passwdAccount contained display '[a-z_][a-z0-9_-]*'
16 \ nextgroup=passwdPasswordColon
17
18syn match passwdPasswordColon contained display ':'
19 \ nextgroup=passwdPassword,passwdShadow
20
21syn match passwdPassword contained display '[^:]\+'
22 \ nextgroup=passwdUIDColon
23
24syn match passwdShadow contained display '[x*!]'
25 \ nextgroup=passwdUIDColon
26
27syn match passwdUIDColon contained display ':' nextgroup=passwdUID
28
29syn match passwdUID contained display '\d\+'
30 \ nextgroup=passwdGIDColon
31
32syn match passwdGIDColon contained display ':' nextgroup=passwdGID
33
34syn match passwdGID contained display '\d\+'
35 \ nextgroup=passwdGecosColon
36
37syn match passwdGecosColon contained display ':' nextgroup=passwdGecos
38
39syn match passwdGecos contained display '[^:]*'
40 \ nextgroup=passwdDirColon
41
42syn match passwdDirColon contained display ':' nextgroup=passwdDir
43
44syn match passwdDir contained display '/[^:]*'
45 \ nextgroup=passwdShellColon
46
47syn match passwdShellColon contained display ':'
48 \ nextgroup=passwdShell
49
50syn match passwdShell contained display '[/*][^:]*'
51
52hi def link passwdColon Normal
53hi def link passwdAccount Identifier
54hi def link passwdPasswordColon passwdColon
55hi def link passwdPassword Number
56hi def link passwdShadow Special
57hi def link passwdUIDColon passwdColon
58hi def link passwdUID Number
59hi def link passwdGIDColon passwdColon
60hi def link passwdGID Number
61hi def link passwdGecosColon passwdColon
62hi def link passwdGecos Comment
63hi def link passwdDirColon passwdColon
64hi def link passwdDir Type
65hi def link passwdShellColon passwdColon
66hi def link passwdShell Operator
67
68let b:current_syntax = "passwd"
69
70let &cpo = s:cpo_save
71unlet s:cpo_save