summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--languages.toml2
-rw-r--r--runtime/queries/twig/highlights.scm70
2 files changed, 58 insertions, 14 deletions
diff --git a/languages.toml b/languages.toml
index 4a7f990d..08645af8 100644
--- a/languages.toml
+++ b/languages.toml
@@ -537,7 +537,7 @@ indent = { tab-width = 2, unit = " " }
[[grammar]]
name = "twig"
-source = { git = "https://github.com/eirabben/tree-sitter-twig", rev = "b7444181fb38e603e25ea8fcdac55f9492e49c27" }
+source = { git = "https://github.com/gbprod/tree-sitter-twig", rev = "807b293fec3fead64f54c64fdf6fb05516c032b9" }
[[language]]
name = "latex"
diff --git a/runtime/queries/twig/highlights.scm b/runtime/queries/twig/highlights.scm
index 2c95ab63..1ef8d06b 100644
--- a/runtime/queries/twig/highlights.scm
+++ b/runtime/queries/twig/highlights.scm
@@ -1,16 +1,60 @@
-(comment_directive) @comment
+(comment) @comment
+
+(filter_identifier) @function.method
+(function_identifier) @function.method
+(test) @function.builtin
+(variable) @variable
+(string) @string
+(interpolated_string) @string
+(operator) @operator
+(number) @constant.numeric.integer
+(boolean) @constant.builtin.boolean
+(null) @constant.builtin
+(keyword) @keyword
+(attribute) @attribute
+(tag) @tag
+(conditional) @keyword.control.conditional
+(repeat) @keyword.control.repeat
+(method) @function.method
+(parameter) @variable.parameter
[
- "{%"
- "{%-"
- "{%~"
- "%}"
- "-%}"
- "~%}"
- "{{"
- "{{-"
- "{{~"
- "}}"
- "-}}"
- "~}}"
+ "{{"
+ "}}"
+ "{{-"
+ "-}}"
+ "{{~"
+ "~}}"
+ "{%"
+ "%}"
+ "{%-"
+ "-%}"
+ "{%~"
+ "~%}"
] @keyword
+
+[
+ ","
+ "."
+ "?"
+ ":"
+ "="
+] @punctuation.delimiter
+
+(interpolated_string [
+ "#{"
+ "}"
+] @punctuation.delimiter)
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+] @punctuation.bracket
+
+(hash [
+ "}"
+] @punctuation.bracket)
+