Blob


1 " Vim syntax file
2 " Language: gmid(1) configuration files
3 " Licence: ISC
5 if exists("b:current_syntax")
6 finish
7 endif
9 " Syntax Definition: {{{1
10 " ==================
11 syn case match
12 setlocal iskeyword+=-
14 " Value Types: {{{2
15 " ============
16 syn keyword gmidBoolean on
17 syn keyword gmidBoolean off
19 syn match gmidNumber "\<\d\+\>" display
21 syn region gmidQuotedString start=+"+ end=+"+ skip=+\\"+
22 syn region gmidQuotedString start=+'+ end=+'+ skip=+\\'+
24 syn match gmidVariable "\$\w\w*" display
25 syn match gmidMacro "@\w\w*" display
27 " Errors: {{{2
28 " ============
29 " TODO: write comprehensive syntax rules so it can be checked with:
30 " syn match gmidError '.'
31 syn keyword gmidDirectiveDeprecated mime
33 " Comments: {{{2
34 " =========
35 syn match gmidComment "\s*#.*$" display
37 " Global Options: {{{2
38 " ===============
39 syn keyword gmidDirective chroot
40 syn keyword gmidDirective include
41 syn keyword gmidDirective ipv6 nextgroup=gmidBoolean skipwhite
42 syn keyword gmidDirective map
43 syn keyword gmidDirectiveContinuation to-ext
44 syn keyword gmidDirective port nextgroup=gmidNumber skipwhite
45 syn keyword gmidDirective prefork nextgroup=gmidNumber skipwhite
46 syn keyword gmidDirective protocols
47 syn keyword gmidDirective user
49 " Server Blocks: {{{2
50 " ==============
51 syn region gmidBlock start="{" end="}" fold transparent
53 syn keyword gmidDirectiveBlock server
54 syn keyword gmidDirectiveBlock location
56 syn keyword gmidDirective alias
57 syn match gmidDirective "\<auto\s\+index\>" nextgroup=gmidBoolean skipwhite display
58 syn keyword gmidDirective block
59 syn keyword gmidDirectiveContinuation return nextgroup=gmidNumber skipwhite
60 syn keyword gmidDirective cert
61 syn keyword gmidDirective cgi
62 syn match gmidDirective "\<default\s\+type>" display
63 syn keyword gmidDirective entrypoint
64 syn keyword gmidDirective env
65 syn keyword gmidDirective fastcgi
66 syn keyword gmidDirectiveContinuation tcp
67 syn keyword gmidDirective index
68 syn keyword gmidDirective key
69 syn keyword gmidDirective lang
70 syn keyword gmidDirective log nextgroup=gmidBoolean skipwhite
71 syn keyword gmidDirective param
72 syn keyword gmidDirective root
73 syn match gmidDirective "\<require\s\+client\s\+ca>" display
74 syn keyword gmidDirective strip nextgroup=gmidNumber skipwhite
76 " Highlighting Settings: {{{1
77 " ======================
79 hi def link gmidComment Comment
81 hi def link gmidBoolean Boolean
82 hi def link gmidNumber Number
83 hi def link gmidQuotedString String
85 hi def link gmidVariable Identifier
86 hi def link gmidMacro Macro
88 hi def link gmidDirective Keyword
89 hi def link gmidDirectiveBlock Function
90 hi def link gmidDirectiveContinuation Type
91 hi def link gmidDirectiveDeprecated Error
93 let b:current_syntax = "gmid"