1" Vim syntax file
2" Language:         services(5) - Internet network services list
3" Maintainer:       Nikolai Weibull <now@bitwi.se>
4" Latest Revision:  2006-04-19
5
6if exists("b:current_syntax")
7  finish
8endif
9
10let s:cpo_save = &cpo
11set cpo&vim
12
13syn match   servicesBegin     display '^'
14                              \ nextgroup=servicesName,servicesComment
15
16syn match   servicesName      contained display '[[:graph:]]\+'
17                              \ nextgroup=servicesPort skipwhite
18
19syn match   servicesPort      contained display '\d\+'
20                              \ nextgroup=servicesPPDiv,servicesPPDivDepr
21                              \ skipwhite
22
23syn match   servicesPPDiv     contained display '/'
24                              \ nextgroup=servicesProtocol skipwhite
25
26syn match   servicesPPDivDepr contained display ','
27                              \ nextgroup=servicesProtocol skipwhite
28
29syn match   servicesProtocol  contained display '\S\+'
30                              \ nextgroup=servicesAliases,servicesComment
31                              \ skipwhite
32
33syn match   servicesAliases   contained display '\S\+'
34                              \ nextgroup=servicesAliases,servicesComment
35                              \ skipwhite
36
37syn keyword servicesTodo      contained TODO FIXME XXX NOTE
38
39syn region  servicesComment   display oneline start='#' end='$'
40                              \ contains=servicesTodo,@Spell
41
42hi def link servicesTodo      Todo
43hi def link servicesComment   Comment
44hi def link servicesName      Identifier
45hi def link servicesPort      Number
46hi def link servicesPPDiv     Delimiter
47hi def link servicesPPDivDepr Error
48hi def link servicesProtocol  Type
49hi def link servicesAliases   Macro
50
51let b:current_syntax = "services"
52
53let &cpo = s:cpo_save
54unlet s:cpo_save
55