Skip to content

Commit 9a30b01

Browse files
committed
Re-implement SQL (Jinja) for SQL shipped with ST4193+
1 parent 57ef32a commit 9a30b01

9 files changed

+340
-60
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
%YAML 1.2
2+
---
3+
name: Cassandra (Jinja)
4+
scope: source.sql.cql.jinja
5+
version: 2
6+
7+
extends: Packages/SQL/Cassandra.sublime-syntax
8+
9+
contexts:
10+
11+
main:
12+
- meta_prepend: true
13+
- meta_scope: meta.template.jinja
14+
15+
prototype:
16+
- meta_prepend: true
17+
- include: Text (Jinja).sublime-syntax
18+
19+
###[ IDENTIFIERS ]#############################################################
20+
21+
inside-backtick-quoted-identifier-part:
22+
- meta_prepend: true
23+
- include: Text (Jinja).sublime-syntax#interpolations
24+
25+
inside-double-quoted-identifier-part:
26+
- meta_prepend: true
27+
- include: Text (Jinja).sublime-syntax#interpolations
28+
29+
inside-single-quoted-identifier-part:
30+
- meta_prepend: true
31+
- include: Text (Jinja).sublime-syntax#interpolations
32+
33+
inside-simple-identifier-part:
34+
- meta_prepend: true
35+
- include: Text (Jinja).sublime-syntax#interpolations
36+
37+
###[ STRINGS ]#################################################################
38+
39+
inside-like-single-quoted-string:
40+
- meta_prepend: true
41+
- include: Text (Jinja).sublime-syntax#interpolations
42+
43+
inside-single-quoted-string:
44+
- meta_prepend: true
45+
- include: Text (Jinja).sublime-syntax#interpolations
46+
47+
string-interpolations:
48+
- meta_prepend: true
49+
- include: Text (Jinja).sublime-syntax#interpolations
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
%YAML 1.2
2+
---
3+
name: MySQL (Jinja)
4+
scope: source.sql.mysql.jinja
5+
version: 2
6+
7+
extends: Packages/SQL/MySQL.sublime-syntax
8+
9+
contexts:
10+
11+
main:
12+
- meta_prepend: true
13+
- meta_scope: meta.template.jinja
14+
15+
prototype:
16+
- meta_prepend: true
17+
- include: Text (Jinja).sublime-syntax
18+
19+
###[ TABLE NAMES OR SUBQUERIES ]###############################################
20+
21+
table-subquery:
22+
- match: \(
23+
scope: punctuation.section.group.begin.sql
24+
set: table-subquery-begin
25+
- match: \{(?![{%])
26+
scope: punctuation.section.braces.begin.mysql
27+
set:
28+
- table-braced-subquery-body
29+
- maybe-on-table
30+
- match: \b(?i:json_table)\b
31+
scope: meta.table-valued-function-name.sql support.function.tsql
32+
set: function-call-arguments
33+
34+
###[ IDENTIFIERS ]#############################################################
35+
36+
inside-backtick-quoted-identifier-part:
37+
- meta_prepend: true
38+
- include: Text (Jinja).sublime-syntax#interpolations
39+
40+
inside-double-quoted-identifier-part:
41+
- meta_prepend: true
42+
- include: Text (Jinja).sublime-syntax#interpolations
43+
44+
inside-single-quoted-identifier-part:
45+
- meta_prepend: true
46+
- include: Text (Jinja).sublime-syntax#interpolations
47+
48+
inside-simple-identifier-part:
49+
- meta_prepend: true
50+
- include: Text (Jinja).sublime-syntax#interpolations
51+
52+
###[ STRINGS ]#################################################################
53+
54+
inside-like-single-quoted-string:
55+
- meta_prepend: true
56+
- include: Text (Jinja).sublime-syntax#interpolations
57+
58+
inside-single-quoted-string:
59+
- meta_prepend: true
60+
- include: Text (Jinja).sublime-syntax#interpolations
61+
62+
string-interpolations:
63+
- meta_prepend: true
64+
- include: Text (Jinja).sublime-syntax#interpolations
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
%YAML 1.2
2+
---
3+
name: PostgreSQL (Jinja)
4+
scope: source.sql.psql.jinja
5+
version: 2
6+
7+
extends: Packages/SQL/PostgreSQL.sublime-syntax
8+
9+
contexts:
10+
11+
main:
12+
- meta_prepend: true
13+
- meta_scope: meta.template.jinja
14+
15+
prototype:
16+
- meta_prepend: true
17+
- include: Text (Jinja).sublime-syntax
18+
19+
###[ TABLE NAMES OR SUBQUERIES ]###############################################
20+
21+
table-subquery:
22+
- match: \(
23+
scope: punctuation.section.group.begin.sql
24+
set: table-subquery-begin
25+
- match: \{(?![{%])
26+
scope: punctuation.section.braces.begin.mysql
27+
set:
28+
- table-braced-subquery-body
29+
- maybe-on-table
30+
31+
###[ IDENTIFIERS ]#############################################################
32+
33+
inside-backtick-quoted-identifier-part:
34+
- meta_prepend: true
35+
- include: Text (Jinja).sublime-syntax#interpolations
36+
37+
inside-double-quoted-identifier-part:
38+
- meta_prepend: true
39+
- include: Text (Jinja).sublime-syntax#interpolations
40+
41+
inside-single-quoted-identifier-part:
42+
- meta_prepend: true
43+
- include: Text (Jinja).sublime-syntax#interpolations
44+
45+
inside-simple-identifier-part:
46+
- meta_prepend: true
47+
- include: Text (Jinja).sublime-syntax#interpolations
48+
49+
###[ STRINGS ]#################################################################
50+
51+
inside-like-single-quoted-string:
52+
- meta_prepend: true
53+
- include: Text (Jinja).sublime-syntax#interpolations
54+
55+
inside-single-quoted-string:
56+
- meta_prepend: true
57+
- include: Text (Jinja).sublime-syntax#interpolations
58+
59+
string-interpolations:
60+
- meta_prepend: true
61+
- include: Text (Jinja).sublime-syntax#interpolations
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
%YAML 1.2
22
---
3-
name: SQL (Jinja)
4-
scope: source.sql.jinja
5-
version: 1
3+
name: TSQL (Jinja)
4+
scope: source.sql.tsql.jinja
5+
version: 2
66

7-
extends: Packages/SQL/SQL.sublime-syntax
7+
extends: Packages/SQL/TSQL.sublime-syntax
88

99
contexts:
1010

@@ -16,34 +16,34 @@ contexts:
1616
- meta_prepend: true
1717
- include: Text (Jinja).sublime-syntax
1818

19-
inside-double-dash-comment:
20-
- meta_prepend: true
21-
- include: Text (Jinja).sublime-syntax
19+
###[ IDENTIFIERS ]#############################################################
2220

23-
inside-number-sign-comment:
21+
inside-backtick-quoted-identifier-part:
2422
- meta_prepend: true
25-
- include: Text (Jinja).sublime-syntax
23+
- include: Text (Jinja).sublime-syntax#interpolations
2624

27-
inside-comment-block:
25+
inside-double-quoted-identifier-part:
2826
- meta_prepend: true
29-
- include: Text (Jinja).sublime-syntax
27+
- include: Text (Jinja).sublime-syntax#interpolations
3028

31-
string-escape:
29+
inside-single-quoted-identifier-part:
3230
- meta_prepend: true
3331
- include: Text (Jinja).sublime-syntax#interpolations
3432

35-
string-interpolation:
33+
inside-simple-identifier-part:
3634
- meta_prepend: true
3735
- include: Text (Jinja).sublime-syntax#interpolations
3836

39-
inside-like-single-quoted-string-slash-escape:
37+
###[ STRINGS ]#################################################################
38+
39+
inside-like-single-quoted-string:
4040
- meta_prepend: true
4141
- include: Text (Jinja).sublime-syntax#interpolations
4242

43-
inside-like-single-quoted-string-caret-escape:
43+
inside-single-quoted-string:
4444
- meta_prepend: true
4545
- include: Text (Jinja).sublime-syntax#interpolations
4646

47-
inside-like-single-quoted-string:
47+
string-interpolations:
4848
- meta_prepend: true
4949
- include: Text (Jinja).sublime-syntax#interpolations
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
-- SYNTAX TEST "Cassandra (Jinja).sublime-syntax"
2+
3+
SELECT {{ columns | secure }} FROM {{ table }} WHERE `my-{{field}}` is 'String {{ value }}'
4+
--^^^^ keyword.other.dml.sql
5+
-- ^^^^^^^^^^^^^^^^^^^^^^ meta.embedded.expression.jinja
6+
-- ^^ punctuation.section.embedded.begin.jinja
7+
-- ^^^^^^^^^^^^^^^^^^ source.jinja.embedded
8+
-- ^^^^^^^ variable.other.readwrite.jinja
9+
-- ^^^^^^^^ meta.filter.jinja
10+
-- ^ keyword.operator.symbol.jinja keyword.operator.assignment.pipe.jinja
11+
-- ^^^^^^ meta.function-call.identifier.jinja variable.function.filter.jinja
12+
-- ^^ punctuation.section.embedded.end.jinja
13+
-- ^^^^ keyword.other.dml.sql
14+
-- ^^^^^^^^^^^ meta.table-name.sql meta.embedded.expression.jinja
15+
-- ^^ punctuation.section.embedded.begin.jinja
16+
-- ^^^^^^^ source.jinja.embedded
17+
-- ^^^^^ variable.other.readwrite.jinja
18+
-- ^^ punctuation.section.embedded.end.jinja
19+
-- ^^^^^ keyword.other.dml.sql
20+
-- ^^^^^^^^^^^^^^ meta.column-name.sql
21+
-- ^ punctuation.definition.identifier.begin.sql
22+
-- ^^^^^^^^^ meta.embedded.expression.jinja
23+
-- ^^ punctuation.section.embedded.begin.jinja
24+
-- ^^^^^ source.jinja.embedded variable.other.readwrite.jinja
25+
-- ^^ punctuation.section.embedded.end.jinja
26+
-- ^ punctuation.definition.identifier.end.sql
27+
-- ^^ keyword.operator.logical.sql
28+
-- ^^^^^^^^^^^^^^^^^^^^ meta.string.sql
29+
-- ^^^^^^^^ string.quoted.single.sql
30+
-- ^ punctuation.definition.string.begin.sql
31+
-- ^^^^^^^^^^^ meta.embedded.expression.jinja
32+
-- ^^ punctuation.section.embedded.begin.jinja
33+
-- ^^^^^^^ source.jinja.embedded
34+
-- ^^^^^ variable.other.readwrite.jinja
35+
-- ^^ punctuation.section.embedded.end.jinja
36+
-- ^ string.quoted.single.sql punctuation.definition.string.end.sql
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
-- SYNTAX TEST "MySQL (Jinja).sublime-syntax"
2+
3+
SELECT {{ columns | secure }} FROM { {{ table }} } WHERE `my-{{field}}` is "String {{ value }}"
4+
-- ^^^ keyword.other.dml.sql
5+
-- ^^^^^^^^^^^^^^^^^^^^^^ meta.embedded.expression.jinja
6+
-- ^^ punctuation.section.embedded.begin.jinja
7+
-- ^^^^^^^^^^^^^^^^^^ source.jinja.embedded
8+
-- ^^^^^^^ variable.other.readwrite.jinja
9+
-- ^^^^^^^^ meta.filter.jinja
10+
-- ^ keyword.operator.symbol.jinja keyword.operator.assignment.pipe.jinja
11+
-- ^^^^^^ meta.function-call.identifier.jinja variable.function.filter.jinja
12+
-- ^^ punctuation.section.embedded.end.jinja
13+
-- ^^^^ keyword.other.dml.sql
14+
-- ^^^^^^^^^^^^^^^ meta.braces.mysql
15+
-- ^ punctuation.section.braces.begin.mysql
16+
-- ^^^^^^^^^^^ meta.embedded.expression.jinja
17+
-- ^^ punctuation.section.embedded.begin.jinja
18+
-- ^^^^^^^ source.jinja.embedded
19+
-- ^^^^^ variable.other.readwrite.jinja
20+
-- ^^ punctuation.section.embedded.end.jinja
21+
-- ^ punctuation.section.braces.end.mysql
22+
-- ^^^^^ keyword.other.dml.sql
23+
-- ^^^^^^^^^^^^^^ meta.column-name.sql
24+
-- ^ punctuation.definition.identifier.begin.sql
25+
-- ^^^^^^^^^ meta.embedded.expression.jinja
26+
-- ^^ punctuation.section.embedded.begin.jinja
27+
-- ^^^^^ source.jinja.embedded variable.other.readwrite.jinja
28+
-- ^^ punctuation.section.embedded.end.jinja
29+
-- ^ punctuation.definition.identifier.end.sql
30+
-- ^^ keyword.operator.logical.sql
31+
-- ^^^^^^^^^^^^^^^^^^^^ meta.string.sql
32+
-- ^^^^^^^^ string.quoted.double.sql
33+
-- ^ punctuation.definition.string.begin.sql
34+
-- ^^^^^^^^^^^ meta.embedded.expression.jinja
35+
-- ^^ punctuation.section.embedded.begin.jinja
36+
-- ^^^^^^^ source.jinja.embedded
37+
-- ^^^^^ variable.other.readwrite.jinja
38+
-- ^^ punctuation.section.embedded.end.jinja
39+
-- ^ string.quoted.double.sql punctuation.definition.string.end.sql
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
-- SYNTAX TEST "PostgreSQL (Jinja).sublime-syntax"
2+
3+
SELECT {{ columns | secure }} FROM { {{ table }} } WHERE `my-{{field}}` is "String {{ value }}"
4+
--^^^^ keyword.other.dml.sql
5+
-- ^^^^^^^^^^^^^^^^^^^^^^ meta.embedded.expression.jinja
6+
-- ^^ punctuation.section.embedded.begin.jinja
7+
-- ^^^^^^^^^^^^^^^^^^ source.jinja.embedded
8+
-- ^^^^^^^ variable.other.readwrite.jinja
9+
-- ^^^^^^^^ meta.filter.jinja
10+
-- ^ keyword.operator.symbol.jinja keyword.operator.assignment.pipe.jinja
11+
-- ^^^^^^ meta.function-call.identifier.jinja variable.function.filter.jinja
12+
-- ^^ punctuation.section.embedded.end.jinja
13+
-- ^^^^ keyword.other.dml.sql
14+
-- ^^^^^^^^^^^^^^^ meta.braces.mysql
15+
-- ^ punctuation.section.braces.begin.mysql
16+
-- ^^^^^^^^^^^ meta.embedded.expression.jinja
17+
-- ^^ punctuation.section.embedded.begin.jinja
18+
-- ^^^^^^^ source.jinja.embedded
19+
-- ^^^^^ variable.other.readwrite.jinja
20+
-- ^^ punctuation.section.embedded.end.jinja
21+
-- ^ punctuation.section.braces.end.mysql
22+
-- ^^^^^ keyword.other.dml.sql
23+
-- ^^^^^^^^^^^^^^ meta.column-name.sql
24+
-- ^ punctuation.definition.identifier.begin.sql
25+
-- ^^^^^^^^^ meta.embedded.expression.jinja
26+
-- ^^ punctuation.section.embedded.begin.jinja
27+
-- ^^^^^ source.jinja.embedded variable.other.readwrite.jinja
28+
-- ^^ punctuation.section.embedded.end.jinja
29+
-- ^ punctuation.definition.identifier.end.sql
30+
-- ^^ keyword.operator.logical.sql
31+
-- ^^^^^^^^^^^^^^^^^^^^ meta.string.sql
32+
-- ^^^^^^^^ string.quoted.double.sql
33+
-- ^ punctuation.definition.string.begin.sql
34+
-- ^^^^^^^^^^^ meta.embedded.expression.jinja
35+
-- ^^ punctuation.section.embedded.begin.jinja
36+
-- ^^^^^^^ source.jinja.embedded
37+
-- ^^^^^ variable.other.readwrite.jinja
38+
-- ^^ punctuation.section.embedded.end.jinja
39+
-- ^ string.quoted.double.sql punctuation.definition.string.end.sql

0 commit comments

Comments
 (0)