Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/caddyfile/highlights.scm')
-rw-r--r--runtime/queries/caddyfile/highlights.scm72
1 files changed, 72 insertions, 0 deletions
diff --git a/runtime/queries/caddyfile/highlights.scm b/runtime/queries/caddyfile/highlights.scm
new file mode 100644
index 00000000..492d2aec
--- /dev/null
+++ b/runtime/queries/caddyfile/highlights.scm
@@ -0,0 +1,72 @@
+(comment) @comment
+[
+ (environment_variable)
+ (placeholder)
+] @constant
+
+[
+ (network_address)
+ (ip_address_or_cidr)
+] @string.special.url
+
+(path) @string.special.path
+
+[
+ (snippet_name)
+ (named_route_identifier)
+ (site_address)
+] @keyword
+
+(directive (directive_name) @variable.other.member)
+
+; declaration of a named matcher
+(named_matcher (matcher_identifier (matcher_name)) @function.macro)
+
+; reference to a named matcher
+(matcher (matcher_identifier (matcher_name)) @function.macro)
+
+; directive within a named matcher declaration
+(matcher_directive (matcher_directive_name) @function.method)
+
+; any other matcher (wildcard and path)
+(matcher) @function.macro
+
+[
+ (interpreted_string_literal)
+ (raw_string_literal)
+ (heredoc)
+ (cel_expression)
+] @string
+(escape_sequence) @constant.character.escape
+
+[
+ (duration_literal)
+ (int_literal)
+] @constant.numeric
+
+[
+ "{"
+ "}"
+] @punctuation.bracket
+
+(global_options
+ (directive) @keyword.directive)
+
+(directive
+ name: (directive_name)
+ (argument) @type)
+
+; matches directive arguments that looks like an absolute path
+; e.g.
+; log {
+; output file /var/log/caddy.log
+; }
+(directive
+ (argument) @string.special.path
+ (#match? @string.special.path "^/"))
+
+((argument) @constant.builtin.boolean
+ (#any-of? @constant.builtin.boolean "on" "off"))
+
+((argument) @type.enum.variant
+ (#any-of? @type.enum.variant "tcp" "udp" "ipv4" "ipv6"))