Skip to content

Commit a701d51

Browse files
Alexander Chenangelozerr
authored andcommitted
Improved syntax colouration for operator support for #if
Signed-off-by: Alexander Chen <alchen@redhat.com>
1 parent 2b7d991 commit a701d51

File tree

1 file changed

+83
-64
lines changed

1 file changed

+83
-64
lines changed

language-support/qute/qute.tmLanguage.json

Lines changed: 83 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@
2020
"repository": {
2121
"templates": {
2222
"patterns": [
23+
{
24+
"include": "#section_start_if_tag"
25+
},
26+
{
27+
"include": "#section_start_for_tag"
28+
},
2329
{
2430
"include": "#section_start_default_tag"
2531
},
@@ -86,7 +92,7 @@
8692
"name": "string.unquoted.cdata.qute"
8793
},
8894
"section_start_default_tag": {
89-
"begin": "({)(#)((each|else|else\\sif|eval|for|if|include|insert|set|let|with|switch|case|is|when)\\b)",
95+
"begin": "({)(#)((each|else|else\\sif|eval|include|insert|set|let|with|switch|case|is|when)\\b)",
9096
"end": "(\\/)?((?<![\\\\])})",
9197
"beginCaptures": {
9298
"1": {
@@ -133,6 +139,74 @@
133139
}
134140
}
135141
},
142+
"section_start_if_tag": {
143+
"begin": "({)(#)((if)\\b)",
144+
"end": "(\\/)?((?<![\\\\])})",
145+
"beginCaptures": {
146+
"1": {
147+
"name": "support.constant.handlebars"
148+
},
149+
"2": {
150+
"name": "keyword.control"
151+
},
152+
"3": {
153+
"name": "keyword.control"
154+
}
155+
},
156+
"endCaptures": {
157+
"1": {
158+
"name": "keyword.control"
159+
},
160+
"2": {
161+
"name": "support.constant.handlebars"
162+
}
163+
},
164+
"patterns": [
165+
{
166+
"match": "\\b(gt|ge|lt|le|eq|is|ne|and|or)\\b",
167+
"name": "keyword.control.qute"
168+
},
169+
{
170+
"match": "\\b(!|>|>=|<|<=|==|!=|&&|\\|\\|)\\b",
171+
"name": "keyword.operator.qute"
172+
},
173+
{
174+
"include": "#code"
175+
}
176+
]
177+
},
178+
"section_start_for_tag": {
179+
"begin": "({)(#)((for)\\b)",
180+
"end": "(\\/)?((?<![\\\\])})",
181+
"beginCaptures": {
182+
"1": {
183+
"name": "support.constant.handlebars"
184+
},
185+
"2": {
186+
"name": "keyword.control"
187+
},
188+
"3": {
189+
"name": "keyword.control"
190+
}
191+
},
192+
"endCaptures": {
193+
"1": {
194+
"name": "keyword.control"
195+
},
196+
"2": {
197+
"name": "support.constant.handlebars"
198+
}
199+
},
200+
"patterns": [
201+
{
202+
"match": "\\bin\\b",
203+
"name": "keyword.control.flow"
204+
},
205+
{
206+
"include": "#code"
207+
}
208+
]
209+
},
136210
"section_start_user_tag": {
137211
"begin": "({)(#)(\\w+(\\.\\w+)*)",
138212
"end": "(\\/)?((?<![\\\\])})",
@@ -198,15 +272,19 @@
198272
}
199273
},
200274
"patterns": [
275+
{
276+
"match": "\\b(or|orEmpty)\\b",
277+
"name": "keyword.control.qute"
278+
},
279+
{
280+
"match": "\\b(&&|\\|\\||\\?:|\\?|:)\\b",
281+
"name": "keyword.operator.qute"
282+
},
201283
{
202284
"include": "#code"
203285
}
204286
]
205287
},
206-
"expression_content": {
207-
"match": "[a-zA-Z_\\(][\\w\\(\\)+-\/\\*]+(\\.?[\\w\\(\\)+-\/\\*]+)*",
208-
"name": "variable.other.readwrite.local.qute"
209-
},
210288
"code": {
211289
"patterns": [
212290
{
@@ -221,9 +299,6 @@
221299
{
222300
"include": "#lambda-expression"
223301
},
224-
{
225-
"include": "#keywords"
226-
},
227302
{
228303
"include": "#method-call"
229304
},
@@ -361,62 +436,6 @@
361436
}
362437
]
363438
},
364-
"keywords": {
365-
"patterns": [
366-
{
367-
"match": "\\bthrow\\b",
368-
"name": "keyword.control.throw.java"
369-
},
370-
{
371-
"match": "\\?|:",
372-
"name": "keyword.control.ternary.java"
373-
},
374-
{
375-
"match": "(<<|>>>?|~|\\^)",
376-
"name": "keyword.operator.bitwise.java"
377-
},
378-
{
379-
"match": "((&|\\^|\\||<<|>>>?)=)",
380-
"name": "keyword.operator.assignment.bitwise.java"
381-
},
382-
{
383-
"match": "(===?|!=|<=|>=|<>|<|>)",
384-
"name": "keyword.operator.comparison.java"
385-
},
386-
{
387-
"match": "([+*/%-]=)",
388-
"name": "keyword.operator.assignment.arithmetic.java"
389-
},
390-
{
391-
"match": "(=)",
392-
"name": "keyword.operator.assignment.java"
393-
},
394-
{
395-
"match": "(\\-\\-|\\+\\+)",
396-
"name": "keyword.operator.increment-decrement.java"
397-
},
398-
{
399-
"match": "(\\-|\\+|\\*|\\/|%)",
400-
"name": "keyword.operator.arithmetic.java"
401-
},
402-
{
403-
"match": "(!|&&|\\|\\|)",
404-
"name": "keyword.operator.logical.java"
405-
},
406-
{
407-
"match": "(\\||&)",
408-
"name": "keyword.operator.bitwise.java"
409-
},
410-
{
411-
"match": "\\b(is|as|eq|ne|gt|ge|lt|le)\\b",
412-
"name": "keyword.control.operator"
413-
},
414-
{
415-
"match": "(?<=({#for\\s(\\w)*\\s))in",
416-
"name": "keyword.control.flow"
417-
}
418-
]
419-
},
420439
"lambda-expression": {
421440
"patterns": [
422441
{

0 commit comments

Comments
 (0)