Skip to content

Commit f94dc46

Browse files
committed
Merge branch 'develop'
2 parents 305cf38 + 0020198 commit f94dc46

2 files changed

Lines changed: 45 additions & 0 deletions

File tree

Syntaxes/Liquid.sublime-syntax

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,8 @@ contexts:
168168
- include: liquid-conditionals
169169
- include: liquid-iterations
170170
- include: liquid-functions
171+
- include: liquid-filters
172+
- include: liquid-expression-continuation
171173
- include: liquid-other
172174

173175
liquid-expression:
@@ -453,6 +455,32 @@ contexts:
453455
- match: \bby\b
454456
scope: keyword.operator.liquid
455457

458+
liquid-expression-continuation:
459+
# hack to handle multi-line expressions
460+
# If first token of a new line matches one of the following patterns
461+
# it is most likely a continuation of an expression.
462+
- match: ':'
463+
scope: punctuation.separator.key-value.liquid
464+
push: liquid-expression
465+
- match: ','
466+
scope: punctuation.separator.sequence.liquid
467+
push: liquid-expression
468+
- match: =
469+
scope: keyword.operator.assignment.liquid
470+
push: liquid-expression
471+
- match: (?:!=|==|<=|>=|<|>)
472+
scope: keyword.operator.comparison.liquid
473+
push: liquid-expression
474+
- match: \bas\b
475+
scope: keyword.operator.assignment.liquid
476+
push: liquid-expression
477+
- match: \b(?:and|or|not|contains)\b
478+
scope: keyword.operator.logical.liquid
479+
push: liquid-expression
480+
- match: \bby\b
481+
scope: keyword.operator.liquid
482+
push: liquid-expression
483+
456484
###[ LIQUID LITERALS ]########################################################
457485

458486
liquid-constants:

tests/syntax_test_liquid.liquid.html

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,23 @@
8888
| ^^^^^^^ meta.string.liquid string.quoted.double.liquid
8989
| ^^ punctuation.section.embedded.end.liquid
9090

91+
{%- if foo != blank
92+
and bar != ''
93+
|^^^^^^^^^^^^^^ meta.embedded.liquid source.liquid meta.statement.liquid
94+
| ^^^ keyword.operator.logical.liquid
95+
| ^^^ variable.other.liquid
96+
| ^^ keyword.operator.comparison.liquid
97+
| ^^ meta.string.liquid string.quoted.single.liquid
98+
or baz
99+
|^^^^^^^^ meta.embedded.liquid source.liquid meta.statement.liquid
100+
| ^^ keyword.operator.logical.liquid
101+
| ^^^ variable.other.liquid
102+
== true
103+
|^^^^^^^^ meta.embedded.liquid source.liquid meta.statement.liquid
104+
| ^^ keyword.operator.assignment.liquid
105+
| ^^^^ constant.language.boolean.liquid
106+
-%}
107+
91108
{% case handle %}
92109
|^^^^^^^^^^^^^^^^ meta.embedded.liquid source.liquid meta.statement.liquid
93110
| ^^^^ keyword.control.conditional.case.liquid

0 commit comments

Comments
 (0)