blob: cdaed58cc0f6b110f3fb86c036d4dc9f00429a22 [file] [log] [blame]
Bram Moolenaar0dc065e2005-07-04 22:49:24 +00001" Vim syntax file
2" Language: passwd(5) password file
Bram Moolenaar57657d82006-04-21 22:12:41 +00003" Maintainer: Nikolai Weibull <now@bitwi.se>
Bram Moolenaar2b644402007-05-10 17:56:19 +00004" Latest Revision: 2006-10-03
Bram Moolenaar0dc065e2005-07-04 22:49:24 +00005
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
Bram Moolenaar2b644402007-05-10 17:56:19 +000015syn match passwdAccount contained display '[^:]\+'
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000016 \ 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
Bram Moolenaar2b644402007-05-10 17:56:19 +000029syn match passwdUID contained display '\d\{0,10}'
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000030 \ nextgroup=passwdGIDColon
31
32syn match passwdGIDColon contained display ':' nextgroup=passwdGID
33
Bram Moolenaar2b644402007-05-10 17:56:19 +000034syn match passwdGID contained display '\d\{0,10}'
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000035 \ 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
Bram Moolenaar57657d82006-04-21 22:12:41 +000050syn match passwdShell contained display '.*'
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000051
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