11{
2- "$schema" : " https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json" ,
3- "name" : " Bitloops" ,
4- "patterns" : [
5- {
6- "include" : " #keywords"
7- },
8- {
9- "include" : " #strings"
10- }
11- ],
12- "repository" : {
13- "keywords" : {
14- "patterns" : [{
15- "name" : " keyword.control.bitloops" ,
16- "match" : " \\ b(if|while|for|return|ValueObject|DTO|Props|RESTController|RESTRouter|UseCase|Feature|optional|const|let|string|bool|int32|int64|double|float|unit32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bytes|is|isNot|Error|DomainError|DomainErrors|ApplicationError|ApplicationErrors|Config|OK|Struct|enum|switch|case|default|Empty|null|env|new)\\ b"
17- }]
18- },
19- "strings" : {
20- "name" : " string.quoted.double.bitloops" ,
21- "begin" : " \" " ,
22- "end" : " \" " ,
23- "patterns" : [
24- {
25- "name" : " constant.character.escape.bitloops" ,
26- "match" : " \\\\ ."
27- }
28- ]
29- }
30- },
31- "scopeName" : " source.bitloops"
2+ "$schema" : " https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json" ,
3+ "fileTypes" : [
4+ " bl"
5+ ],
6+ "name" : " bitloops" ,
7+ "patterns" : [
8+ {
9+ "include" : " #main"
10+ }
11+ ],
12+ "scopeName" : " source.bitloops" ,
13+ "repository" : {
14+ "main" : {
15+ "patterns" : [
16+ {
17+ "match" : " (\b (if|while|for|return|ValueObject|DTO|Props|RESTController|RESTRouter|UseCase|Feature|optional|const|let|isBrokenIf|isNotBrokenIf|Config|enum|switch|case|default|Empty|null|env|concretes|implements|extends)\b )" ,
18+ "name" : " keyword.bitloops"
19+ },
20+ {
21+ "include" : " #numeric"
22+ },
23+ {
24+ "begin" : " (\{ )" ,
25+ "beginCaptures" : {
26+ "1" : {
27+ "name" : " punctuation.bitloops"
28+ }
29+ },
30+ "patterns" : [
31+ {
32+ "include" : " #main__1"
33+ }
34+ ],
35+ "end" : " (\} )" ,
36+ "endCaptures" : {
37+ "1" : {
38+ "name" : " punctuation.bitloops"
39+ }
40+ }
41+ },
42+ {
43+ "begin" : " (\( )" ,
44+ "beginCaptures" : {
45+ "1" : {
46+ "name" : " punctuation.bitloops"
47+ }
48+ },
49+ "patterns" : [
50+ {
51+ "include" : " #main__2"
52+ }
53+ ],
54+ "end" : " (\) )" ,
55+ "endCaptures" : {
56+ "1" : {
57+ "name" : " punctuation.bitloops"
58+ }
59+ }
60+ },
61+ {
62+ "match" : " (;)" ,
63+ "name" : " punctuation.bitloops"
64+ },
65+ {
66+ "match" : " (\( [\x {0020}]*OK[\x {0020}]*\( [\x {0020}]*([A-Z]+[a-zA-Z0-9]*(DTO|UseCase|Aggregate|VO|Entity)[\x {0020}]*)\) [\x {0020}]*,[\x {0020}]*Errors[\x {0020}]*[\x {0020}]*\( [\x {0020}]*(((DomainErrors|ApplicationErrors)[\. ]([A-Z]+[a-zA-Z0-9]*(Error)))([\x {0020}]*[\x {002c}][\x {0020}]*((DomainError|ApplicationErrors)[\. ](\b [A-Z]+[a-zA-Z0-9]*(Error)\b )))*)?[\x {0020}]*\) [\x {0020}]*\) )" ,
67+ "name" : " keyword.bitloops"
68+ },
69+ {
70+ "match" : " (=|:|\+ |-|,|\. )" ,
71+ "name" : " punctuation.bitloops"
72+ },
73+ {
74+ "match" : " (\b [A-Z]+[a-zA-Z0-9]*(DTO|UseCase|Aggregate|VO|Entity|Error|RESTController|RESTRouter|GraphQLController|Feature|Mapper|RepoPort|RepoAdapter|PackagePort|PackageAdapter)\b )" ,
75+ "name" : " text.bitloops"
76+ },
77+ {
78+ "match" : " (\b (DTO|UseCase|Aggregate|Entity|OK|Errors|ValueObject|Props|RESTController|RESTRouter|GraphQLController|Feature|Mapper|RepoPort|RepoAdapter|PackagePort|PackageAdapter|ApplicationErrors|DomainErrors|DomainError|ApplicationError)\b )" ,
79+ "name" : " keyword.bitloops"
80+ },
81+ {
82+ "begin" : " (\\ " )",
83+ "beginCaptures" : {
84+ "1" : {
85+ "name" : " punctuation.bitloops"
86+ }
87+ },
88+ "contentName" : " text.bitloops" ,
89+ "end" : " (\\ " )",
90+ "endCaptures" : {
91+ "1" : {
92+ "name" : " punctuation.bitloops"
93+ }
94+ }
95+ },
96+ {
97+ "begin" : " (')" ,
98+ "beginCaptures" : {
99+ "1" : {
100+ "name" : " punctuation.bitloops"
101+ }
102+ },
103+ "contentName" : " text.bitloops" ,
104+ "end" : " (')" ,
105+ "endCaptures" : {
106+ "1" : {
107+ "name" : " punctuation.bitloops"
108+ }
109+ }
110+ },
111+ {
112+ "begin" : " (`)" ,
113+ "beginCaptures" : {
114+ "1" : {
115+ "name" : " punctuation.bitloops"
116+ }
117+ },
118+ "patterns" : [
119+ {
120+ "include" : " #main__5"
121+ }
122+ ],
123+ "end" : " (`)" ,
124+ "endCaptures" : {
125+ "1" : {
126+ "name" : " punctuation.bitloops"
127+ }
128+ }
129+ },
130+ {
131+ "begin" : " (\( )" ,
132+ "beginCaptures" : {
133+ "1" : {
134+ "name" : " punctuation.bitloops"
135+ }
136+ },
137+ "patterns" : [
138+ {
139+ "include" : " #main__6"
140+ }
141+ ],
142+ "end" : " (\) )" ,
143+ "endCaptures" : {
144+ "1" : {
145+ "name" : " punctuation.bitloops"
146+ }
147+ }
148+ },
149+ {
150+ "include" : " #multi_line_comment"
151+ },
152+ {
153+ "match" : " (//.*)" ,
154+ "name" : " comment.bitloops"
155+ },
156+ {
157+ "match" : " (string|bool|int32|int64|double|float|unit32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bytes)" ,
158+ "name" : " text.bitloops"
159+ },
160+ {
161+ "match" : " (\b optional\b )" ,
162+ "name" : " text.bitloops"
163+ },
164+ {
165+ "match" : " (\b [a-z][a-zA-Z0-9]*\b )" ,
166+ "name" : " text.bitloops"
167+ },
168+ {
169+ "match" : " (private)" ,
170+ "name" : " text.bitloops"
171+ },
172+ {
173+ "match" : " (Struct)" ,
174+ "name" : " text.bitloops"
175+ },
176+ {
177+ "match" : " ([^\s ])" ,
178+ "name" : " invalid.bitloops"
179+ }
180+ ]
181+ },
182+ "backtick_variable_wrapper" : {
183+ "patterns" : [
184+ {
185+ "begin" : " (\$ {)" ,
186+ "beginCaptures" : {
187+ "1" : {
188+ "name" : " punctuation.bitloops"
189+ }
190+ },
191+ "contentName" : " text.bitloops" ,
192+ "end" : " (})" ,
193+ "endCaptures" : {
194+ "1" : {
195+ "name" : " punctuation.bitloops"
196+ }
197+ }
198+ }
199+ ]
200+ },
201+ "backtick_variable_wrapper__1" : {
202+ "patterns" : []
203+ },
204+ "main__1" : {
205+ "patterns" : [
206+ {
207+ "include" : " #main"
208+ }
209+ ]
210+ },
211+ "main__2" : {
212+ "patterns" : [
213+ {
214+ "include" : " #main"
215+ }
216+ ]
217+ },
218+ "main__3" : {
219+ "patterns" : []
220+ },
221+ "main__4" : {
222+ "patterns" : []
223+ },
224+ "main__5" : {
225+ "patterns" : [
226+ {
227+ "include" : " #backtick_variable_wrapper"
228+ },
229+ {
230+ "match" : " ([A-Za-z0-9\.\,\+\-\:\x {003d}])" ,
231+ "name" : " text.bitloops"
232+ }
233+ ]
234+ },
235+ "main__6" : {
236+ "patterns" : [
237+ {
238+ "include" : " #numeric"
239+ },
240+ {
241+ "match" : " (,)" ,
242+ "name" : " punctuation.bitloops"
243+ }
244+ ]
245+ },
246+ "multi_line_comment" : {
247+ "patterns" : [
248+ {
249+ "begin" : " (/\* )" ,
250+ "beginCaptures" : {
251+ "1" : {
252+ "name" : " comment.bitloops"
253+ }
254+ },
255+ "contentName" : " comment.bitloops" ,
256+ "end" : " (\* /)" ,
257+ "endCaptures" : {
258+ "1" : {
259+ "name" : " comment.bitloops"
260+ }
261+ }
262+ }
263+ ]
264+ },
265+ "multi_line_comment__1" : {
266+ "patterns" : []
267+ },
268+ "numeric" : {
269+ "patterns" : [
270+ {
271+ "match" : " (\b \d +.?\d *)" ,
272+ "name" : " constant.numeric.bitloops"
273+ }
274+ ]
275+ }
276+ }
32277}
0 commit comments