Skip to content

Commit

Permalink
Merge branch 'st4134'
Browse files Browse the repository at this point in the history
  • Loading branch information
deathaxe committed Nov 23, 2023
2 parents c384d2f + 2545433 commit 6644472
Show file tree
Hide file tree
Showing 4 changed files with 114 additions and 0 deletions.
27 changes: 27 additions & 0 deletions Syntaxes/HTML (Liquid).sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,33 @@ contexts:
3: source.js.embedded.html
4: comment.block.html punctuation.definition.comment.end.html

script-json-content:
- meta_include_prototype: false
- match: \s*((<!\[)(CDATA)(\[))
captures:
1: meta.tag.sgml.cdata.html
2: punctuation.definition.tag.begin.html
3: keyword.declaration.cdata.html
4: punctuation.definition.tag.begin.html
pop: 1 # make sure to match only once
embed: scope:source.json.liquid
embed_scope: meta.tag.sgml.cdata.html source.json.embedded.html
escape: \]\]>
escape_captures:
0: meta.tag.sgml.cdata.html punctuation.definition.tag.end.html
- match: '{{script_content_begin}}'
captures:
1: comment.block.html punctuation.definition.comment.begin.html
pop: 1 # make sure to match only once
embed: scope:source.json.liquid
embed_scope: source.json.embedded.html
escape: '{{script_content_end}}'
escape_captures:
1: source.json.embedded.html
2: comment.block.html punctuation.definition.comment.end.html
3: source.json.embedded.html
4: comment.block.html punctuation.definition.comment.end.html

style-css-content:
- meta_include_prototype: false
- match: \s*((<!\[)(CDATA)(\[))
Expand Down
22 changes: 22 additions & 0 deletions Syntaxes/JSON (Liquid).sublime-syntax
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/syntax.html
name: JSON (Liquid)
scope: source.json.liquid
version: 2

extends: Packages/JSON/JSON.sublime-syntax

file_extensions:
- json.liquid
- liquid.json

contexts:

prototype:
- meta_prepend: true
- include: scope:source.liquid

inside-string:
- meta_prepend: true
- include: scope:source.liquid#interpolations
29 changes: 29 additions & 0 deletions tests/syntax_test_liquid.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// SYNTAX TEST "Packages/Liquid/Syntaxes/JSON (Liquid).sublime-syntax"
{
{{ key }}: {{ value }},
// ^ meta.mapping.json - meta.interpolation
// ^^^^^^^^^ meta.mapping.json meta.interpolation.liquid
// ^^ meta.mapping.json - meta.interpolation
// ^^^^^^^^^^^ meta.mapping.json meta.interpolation.liquid
// ^ meta.mapping.json - meta.interpolation
// ^^ punctuation.section.interpolation.begin.liquid
// ^^^^^ source.liquid
// ^^ punctuation.section.interpolation.end.liquid
// ^ punctuation.separator.key-value.json
// ^^ punctuation.section.interpolation.begin.liquid
// ^^^^^^^ source.liquid
// ^^ punctuation.section.interpolation.end.liquid

"key": "String {{val}}!",
// ^^^^^^^^ string.quoted.double.json
// ^^^^^^^ meta.interpolation.liquid
// ^^ string.quoted.double.json

"key": [ {{item1}}, {{item2}} ],
// ^^^^^^^^^^^^^^^^^^^^^^^^ meta.mapping.value.json meta.sequence.json
// ^ punctuation.section.sequence.begin.json
// ^^^^^^^^^ meta.interpolation.liquid
// ^ punctuation.separator.sequence.json
// ^^^^^^^^^ meta.interpolation.liquid
// ^ punctuation.section.sequence.end.json
}
36 changes: 36 additions & 0 deletions tests/syntax_test_liquid.liquid.html
Original file line number Diff line number Diff line change
Expand Up @@ -716,3 +716,39 @@
}
| ^ source.js.embedded.html meta.function.js meta.block.js punctuation.section.block.end.js
</script>


<!--
--- Test JSON
-->

<script type="application/ld+json">
{
{{ key }}: {{ value }},
| ^ meta.mapping.json - meta.interpolation
| ^^^^^^^^^ meta.mapping.json meta.interpolation.liquid
| ^^ meta.mapping.json - meta.interpolation
| ^^^^^^^^^^^ meta.mapping.json meta.interpolation.liquid
| ^ meta.mapping.json - meta.interpolation
| ^^ punctuation.section.interpolation.begin.liquid
| ^^^^^ source.liquid
| ^^ punctuation.section.interpolation.end.liquid
| ^ punctuation.separator.key-value.json
| ^^ punctuation.section.interpolation.begin.liquid
| ^^^^^^^ source.liquid
| ^^ punctuation.section.interpolation.end.liquid

"key": "String {{val}}!",
| ^^^^^^^^ string.quoted.double.json
| ^^^^^^^ meta.interpolation.liquid
| ^^ string.quoted.double.json

"key": [ {{item1}}, {{item2}} ],
| ^^^^^^^^^^^^^^^^^^^^^^^^ meta.mapping.value.json meta.sequence.json
| ^ punctuation.section.sequence.begin.json
| ^^^^^^^^^ meta.interpolation.liquid
| ^ punctuation.separator.sequence.json
| ^^^^^^^^^ meta.interpolation.liquid
| ^ punctuation.section.sequence.end.json
}
</script>

0 comments on commit 6644472

Please sign in to comment.