From 82da9bd4f28cd2a050222173d6429478bed5b3cb Mon Sep 17 00:00:00 2001 From: Michael Davis Date: Tue, 17 May 2022 14:38:34 -0500 Subject: [PATCH] update Erlang grammar and queries The update to the grammar itself covers the case where the document is a single expression without a trailing newline such as "min(A, B)". A small change to the parser now parses these expressions correctly which improves the display of the function head in the signature help popup. The update to the queries marks 'andalso', 'orelse', 'not', etc. as `@keyword.operator` which improves the look - it looks odd to see operators that are words highlighted the same as tokens like '->' or '=:='. --- languages.toml | 2 +- runtime/queries/erlang/highlights.scm | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/languages.toml b/languages.toml index b1984fb5..e2bf26bf 100644 --- a/languages.toml +++ b/languages.toml @@ -1049,7 +1049,7 @@ language-server = { command = "erlang_ls" } [[grammar]] name = "erlang" -source = { git = "https://github.com/the-mikedavis/tree-sitter-erlang", rev = "3f611cfdc790214c3f9f9cf1658b3ae8039c54b8" } +source = { git = "https://github.com/the-mikedavis/tree-sitter-erlang", rev = "6cd8f956ada445b277de1581b5328ae8e8be9aac" } [[language]] name = "kotlin" diff --git a/runtime/queries/erlang/highlights.scm b/runtime/queries/erlang/highlights.scm index 1e075349..bea3871a 100644 --- a/runtime/queries/erlang/highlights.scm +++ b/runtime/queries/erlang/highlights.scm @@ -85,6 +85,11 @@ operator: "/" right: (integer) @constant.numeric.integer) +((binary_operator operator: _ @keyword.operator) + (#match? @keyword.operator "^\\w+$")) +((unary_operator operator: _ @keyword.operator) + (#match? @keyword.operator "^\\w+$")) + (binary_operator operator: _ @operator) (unary_operator operator: _ @operator) ["/" ":" "#" "->"] @operator