]> git.lizzy.rs Git - micro.git/blob - runtime/syntax/twig.yaml
add more types for nim (#2284)
[micro.git] / runtime / syntax / twig.yaml
1 filetype: twig
2
3 detect:
4     filename: "\\.twig$"
5
6 rules:
7     - include: "html"
8     - symbol.tag:
9         start: "\\{\\{[[:space:]]"
10         end: "[[:space:]]\\}\\}"
11         rules:
12             - identifier: "\\b(abs|batch|capitalize|convert|encoding|date(_modify)?|default|escape|first|format|join|json_encode|keys|last|length|lower|merge|nl2br|number_format|raw|replace|reverse|round|slice|sort|split|striptags|title|trim|upper|url_encode)\\b"
13             - identifier.class: "\\b(attribute|block|constant|cycle|date|dump|include|max|min|parent|random|range|source|template_from_string)\\b"
14             - type.keyword: "\\b(and|as|constant|defined|divisibleby|empty|even|false|in|is|iterable|not|null|odd|or|same(as)?|true|with)\\b"
15             - symbol.operator: "[.:;,+*?|=!\\%]|<|>|/|-|&"
16             - symbol.brackets: "[(){}]|\\[|\\]"
17             - constant.number: "\\b[0-9]+\\b|\\b0x[0-9A-Fa-f]+\\b"
18             - constant.string:
19                 start: "\""
20                 end: "\""
21                 skip: "\\\\"
22                 rules:
23                     - constant.specialChar: "\\\\."
24             - constant.string:
25                 start: "'"
26                 end: "'"
27                 skip: "\\\\"
28                 rules:
29                     - constant.specialChar: "\\\\."
30     - symbol.tag:
31         start: "\\{%[[:space:]]"
32         end: "[[:space:]]%\\}"
33         rules:
34             - identifier: "\\b(abs|batch|capitalize|convert|encoding|date(_modify)?|default|escape|first|format|join|json_encode|keys|last|length|lower|merge|nl2br|number_format|raw|replace|reverse|round|slice|sort|split|striptags|title|trim|upper|url_encode)\\b"
35             - identifier.class: "\\b(attribute|block|constant|cycle|date|dump|include|max|min|parent|random|range|source|template_from_string)\\b"
36             - type.keyword: "\\b(and|as|constant|defined|divisibleby|empty|even|false|in|is|iterable|not|null|odd|or|same(as)?|true|with)\\b"
37             - symbol.operator: "[.:;,+*?|=!\\%]|<|>|/|-|&"
38             - symbol.brackets: "[(){}]|\\[|\\]"
39             - constant.number: "\\b[0-9]+\\b|\\b0x[0-9A-Fa-f]+\\b"
40             - constant.string:
41                 start: "\""
42                 end: "\""
43                 skip: "\\\\"
44                 rules:
45                     - constant.specialChar: "\\\\."
46             - constant.string:
47                 start: "'"
48                 end: "'"
49                 skip: "\\\\"
50                 rules:
51                    - constant.specialChar: "\\\\."
52     - comment:
53         start: "\\{#"
54         end: "#\\}"
55         rules: []