From 0f6d768a05d89b2963dfae8d9c44b73fd5328462 Mon Sep 17 00:00:00 2001 From: Peter Tripp Date: Thu, 5 Jun 2025 13:53:35 -0400 Subject: [PATCH] Add support for Java Properties --- extension.toml | 4 ++++ languages/properties/config.toml | 5 +++++ languages/properties/highlights.scm | 28 ++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 languages/properties/config.toml create mode 100644 languages/properties/highlights.scm diff --git a/extension.toml b/extension.toml index 6635c8a..bbbf286 100644 --- a/extension.toml +++ b/extension.toml @@ -14,6 +14,10 @@ repository = "https://github.com/zed-extensions/java" repository = "https://github.com/tree-sitter/tree-sitter-java" commit = "94703d5a6bed02b98e438d7cad1136c01a60ba2c" +[grammars.properties] +repository = "https://github.com/tree-sitter-grammars/tree-sitter-properties" +commit = "579b62f5ad8d96c2bb331f07d1408c92767531d9" + [language_servers.jdtls] name = "Eclipse JDT Language Server" language = "Java" diff --git a/languages/properties/config.toml b/languages/properties/config.toml new file mode 100644 index 0000000..9537eef --- /dev/null +++ b/languages/properties/config.toml @@ -0,0 +1,5 @@ +name = "Properties" +grammar = "properties" +path_suffixes = ["properties"] +line_comments = ["# "] +brackets = [{ start = "[", end = "]", close = true, newline = true }] diff --git a/languages/properties/highlights.scm b/languages/properties/highlights.scm new file mode 100644 index 0000000..5b71487 --- /dev/null +++ b/languages/properties/highlights.scm @@ -0,0 +1,28 @@ +(comment) @comment + +(key) @property + +(value) @string + +(value (escape) @string.escape) + +((index) @number + (#match? @number "^[0-9]+$")) + +((substitution (key) @constant) + (#match? @constant "^[A-Z0-9_]+")) + +(substitution + (key) @function + "::" @punctuation.special + (secret) @embedded) + +(property [ "=" ":" ] @operator) + +[ "${" "}" ] @punctuation.special + +(substitution ":" @punctuation.special) + +[ "[" "]" ] @punctuation.bracket + +[ "." "\\" ] @punctuation.delimiter