annotate vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go @ 66:787b5ee0289d draft

Use vendored modules Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author yakumo.izuru
date Sun, 23 Jul 2023 13:18:53 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
1 package lexers
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
2
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
3 import (
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
4 . "github.com/alecthomas/chroma/v2" // nolint
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
5 )
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
6
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
7 // caddyfileCommon are the rules common to both of the lexer variants
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
8 func caddyfileCommonRules() Rules {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
9 return Rules{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
10 "site_block_common": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
11 // Import keyword
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
12 {`(import)(\s+)([^\s]+)`, ByGroups(Keyword, Text, NameVariableMagic), nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
13 // Matcher definition
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
14 {`@[^\s]+(?=\s)`, NameDecorator, Push("matcher")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
15 // Matcher token stub for docs
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
16 {`\[\<matcher\>\]`, NameDecorator, Push("matcher")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
17 // These cannot have matchers but may have things that look like
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
18 // matchers in their arguments, so we just parse as a subdirective.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
19 {`try_files`, Keyword, Push("subdirective")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
20 // These are special, they can nest more directives
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
21 {`handle_errors|handle|route|handle_path|not`, Keyword, Push("nested_directive")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
22 // Any other directive
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
23 {`[^\s#]+`, Keyword, Push("directive")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
24 Include("base"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
25 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
26 "matcher": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
27 {`\{`, Punctuation, Push("block")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
28 // Not can be one-liner
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
29 {`not`, Keyword, Push("deep_not_matcher")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
30 // Any other same-line matcher
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
31 {`[^\s#]+`, Keyword, Push("arguments")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
32 // Terminators
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
33 {`\n`, Text, Pop(1)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
34 {`\}`, Punctuation, Pop(1)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
35 Include("base"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
36 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
37 "block": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
38 {`\}`, Punctuation, Pop(2)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
39 // Not can be one-liner
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
40 {`not`, Keyword, Push("not_matcher")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
41 // Any other subdirective
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
42 {`[^\s#]+`, Keyword, Push("subdirective")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
43 Include("base"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
44 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
45 "nested_block": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
46 {`\}`, Punctuation, Pop(2)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
47 // Matcher definition
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
48 {`@[^\s]+(?=\s)`, NameDecorator, Push("matcher")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
49 // Something that starts with literally < is probably a docs stub
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
50 {`\<[^#]+\>`, Keyword, Push("nested_directive")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
51 // Any other directive
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
52 {`[^\s#]+`, Keyword, Push("nested_directive")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
53 Include("base"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
54 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
55 "not_matcher": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
56 {`\}`, Punctuation, Pop(2)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
57 {`\{(?=\s)`, Punctuation, Push("block")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
58 {`[^\s#]+`, Keyword, Push("arguments")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
59 {`\s+`, Text, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
60 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
61 "deep_not_matcher": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
62 {`\}`, Punctuation, Pop(2)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
63 {`\{(?=\s)`, Punctuation, Push("block")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
64 {`[^\s#]+`, Keyword, Push("deep_subdirective")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
65 {`\s+`, Text, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
66 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
67 "directive": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
68 {`\{(?=\s)`, Punctuation, Push("block")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
69 Include("matcher_token"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
70 Include("comments_pop_1"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
71 {`\n`, Text, Pop(1)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
72 Include("base"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
73 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
74 "nested_directive": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
75 {`\{(?=\s)`, Punctuation, Push("nested_block")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
76 Include("matcher_token"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
77 Include("comments_pop_1"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
78 {`\n`, Text, Pop(1)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
79 Include("base"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
80 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
81 "subdirective": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
82 {`\{(?=\s)`, Punctuation, Push("block")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
83 Include("comments_pop_1"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
84 {`\n`, Text, Pop(1)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
85 Include("base"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
86 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
87 "arguments": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
88 {`\{(?=\s)`, Punctuation, Push("block")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
89 Include("comments_pop_2"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
90 {`\\\n`, Text, nil}, // Skip escaped newlines
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
91 {`\n`, Text, Pop(2)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
92 Include("base"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
93 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
94 "deep_subdirective": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
95 {`\{(?=\s)`, Punctuation, Push("block")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
96 Include("comments_pop_3"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
97 {`\n`, Text, Pop(3)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
98 Include("base"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
99 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
100 "matcher_token": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
101 {`@[^\s]+`, NameDecorator, Push("arguments")}, // Named matcher
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
102 {`/[^\s]+`, NameDecorator, Push("arguments")}, // Path matcher
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
103 {`\*`, NameDecorator, Push("arguments")}, // Wildcard path matcher
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
104 {`\[\<matcher\>\]`, NameDecorator, Push("arguments")}, // Matcher token stub for docs
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
105 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
106 "comments": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
107 {`^#.*\n`, CommentSingle, nil}, // Comment at start of line
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
108 {`\s+#.*\n`, CommentSingle, nil}, // Comment preceded by whitespace
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
109 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
110 "comments_pop_1": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
111 {`^#.*\n`, CommentSingle, Pop(1)}, // Comment at start of line
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
112 {`\s+#.*\n`, CommentSingle, Pop(1)}, // Comment preceded by whitespace
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
113 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
114 "comments_pop_2": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
115 {`^#.*\n`, CommentSingle, Pop(2)}, // Comment at start of line
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
116 {`\s+#.*\n`, CommentSingle, Pop(2)}, // Comment preceded by whitespace
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
117 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
118 "comments_pop_3": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
119 {`^#.*\n`, CommentSingle, Pop(3)}, // Comment at start of line
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
120 {`\s+#.*\n`, CommentSingle, Pop(3)}, // Comment preceded by whitespace
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
121 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
122 "base": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
123 Include("comments"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
124 {`(on|off|first|last|before|after|internal|strip_prefix|strip_suffix|replace)\b`, NameConstant, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
125 {`(https?://)?([a-z0-9.-]+)(:)([0-9]+)`, ByGroups(Name, Name, Punctuation, LiteralNumberInteger), nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
126 {`[a-z-]+/[a-z-+]+`, LiteralString, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
127 {`[0-9]+[km]?\b`, LiteralNumberInteger, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
128 {`\{[\w+.\$-]+\}`, LiteralStringEscape, nil}, // Placeholder
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
129 {`\[(?=[^#{}$]+\])`, Punctuation, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
130 {`\]|\|`, Punctuation, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
131 {`[^\s#{}$\]]+`, LiteralString, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
132 {`/[^\s#]*`, Name, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
133 {`\s+`, Text, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
134 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
135 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
136 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
137
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
138 // Caddyfile lexer.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
139 var Caddyfile = Register(MustNewLexer(
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
140 &Config{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
141 Name: "Caddyfile",
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
142 Aliases: []string{"caddyfile", "caddy"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
143 Filenames: []string{"Caddyfile*"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
144 MimeTypes: []string{},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
145 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
146 caddyfileRules,
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
147 ))
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
148
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
149 func caddyfileRules() Rules {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
150 return Rules{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
151 "root": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
152 Include("comments"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
153 // Global options block
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
154 {`^\s*(\{)\s*$`, ByGroups(Punctuation), Push("globals")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
155 // Snippets
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
156 {`(\([^\s#]+\))(\s*)(\{)`, ByGroups(NameVariableAnonymous, Text, Punctuation), Push("snippet")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
157 // Site label
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
158 {`[^#{(\s,]+`, GenericHeading, Push("label")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
159 // Site label with placeholder
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
160 {`\{[\w+.\$-]+\}`, LiteralStringEscape, Push("label")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
161 {`\s+`, Text, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
162 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
163 "globals": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
164 {`\}`, Punctuation, Pop(1)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
165 {`[^\s#]+`, Keyword, Push("directive")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
166 Include("base"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
167 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
168 "snippet": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
169 {`\}`, Punctuation, Pop(1)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
170 // Matcher definition
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
171 {`@[^\s]+(?=\s)`, NameDecorator, Push("matcher")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
172 // Any directive
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
173 {`[^\s#]+`, Keyword, Push("directive")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
174 Include("base"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
175 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
176 "label": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
177 // Allow multiple labels, comma separated, newlines after
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
178 // a comma means another label is coming
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
179 {`,\s*\n?`, Text, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
180 {` `, Text, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
181 // Site label with placeholder
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
182 {`\{[\w+.\$-]+\}`, LiteralStringEscape, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
183 // Site label
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
184 {`[^#{(\s,]+`, GenericHeading, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
185 // Comment after non-block label (hack because comments end in \n)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
186 {`#.*\n`, CommentSingle, Push("site_block")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
187 // Note: if \n, we'll never pop out of the site_block, it's valid
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
188 {`\{(?=\s)|\n`, Punctuation, Push("site_block")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
189 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
190 "site_block": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
191 {`\}`, Punctuation, Pop(2)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
192 Include("site_block_common"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
193 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
194 }.Merge(caddyfileCommonRules())
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
195 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
196
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
197 // Caddyfile directive-only lexer.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
198 var CaddyfileDirectives = Register(MustNewLexer(
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
199 &Config{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
200 Name: "Caddyfile Directives",
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
201 Aliases: []string{"caddyfile-directives", "caddyfile-d", "caddy-d"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
202 Filenames: []string{},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
203 MimeTypes: []string{},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
204 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
205 caddyfileDirectivesRules,
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
206 ))
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
207
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
208 func caddyfileDirectivesRules() Rules {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
209 return Rules{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
210 // Same as "site_block" in Caddyfile
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
211 "root": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
212 Include("site_block_common"),
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
213 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
214 }.Merge(caddyfileCommonRules())
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
215 }