summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/group.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/group.vim')
-rw-r--r--runtime/syntax/group.vim52
1 files changed, 52 insertions, 0 deletions
diff --git a/runtime/syntax/group.vim b/runtime/syntax/group.vim
new file mode 100644
index 0000000..f62a4a1
--- /dev/null
+++ b/runtime/syntax/group.vim
@@ -0,0 +1,52 @@
+" Vim syntax file
+" Language: group(5) user group file
+" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2012-08-05
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn match groupBegin display '^' nextgroup=groupName
+
+syn match groupName contained display '[^:]\+'
+ \ nextgroup=groupPasswordColon
+
+syn match groupPasswordColon contained display ':'
+ \ nextgroup=groupPassword,groupShadow
+
+syn match groupPassword contained display '[^:]*'
+ \ nextgroup=groupGIDColon
+
+syn match groupShadow contained display '[x*]' nextgroup=groupGIDColon
+
+syn match groupGIDColon contained display ':' nextgroup=groupGID
+
+syn match groupGID contained display '\d*'
+ \ nextgroup=groupUserListColon
+
+syn match groupUserListColon contained display ':' nextgroup=groupUserList
+
+syn match groupUserList contained '[^,]\+'
+ \ nextgroup=groupUserListSep
+
+syn match groupUserListSep contained display ',' nextgroup=groupUserList
+
+hi def link groupDelimiter Normal
+hi def link groupName Identifier
+hi def link groupPasswordColon groupDelimiter
+hi def link groupPassword Number
+hi def link groupShadow Special
+hi def link groupGIDColon groupDelimiter
+hi def link groupGID Number
+hi def link groupUserListColon groupDelimiter
+hi def link groupUserList Identifier
+hi def link groupUserListSep groupDelimiter
+
+let b:current_syntax = "group"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save