From f33a6af4e5990222b57661ce657d50bbbf2d4abf Mon Sep 17 00:00:00 2001 From: lens0021 Date: Thu, 7 Nov 2024 22:51:14 +0900 Subject: [PATCH 1/6] Add support for Amber lang --- languages.toml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/languages.toml b/languages.toml index ea6e6893fbf1..54283ea8d707 100644 --- a/languages.toml +++ b/languages.toml @@ -3931,3 +3931,14 @@ indent = { tab-width = 4, unit = " " } [[grammar]] name = "spade" source = { git = "https://gitlab.com/spade-lang/tree-sitter-spade/", rev = "4d5b141017c61fe7e168e0a5c5721ee62b0d9572" } + +[[language]] +name = "amber" +scope = "source.ab" +file-types = ["ab"] +comment-token = "//" +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "amber" +source = { git = "https://github.com/amber-lang/tree-sitter-amber", rev = "c6df3ec2ec243ed76550c525e7ac3d9a10c6c814" } From 5183138390947841165b594defc02f40e751d97d Mon Sep 17 00:00:00 2001 From: lens0021 Date: Thu, 7 Nov 2024 22:52:57 +0900 Subject: [PATCH 2/6] Add queries Co-authored-by: Phoenix Himself --- runtime/queries/amber/brackets.scm | 6 +++ runtime/queries/amber/highlights.scm | 60 ++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 runtime/queries/amber/brackets.scm create mode 100644 runtime/queries/amber/highlights.scm diff --git a/runtime/queries/amber/brackets.scm b/runtime/queries/amber/brackets.scm new file mode 100644 index 000000000000..a945de723ddb --- /dev/null +++ b/runtime/queries/amber/brackets.scm @@ -0,0 +1,6 @@ +("[" @open "]" @close) +("{" @open "}" @close) +("\"" @open "\"" @close) +("$" @open "$" @close) + +(interpolation "{" @open "}" @close) diff --git a/runtime/queries/amber/highlights.scm b/runtime/queries/amber/highlights.scm new file mode 100644 index 000000000000..e0c530086ff8 --- /dev/null +++ b/runtime/queries/amber/highlights.scm @@ -0,0 +1,60 @@ +(comment) @comment + +[ + "if" + "loop" + "for" + "return" + "fun" + "else" + "then" + "break" + "continue" + "and" + "or" + "not" + "let" + "pub" + "main" + "echo" + "exit" + "fun" + "import" + "from" + "as" + "in" + "fail" + "failed" + "silent" + "nameof" + "is" + "unsafe" + "trust" +] @keyword + +; Literals +(boolean) @constant.builtin.boolean +(number) @constant.numeric +(null) @constant.numeric +(string) @string +(status) @keyword +(command) @string +(handler) @keyword +(block) @delimeter +(variable_init) @keyword +(variable_assignment) @delimiter +(variable) @variable +(escape_sequence) @constant.character.escape +(type_name_symbol) @type +(interpolation) @delimiter +(reference) @keyword +(preprocessor_directive) @comment +(shebang) @comment +(function_definition + name: (variable) @function.method) +(function_call + name: (variable) @function.method) +(import_statement + "pub" @keyword + "import" @keyword + "from" @keyword) From 07f759a923069aa8d8d6016b765ed889260f2dab Mon Sep 17 00:00:00 2001 From: Lens0021 / Leslie Date: Tue, 19 Nov 2024 22:23:07 +0900 Subject: [PATCH 3/6] docs: Add amber to the supported language table --- book/src/generated/lang-support.md | 1 + 1 file changed, 1 insertion(+) diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index 28f25ba3fd3d..d85cebf06872 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -3,6 +3,7 @@ | ada | ✓ | ✓ | | `ada_language_server` | | adl | ✓ | ✓ | ✓ | | | agda | ✓ | | | | +| amber | ✓ | | | | | astro | ✓ | | | | | awk | ✓ | ✓ | | `awk-language-server` | | bash | ✓ | ✓ | ✓ | `bash-language-server` | From 75f1a999ca6db87b2985a3361b568dc6daea594e Mon Sep 17 00:00:00 2001 From: lens0021 Date: Thu, 21 Nov 2024 10:37:55 +0900 Subject: [PATCH 4/6] Remove an useless queries file --- runtime/queries/amber/brackets.scm | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 runtime/queries/amber/brackets.scm diff --git a/runtime/queries/amber/brackets.scm b/runtime/queries/amber/brackets.scm deleted file mode 100644 index a945de723ddb..000000000000 --- a/runtime/queries/amber/brackets.scm +++ /dev/null @@ -1,6 +0,0 @@ -("[" @open "]" @close) -("{" @open "}" @close) -("\"" @open "\"" @close) -("$" @open "$" @close) - -(interpolation "{" @open "}" @close) From f172cc8b6a137b97e3a629bfe6f1caa2e6847716 Mon Sep 17 00:00:00 2001 From: Lens0021 / Leslie Date: Thu, 21 Nov 2024 10:42:36 +0900 Subject: [PATCH 5/6] Update runtime/queries/amber/highlights.scm Co-authored-by: Michael Davis --- runtime/queries/amber/highlights.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/queries/amber/highlights.scm b/runtime/queries/amber/highlights.scm index e0c530086ff8..b3f6ea4f787f 100644 --- a/runtime/queries/amber/highlights.scm +++ b/runtime/queries/amber/highlights.scm @@ -40,7 +40,7 @@ (status) @keyword (command) @string (handler) @keyword -(block) @delimeter +(block) @punctuation.delimiter (variable_init) @keyword (variable_assignment) @delimiter (variable) @variable From 1946bacbbe08b44455d0574b45757478d66b63e4 Mon Sep 17 00:00:00 2001 From: Michael Davis Date: Thu, 21 Nov 2024 10:09:24 -0600 Subject: [PATCH 6/6] Fix 'punctuation.delimiter' captures --- runtime/queries/amber/highlights.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/queries/amber/highlights.scm b/runtime/queries/amber/highlights.scm index b3f6ea4f787f..39f965b58345 100644 --- a/runtime/queries/amber/highlights.scm +++ b/runtime/queries/amber/highlights.scm @@ -42,11 +42,11 @@ (handler) @keyword (block) @punctuation.delimiter (variable_init) @keyword -(variable_assignment) @delimiter +(variable_assignment) @punctuation.delimiter (variable) @variable (escape_sequence) @constant.character.escape (type_name_symbol) @type -(interpolation) @delimiter +(interpolation) @punctuation.delimiter (reference) @keyword (preprocessor_directive) @comment (shebang) @comment