Skip to content

Commit 6644472

Browse files
committed
Merge branch 'st4134'
2 parents c384d2f + 2545433 commit 6644472

4 files changed

Lines changed: 114 additions & 0 deletions

File tree

Syntaxes/HTML (Liquid).sublime-syntax

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,33 @@ contexts:
7272
3: source.js.embedded.html
7373
4: comment.block.html punctuation.definition.comment.end.html
7474

75+
script-json-content:
76+
- meta_include_prototype: false
77+
- match: \s*((<!\[)(CDATA)(\[))
78+
captures:
79+
1: meta.tag.sgml.cdata.html
80+
2: punctuation.definition.tag.begin.html
81+
3: keyword.declaration.cdata.html
82+
4: punctuation.definition.tag.begin.html
83+
pop: 1 # make sure to match only once
84+
embed: scope:source.json.liquid
85+
embed_scope: meta.tag.sgml.cdata.html source.json.embedded.html
86+
escape: \]\]>
87+
escape_captures:
88+
0: meta.tag.sgml.cdata.html punctuation.definition.tag.end.html
89+
- match: '{{script_content_begin}}'
90+
captures:
91+
1: comment.block.html punctuation.definition.comment.begin.html
92+
pop: 1 # make sure to match only once
93+
embed: scope:source.json.liquid
94+
embed_scope: source.json.embedded.html
95+
escape: '{{script_content_end}}'
96+
escape_captures:
97+
1: source.json.embedded.html
98+
2: comment.block.html punctuation.definition.comment.end.html
99+
3: source.json.embedded.html
100+
4: comment.block.html punctuation.definition.comment.end.html
101+
75102
style-css-content:
76103
- meta_include_prototype: false
77104
- match: \s*((<!\[)(CDATA)(\[))
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
%YAML 1.2
2+
---
3+
# http://www.sublimetext.com/docs/syntax.html
4+
name: JSON (Liquid)
5+
scope: source.json.liquid
6+
version: 2
7+
8+
extends: Packages/JSON/JSON.sublime-syntax
9+
10+
file_extensions:
11+
- json.liquid
12+
- liquid.json
13+
14+
contexts:
15+
16+
prototype:
17+
- meta_prepend: true
18+
- include: scope:source.liquid
19+
20+
inside-string:
21+
- meta_prepend: true
22+
- include: scope:source.liquid#interpolations

tests/syntax_test_liquid.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// SYNTAX TEST "Packages/Liquid/Syntaxes/JSON (Liquid).sublime-syntax"
2+
{
3+
{{ key }}: {{ value }},
4+
// ^ meta.mapping.json - meta.interpolation
5+
// ^^^^^^^^^ meta.mapping.json meta.interpolation.liquid
6+
// ^^ meta.mapping.json - meta.interpolation
7+
// ^^^^^^^^^^^ meta.mapping.json meta.interpolation.liquid
8+
// ^ meta.mapping.json - meta.interpolation
9+
// ^^ punctuation.section.interpolation.begin.liquid
10+
// ^^^^^ source.liquid
11+
// ^^ punctuation.section.interpolation.end.liquid
12+
// ^ punctuation.separator.key-value.json
13+
// ^^ punctuation.section.interpolation.begin.liquid
14+
// ^^^^^^^ source.liquid
15+
// ^^ punctuation.section.interpolation.end.liquid
16+
17+
"key": "String {{val}}!",
18+
// ^^^^^^^^ string.quoted.double.json
19+
// ^^^^^^^ meta.interpolation.liquid
20+
// ^^ string.quoted.double.json
21+
22+
"key": [ {{item1}}, {{item2}} ],
23+
// ^^^^^^^^^^^^^^^^^^^^^^^^ meta.mapping.value.json meta.sequence.json
24+
// ^ punctuation.section.sequence.begin.json
25+
// ^^^^^^^^^ meta.interpolation.liquid
26+
// ^ punctuation.separator.sequence.json
27+
// ^^^^^^^^^ meta.interpolation.liquid
28+
// ^ punctuation.section.sequence.end.json
29+
}

tests/syntax_test_liquid.liquid.html

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,3 +716,39 @@
716716
}
717717
| ^ source.js.embedded.html meta.function.js meta.block.js punctuation.section.block.end.js
718718
</script>
719+
720+
721+
<!--
722+
--- Test JSON
723+
-->
724+
725+
<script type="application/ld+json">
726+
{
727+
{{ key }}: {{ value }},
728+
| ^ meta.mapping.json - meta.interpolation
729+
| ^^^^^^^^^ meta.mapping.json meta.interpolation.liquid
730+
| ^^ meta.mapping.json - meta.interpolation
731+
| ^^^^^^^^^^^ meta.mapping.json meta.interpolation.liquid
732+
| ^ meta.mapping.json - meta.interpolation
733+
| ^^ punctuation.section.interpolation.begin.liquid
734+
| ^^^^^ source.liquid
735+
| ^^ punctuation.section.interpolation.end.liquid
736+
| ^ punctuation.separator.key-value.json
737+
| ^^ punctuation.section.interpolation.begin.liquid
738+
| ^^^^^^^ source.liquid
739+
| ^^ punctuation.section.interpolation.end.liquid
740+
741+
"key": "String {{val}}!",
742+
| ^^^^^^^^ string.quoted.double.json
743+
| ^^^^^^^ meta.interpolation.liquid
744+
| ^^ string.quoted.double.json
745+
746+
"key": [ {{item1}}, {{item2}} ],
747+
| ^^^^^^^^^^^^^^^^^^^^^^^^ meta.mapping.value.json meta.sequence.json
748+
| ^ punctuation.section.sequence.begin.json
749+
| ^^^^^^^^^ meta.interpolation.liquid
750+
| ^ punctuation.separator.sequence.json
751+
| ^^^^^^^^^ meta.interpolation.liquid
752+
| ^ punctuation.section.sequence.end.json
753+
}
754+
</script>

0 commit comments

Comments
 (0)