blob: fc5adfc3480c4c6891b174a98be318095708db47 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar071d4272004-06-13 20:20:40 +00002" Language: SysV-compatible init process control file `inittab'
Bram Moolenaar403f3eb2019-11-20 22:31:13 +01003" Maintainer: Donovan Keohane <donovan.keohane@gmail.com>
4" Previous Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
5" Last Change: 2019-11-19
Bram Moolenaar071d4272004-06-13 20:20:40 +00006
7" Setup
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02008" quit when a syntax file was already loaded
9if exists("b:current_syntax")
10 finish
Bram Moolenaar071d4272004-06-13 20:20:40 +000011endif
12
13syn case match
14
15" Base constructs
16syn match inittabError "[^:]\+:"me=e-1 contained
17syn match inittabError "[^:]\+$" contained
18syn match inittabComment "^[#:].*$" contains=inittabFixme
19syn match inittabComment "#.*$" contained contains=inittabFixme
20syn keyword inittabFixme FIXME TODO XXX NOT
21
22" Shell
23syn region inittabShString start=+"+ end=+"+ skip=+\\\\\|\\\"+ contained
24syn region inittabShString start=+'+ end=+'+ contained
25syn match inittabShOption "\s[-+][[:alnum:]]\+"ms=s+1 contained
26syn match inittabShOption "\s--[:alnum:][-[:alnum:]]*"ms=s+1 contained
Bram Moolenaar403f3eb2019-11-20 22:31:13 +010027syn match inittabShCommand "\S\+" contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000028syn cluster inittabSh add=inittabShOption,inittabShString,inittabShCommand
29
30" Keywords
31syn keyword inittabActionName respawn wait once boot bootwait off ondemand sysinit powerwait powerfail powerokwait powerfailnow ctrlaltdel kbrequest initdefault contained
32
33" Line parser
34syn match inittabId "^[[:alnum:]~]\{1,4}" nextgroup=inittabColonRunLevels,inittabError
35syn match inittabColonRunLevels ":" contained nextgroup=inittabRunLevels,inittabColonAction,inittabError
36syn match inittabRunLevels "[0-6A-Ca-cSs]\+" contained nextgroup=inittabColonAction,inittabError
37syn match inittabColonAction ":" contained nextgroup=inittabAction,inittabError
38syn match inittabAction "\w\+" contained nextgroup=inittabColonProcess,inittabError contains=inittabActionName
39syn match inittabColonProcess ":" contained nextgroup=inittabProcessPlus,inittabProcess,inittabError
40syn match inittabProcessPlus "+" contained nextgroup=inittabProcess,inittabError
Bram Moolenaar403f3eb2019-11-20 22:31:13 +010041syn region inittabProcess start="\S" end="$" transparent oneline contained contains=@inittabSh,inittabComment
Bram Moolenaar071d4272004-06-13 20:20:40 +000042
43" Define the default highlighting
Bram Moolenaar071d4272004-06-13 20:20:40 +000044
Bram Moolenaarf37506f2016-08-31 22:22:10 +020045hi def link inittabComment Comment
46hi def link inittabFixme Todo
47hi def link inittabActionName Type
48hi def link inittabError Error
49hi def link inittabId Identifier
50hi def link inittabRunLevels Special
Bram Moolenaar071d4272004-06-13 20:20:40 +000051
Bram Moolenaarf37506f2016-08-31 22:22:10 +020052hi def link inittabColonProcess inittabColon
53hi def link inittabColonAction inittabColon
54hi def link inittabColonRunLevels inittabColon
55hi def link inittabColon PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +000056
Bram Moolenaarf37506f2016-08-31 22:22:10 +020057hi def link inittabShString String
58hi def link inittabShOption Special
59hi def link inittabShCommand Statement
Bram Moolenaar071d4272004-06-13 20:20:40 +000060
Bram Moolenaar071d4272004-06-13 20:20:40 +000061
62let b:current_syntax = "inittab"