diff --git a/Cargo.toml b/Cargo.toml deleted file mode 100644 index 3b1ef3b..0000000 --- a/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[package] -name = "caddyfile" -version = "0.0.4" -edition = "2021" - -[lib] -crate-type = ["cdylib"] - -[dependencies] -zed_extension_api = "0.7.0" diff --git a/extension.toml b/extension.toml index 3455bb2..832b2b2 100644 --- a/extension.toml +++ b/extension.toml @@ -8,4 +8,4 @@ repository = "https://github.com/nusnewob/caddyfile-zed" [grammars.caddyfile] repository = "https://github.com/caddyserver/tree-sitter-caddyfile.git" -commit = "a599a9ca6729d4a115f59a7f12247e86e9a78008" +commit = "462aa78b5aa98442b8c8769865da84263b036c46" diff --git a/languages/caddyfile/highlights.scm b/languages/caddyfile/highlights.scm index fbf60d8..e7ae240 100644 --- a/languages/caddyfile/highlights.scm +++ b/languages/caddyfile/highlights.scm @@ -1,39 +1,49 @@ +(comment) @comment +[ + (environment_variable) + (placeholder) +] @constant + [ - (url) - (unix_socket) + (network_address) + (ip_address_or_cidr) + (path) ] @type -(placeholder) @constant -(site_address) @keyword [ - (directive_name) - (snippet_name) -] @property + (snippet_name) + (named_route_identifier) + (site_address) +] @keyword + +(directive (directive_name) @property) + +; 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) -(named_matcher (matcher_name) @function.method) +; directive within a named matcher declaration +(matcher_directive (matcher_directive_name) @function.method) -(matcher) @function.call +; any other matcher (wildcard and path) +(matcher) @function.macro [ - (interpreted_string_literal) - (raw_string_literal) + (interpreted_string_literal) + (raw_string_literal) + (heredoc) + (cel_expression) ] @string - (escape_sequence) @escape -(int_literal) @number - -(comment) @comment +[ + (duration_literal) + (int_literal) +] @number -;[ -; "on" -; "off" -; "first" -; "last" -; "before" -; "after" -; "internal" -; "strip_prefix" -; "strip_suffix" -; "replace" -;] @constant +[ + "{" + "}" +] @punctuation.bracket diff --git a/languages/caddyfile/indents.scm b/languages/caddyfile/indents.scm index 558a06b..e975469 100644 --- a/languages/caddyfile/indents.scm +++ b/languages/caddyfile/indents.scm @@ -1,8 +1 @@ -[ "{" ] @indent.end - -[ "{" "}" ] @indent.branch - -[ - (ERROR) - (comment) -] @indent.auto +(_ "{" "}" @end) @indent diff --git a/languages/caddyfile/injections.scm b/languages/caddyfile/injections.scm index 4bb7d67..c01a02c 100644 --- a/languages/caddyfile/injections.scm +++ b/languages/caddyfile/injections.scm @@ -1 +1,7 @@ (comment) @comment +((cel_expression) @injection.content + (#set! injection.language "cel")) + +(heredoc + (heredoc_body) @injection.content + (heredoc_end) @injection.language) diff --git a/languages/caddyfile/locals.scm b/languages/caddyfile/locals.scm index 1ee6633..bb6a2ed 100644 --- a/languages/caddyfile/locals.scm +++ b/languages/caddyfile/locals.scm @@ -1,5 +1,5 @@ (block) @local.scope -(named_matcher (matcher_name) @local.definition) +(named_matcher (matcher_identifier (matcher_name)) @local.definition) (matcher) @local.reference diff --git a/src/lib.rs b/src/lib.rs deleted file mode 100644 index 7d61313..0000000 --- a/src/lib.rs +++ /dev/null @@ -1,11 +0,0 @@ -use zed_extension_api::{self as zed}; - -struct CaddyfileExtension; - -impl zed::Extension for CaddyfileExtension { - fn new() -> Self { - Self - } -} - -zed::register_extension!(CaddyfileExtension);