annotate runtime/syntax/initng.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children e170173ecb68
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: initng .i files
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Maintainer: Elan Ruusamäe <glen@pld-linux.org>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " URL: http://glen.alkohol.ee/pld/initng/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 " License: GPL v2
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 " Version: 0.13
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 " Last Change: $Date$
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 "
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 " Syntax highlighting for initng .i files. Inherits from sh.vim and adds
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 " in the hiliting to start/stop {} blocks. Requires vim 6.3 or later.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 if &compatible || v:version < 603
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 if exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn case match
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 let is_bash = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 unlet! b:current_syntax
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 syn include @shTop syntax/sh.vim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 syn region initngService matchgroup=initngServiceHeader start="^\s*\(service\|virtual\|daemon\|class\|cron\)\s\+\(\(\w\|[-/*]\)\+\(\s\+:\s\+\(\w\|[-/*]\)\+\)\?\)\s\+{" end="}" contains=@initngServiceCluster
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 syn cluster initngServiceCluster contains=initngComment,initngAction,initngServiceOption,initngServiceHeader,initngDelim,initngVariable
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 syn region initngAction matchgroup=initngActionHeader start="^\s*\(script start\|script stop\|script run\)\s*=\s*{" end="}" contains=@initngActionCluster
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 syn cluster initngActionCluster contains=@shTop
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 syn match initngDelim /[{}]/ contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 syn region initngString start=/"/ end=/"/ skip=/\\"/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 " option = value
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 syn match initngServiceOption /.\+\s*=.\+;/ contains=initngServiceKeywords,initngSubstMacro contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 " option without value
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 syn match initngServiceOption /\w\+;/ contains=initngServiceKeywords,initngSubstMacro contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 " options with value
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 syn keyword initngServiceKeywords also_stop need use nice setuid contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 syn keyword initngServiceKeywords delay chdir suid sgid start_pause env_file env_parse pid_file pidfile contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 syn keyword initngServiceKeywords pid_of up_when_pid_set stdout stderr syncron just_before contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 syn keyword initngServiceKeywords provide lockfile daemon_stops_badly contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46 syn match initngServiceKeywords /\(script\|exec\(_args\)\?\) \(start\|stop\|daemon\)/ contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 syn match initngServiceKeywords /env\s\+\w\+/ contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 " rlimits
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50 syn keyword initngServiceKeywords rlimit_cpu_hard rlimit_core_soft contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 " single options
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 syn keyword initngServiceKeywords last respawn network_provider require_network require_file critical forks contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 " cron options
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 syn keyword initngServiceKeywords hourly contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 syn match initngVariable /\${\?\w\+\}\?/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 " Substituted @foo@ macros:
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 " ==========
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60 syn match initngSubstMacro /@[^@]\+@/ contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 syn cluster initngActionCluster add=initngSubstMacro
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 syn cluster shCommandSubList add=initngSubstMacro
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 " Comments:
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 " ==========
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 syn cluster initngCommentGroup contains=initngTodo,@Spell
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 syn keyword initngTodo TODO FIXME XXX contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 syn match initngComment /#.*$/ contains=@initngCommentGroup
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 " install_service #macros
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 " TODO: syntax check for ifd-endd pairs
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 " ==========
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 syn region initngDefine start="^#\(endd\|elsed\|exec\|ifd\|endexec\|endd\)\>" skip="\\$" end="$" end="#"me=s-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 syn cluster shCommentGroup add=initngDefine
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 syn cluster initngCommentGroup add=initngDefine
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 hi def link initngComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 hi def link initngTodo Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 hi def link initngString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81 hi def link initngServiceKeywords Define
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 hi def link initngServiceHeader Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 hi def link initngActionHeader Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 hi def link initngDelim Delimiter
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 hi def link initngVariable PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 hi def link initngSubstMacro Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89 hi def link initngDefine Macro
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 let b:current_syntax = "initng"