aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Davis2022-05-17 19:38:34 +0000
committerBlaž Hrastnik2022-05-25 12:26:26 +0000
commit82da9bd4f28cd2a050222173d6429478bed5b3cb (patch)
tree78a912e5f6d4c800a1e57c9e40ea2bfbdf69ba1d
parent45dd54082e4dde74b7d344c6bb8a4ff2a09e627e (diff)
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 '=:='.
-rw-r--r--languages.toml2
-rw-r--r--runtime/queries/erlang/highlights.scm5
2 files changed, 6 insertions, 1 deletions
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