-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathLatte.tmLanguage
146 lines (146 loc) · 3.57 KB
/
Latte.tmLanguage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>latte</string>
</array>
<key>name</key>
<string>Latte</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\{\*</string>
<key>end</key>
<string>\*\}</string>
<key>name</key>
<string>comment.block.latte</string>
</dict>
<dict>
<key>begin</key>
<string>\{\{?(?!\s)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>tag.begin.latte</string>
</dict>
</dict>
<key>end</key>
<string>\}?\}</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>tag.end.latte</string>
</dict>
</dict>
<key>name</key>
<string>source.latte</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?<=\{)(\![^}]*)</string>
<key>name</key>
<string>keyword.latte</string>
</dict>
<dict>
<key>match</key>
<string>\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b</string>
<key>name</key>
<string>constant.numeric.latte</string>
</dict>
<dict>
<key>match</key>
<string>\$\$?[a-zA-Z_0-9]+\s*</string>
<key>name</key>
<string>variable.other.latte</string>
</dict>
<dict>
<key>match</key>
<string>true|TRUE|True|false|FALSE|False|null|NULL|Null</string>
<key>name</key>
<string>constant.language.latte</string>
</dict>
<dict>
<key>match</key>
<string>(?<=\{)(_|breakIf|continueIf|contentType|control|debugbreak|default|dump|elseifset|elseif|else|extends|includeblock|include|inputError|input|layout|link|php|plink|r|status|use|var)\s*</string>
<key>name</key>
<string>keyword.control.single.latte</string>
</dict>
<dict>
<key>match</key>
<string>(?<=\{)/?(block|cache|capture|define|first|foreach|form|for|ifset|ifCurrent|if|label|last|l|sep|snippet|syntax|while)\s*</string>
<key>name</key>
<string>keyword.control.pair.latte</string>
</dict>
<dict>
<key>match</key>
<string>(?<=\s)(\!|/|===|as|and|AND|And|&&|or|OR|Or|\|\||\+\+|\-\-|==|<=>|>=|<=)\s?</string>
<key>name</key>
<string>keyword.operator.latte</string>
</dict>
<dict>
<key>match</key>
<string>-></string>
<key>name</key>
<string>keyword.operator.latte</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.latte</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.latte</string>
</dict>
</dict>
<key>match</key>
<string>.*?(\|)(\w+)(?:\:([^\|\}]+))*</string>
</dict>
<dict>
<key>include</key>
<string>#strings</string>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>text.html.basic</string>
</dict>
</array>
<key>repository</key>
<dict>
<key>strings</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(')(.*)(')</string>
<key>name</key>
<string>string.quoted.single.latte</string>
</dict>
<dict>
<key>match</key>
<string>(")(.*)(")</string>
<key>name</key>
<string>string.quoted.double.latte</string>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>source.latte</string>
</dict>
</plist>