aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRobert Muir <rmuir@apache.org>2025-07-17 22:12:23 -0400
committerChristian Clason <ch.clason+github@icloud.com>2025-07-19 18:25:47 +0200
commit20d77c2e5ba71315dee7dcf47456557413b1481e (patch)
tree55ff0ac403ae62fae13f0d28471727974ca9fa47 /tests
parentfeat(wit)!: update parser and queries (diff)
downloadnvim-treesitter-20d77c2e5ba71315dee7dcf47456557413b1481e.tar
nvim-treesitter-20d77c2e5ba71315dee7dcf47456557413b1481e.tar.gz
nvim-treesitter-20d77c2e5ba71315dee7dcf47456557413b1481e.tar.bz2
nvim-treesitter-20d77c2e5ba71315dee7dcf47456557413b1481e.tar.lz
nvim-treesitter-20d77c2e5ba71315dee7dcf47456557413b1481e.tar.xz
nvim-treesitter-20d77c2e5ba71315dee7dcf47456557413b1481e.tar.zst
nvim-treesitter-20d77c2e5ba71315dee7dcf47456557413b1481e.zip
fix(jinja): assign highlights to all variables and functions
The majority of jinja variables aren't assigned any highlights at all. Assign @variable to all identifiers. Jinja filters without parameters are not highlighted as functions: add a query for these. Refine the existing @variable.member to only capture identifiers instead of broader nodes.
Diffstat (limited to 'tests')
-rw-r--r--tests/query/highlights/jinja/filters.jinja19
-rw-r--r--tests/query/highlights/jinja/tests.jinja13
-rw-r--r--tests/query/highlights/jinja/variables.jinja21
3 files changed, 53 insertions, 0 deletions
diff --git a/tests/query/highlights/jinja/filters.jinja b/tests/query/highlights/jinja/filters.jinja
new file mode 100644
index 000000000..a084cdc1a
--- /dev/null
+++ b/tests/query/highlights/jinja/filters.jinja
@@ -0,0 +1,19 @@
+{{ name|striptags|title }}
+{# ^^^^ @variable #}
+{# ^^^^^ @function.call #}
+{# ^^^^^ @function.call #}
+
+{{ listx|join(', ') }}
+{# ^^^^^ @variable #}
+{# ^^^^ @function.call #}
+{# ^^^^ @string #}
+
+{{ listx|join(str) }}
+{# ^^^^^ @variable #}
+{# ^^^^ @function.call #}
+{# ^^^ @variable.parameter #}
+
+{{ foo.bar|random }}
+{# ^^^ @variable #}
+{# ^^^ @variable.member #}
+{# ^^^^^^ @function.call #}
diff --git a/tests/query/highlights/jinja/tests.jinja b/tests/query/highlights/jinja/tests.jinja
new file mode 100644
index 000000000..0a138fb80
--- /dev/null
+++ b/tests/query/highlights/jinja/tests.jinja
@@ -0,0 +1,13 @@
+{% if loop.index is divisibleby 3 %}
+{# ^^^^ @variable #}
+{# ^^^^^ @variable.member #}
+{# ^^^^^^^^^^ @keyword.operator #}
+
+{% if loop.index is divisibleby(3) %}
+{# ^^^^ @variable #}
+{# ^^^^^ @variable.member #}
+
+{% if foo.bar.baz is divisibleby 3 %}
+{# ^^^ @variable #}
+{# ^^^ @variable.member #}
+{# ^^^ @variable.member #}
diff --git a/tests/query/highlights/jinja/variables.jinja b/tests/query/highlights/jinja/variables.jinja
new file mode 100644
index 000000000..1ab78c35a
--- /dev/null
+++ b/tests/query/highlights/jinja/variables.jinja
@@ -0,0 +1,21 @@
+{{ foo }}
+{# ^^^ @variable #}
+
+{{ foo.bar }}
+{# ^^^ @variable #}
+{# ^^^ @variable.member #}
+
+{{ foo['bar'] }}
+{# ^^^ @variable #}
+{# ^^^^^ @string #}
+
+{{ foo.bar.baz }}
+{# ^^^ @variable #}
+{# ^^^ @variable.member #}
+{# ^^^ @variable.member #}
+
+{{ foo.bar + baz.qux }}
+{# ^^^ @variable #}
+{# ^^^ @variable.member #}
+{# ^^^ @variable #}
+{# ^^^ @variable.member #}