diff options
| author | loongtao.zhang <loongtao.zhang@outlook.com> | 2025-02-08 17:38:50 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-08 10:38:50 +0100 |
| commit | cbd48fac13d2286dd10d08e1d6d83e6de7f13600 (patch) | |
| tree | ad137f57b6be4a6a90c342611759b15a0df2fb9d /queries | |
| parent | feat(enforce): add parser and queries (#7626) (diff) | |
| download | nvim-treesitter-cbd48fac13d2286dd10d08e1d6d83e6de7f13600.tar nvim-treesitter-cbd48fac13d2286dd10d08e1d6d83e6de7f13600.tar.gz nvim-treesitter-cbd48fac13d2286dd10d08e1d6d83e6de7f13600.tar.bz2 nvim-treesitter-cbd48fac13d2286dd10d08e1d6d83e6de7f13600.tar.lz nvim-treesitter-cbd48fac13d2286dd10d08e1d6d83e6de7f13600.tar.xz nvim-treesitter-cbd48fac13d2286dd10d08e1d6d83e6de7f13600.tar.zst nvim-treesitter-cbd48fac13d2286dd10d08e1d6d83e6de7f13600.zip | |
feat(jinja): add parser and queries (#7573)
Signed-off-by: loongtao.zhang <loongtao.zhang@outlook.com>
Co-authored-by: Riley Bruins <ribru17@hotmail.com>
Diffstat (limited to 'queries')
| -rw-r--r-- | queries/jinja/highlights.scm | 19 | ||||
| -rw-r--r-- | queries/jinja/injections.scm | 5 | ||||
| -rw-r--r-- | queries/jinja_inline/highlights.scm | 157 | ||||
| -rw-r--r-- | queries/jinja_inline/injections.scm | 2 |
4 files changed, 183 insertions, 0 deletions
diff --git a/queries/jinja/highlights.scm b/queries/jinja/highlights.scm new file mode 100644 index 000000000..cb6f9ff41 --- /dev/null +++ b/queries/jinja/highlights.scm @@ -0,0 +1,19 @@ +; inherits: jinja_inline + +[ + "{{" + "{{-" + "{{+" + "+}}" + "-}}" + "}}" + "{%" + "{%-" + "{%+" + "+%}" + "-%}" + "%}" +] @keyword.directive + +; TODO: only match raw +(raw_start) @keyword diff --git a/queries/jinja/injections.scm b/queries/jinja/injections.scm new file mode 100644 index 000000000..162db3aee --- /dev/null +++ b/queries/jinja/injections.scm @@ -0,0 +1,5 @@ +((inline) @injection.content + (#set! injection.language "jinja_inline")) + +((comment) @injection.content + (#set! injection.language "comment")) diff --git a/queries/jinja_inline/highlights.scm b/queries/jinja_inline/highlights.scm new file mode 100644 index 000000000..69dba77b3 --- /dev/null +++ b/queries/jinja_inline/highlights.scm @@ -0,0 +1,157 @@ +"#" @keyword.directive + +(string_literal) @string + +(number_literal) @number + +(float_literal) @number.float + +(boolean_literal) @boolean + +(null_literal) @constant + +"defined" @constant + +(comment) @comment @spell + +[ + "," + "." + ":" +] @punctuation.delimiter + +[ + (attribute_ignore) + (attribute_context) + "recursive" +] @attribute.builtin + +[ + "(" + ")" + "[" + "]" + "<" + ">" +] @punctuation.bracket + +(binary_operator) @operator + +[ + "block" + "with" + "filter" + "macro" + "set" + "trans" + "pluralize" + "autoescape" +] @keyword + +[ + "endtrans" + "endblock" + "endwith" + "endfilter" + "endmacro" + "endcall" + "endset" + "endtrans" + "endautoescape" +] @keyword + +(do_statement + "do" @keyword) + +[ + "include" + "import" + "from" + "extends" + "as" +] @keyword.import + +(import_statement + (identifier) @variable) + +(import_as + (identifier) @variable) + +[ + "if" + "else" + "endif" + "elif" +] @keyword.conditional + +[ + "for" + "in" + "continue" + "break" + "endfor" +] @keyword.repeat + +"call" @function.call + +(function_call + (identifier) @function.call) + +(arg + (identifier) @variable.parameter) + +(arg + (expression + (binary_expression + (unary_expression + (primary_expression + (identifier) @variable.parameter))))) + +(expression + "." + (expression)+ @variable.member) + +(assignment_expression + "." + (identifier)+ @variable.member) + +(inline_trans + "_" @function.builtin) + +"debug" @function.builtin + +(raw_end) @keyword + +(raw_body) @markup.raw.block @nospell + +(builtin_test + [ + "boolean" + "even" + "in" + "mapping" + "sequence" + "callable" + "integer" + "ne" + "string" + "defined" + "filter" + "iterable" + "none" + "test" + "divisibleby" + "float" + "le" + "number" + "eq" + "ge" + "lower" + "odd" + "undefined" + "escaped" + "gt" + "lt" + "sameas" + "upper" + ] @keyword.operator) diff --git a/queries/jinja_inline/injections.scm b/queries/jinja_inline/injections.scm new file mode 100644 index 000000000..2f0e58eb6 --- /dev/null +++ b/queries/jinja_inline/injections.scm @@ -0,0 +1,2 @@ +((comment) @injection.content + (#set! injection.language "comment")) |
