Skip to content

Commit 68836e0

Browse files
committed
Add support for inline if and for expressions
1 parent d217579 commit 68836e0

File tree

2 files changed

+34
-2
lines changed

2 files changed

+34
-2
lines changed

Syntaxes/Text/Text (Jinja).sublime-syntax

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ contexts:
504504
- match: in\b
505505
scope: keyword.control.loop.in.jinja
506506
pop: 1
507-
- match: (?=\:?\s*(?:##|$))
507+
- match: (?=[)\]}]|%}|\:?\s*(?:##|$))
508508
pop: 1
509509
- include: expressions
510510

@@ -688,6 +688,14 @@ contexts:
688688
###[ OPERATORS ]###############################################################
689689

690690
operators:
691+
# inline if statements
692+
- match: if\b
693+
scope: keyword.control.conditional.if.jinja
694+
- match: else\b
695+
scope: keyword.control.conditional.else.jinja
696+
- match: for\b
697+
scope: keyword.control.loop.for.jinja
698+
push: for-expression
691699
# alphanumeric operators
692700
- match: as\b
693701
scope: keyword.operator.word.jinja keyword.operator.assignment.as.jinja

Syntaxes/Text/syntax_test_scopes.jinja.txt

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,9 @@ not a # for statement:
119119
## ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.jinja.embedded
120120
## ^^ punctuation.section.embedded.end.jinja - source.jinja.embedded
121121
## ^^ keyword.control.conditional.if.jinja
122-
## ^^^^^^^^^^^^^^^^^^^^^^ - keyword
122+
## ^^^^^^ - keyword
123+
## ^^^^ keyword.control.conditional.else.jinja
124+
## ^^^^^^^^^^^^^ - keyword
123125

124126
{% for item in items endfor %}
125127
## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.embedded.statement.jinja
@@ -718,6 +720,28 @@ not a # for statement:
718720
## ^^^^^^ variable.other.readwrite.jinja
719721
## ^ punctuation.section.arguments.end.jinja
720722

723+
{% inlineif(arg = ("a" if True else "b")) %}
724+
## ^^^^^^^^^^^^^^^^^^^^^^ meta.group.jinja
725+
## ^^^ meta.string.jinja string.quoted.double.jinja
726+
## ^^ keyword.control.conditional.if.jinja
727+
## ^^^^ constant.language.boolean.true.jinja
728+
## ^^^^ keyword.control.conditional.else.jinja
729+
## ^^^ meta.string.jinja string.quoted.double.jinja
730+
731+
{% inlinefor(arg = (a for a in ("a", "b"))) %}
732+
## ^^^^^^^^^^^^^^^^^^^^^^^ meta.group.jinja
733+
## ^ variable.other.readwrite.jinja
734+
## ^^^ keyword.control.loop.for.jinja
735+
## ^ variable.other.readwrite.jinja
736+
## ^^ keyword.control.loop.in.jinja
737+
## ^^^^^^^^^^ meta.sequence.tuple.jinja
738+
## ^ punctuation.section.sequence.begin.jinja
739+
## ^^^ meta.string.jinja string.quoted.double.jinja
740+
## ^ punctuation.separator.sequence.jinja
741+
## ^^^ meta.string.jinja string.quoted.double.jinja
742+
## ^ punctuation.section.sequence.end.jinja
743+
## ^ punctuation.section.group.end.jinja
744+
## ^ punctuation.section.arguments.end.jinja
721745

722746
### [ EXPRESSION BLOCKS ] #####################################################
723747

0 commit comments

Comments
 (0)