@@ -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 :
0 commit comments