11{
2- "$schema" : " https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json" ,
3- "fileTypes " : [
4- " bl "
5- ],
6- "name " : " bitloops " ,
7- "patterns" : [
2+ "$schema" : " https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json" ,
3+ "name " : " Bitloops " ,
4+ "patterns" : [
5+ {
6+ "include " : " #keywords "
7+ },
88 {
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" : []
9+ "include" : " #numeric"
10+ },
11+ {
12+ "include" : " #strings"
13+ },
14+ {
15+ "include" : " #comments"
16+ },
17+ {
18+ "include" : " #bitloopsClasses"
19+ },
20+ {
21+ "include" : " #myClasses"
22+ }
23+ ],
24+ "repository" : {
25+ "keywords" : {
26+ "patterns" : [{
27+ "name" : " keyword.control.bitloops" ,
28+ "match" : " \\ b(const|let|continue|break|return|concretes|implements|extends)\\ b"
29+ }]
30+ },
31+ "numeric" : {
32+ "patterns" : [{
33+ "name" : " constant.numeric.bitloops" ,
34+ "match" : " \\ b(0x[0-9a-fA-F]+|0b[01]+|\\ d+)\\ b"
35+ }]
22336 },
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"
37+ "bitloopsClasses" : {
38+ "patterns" : [{
39+ "name" : " keyword.control.templateClass.bitloops" ,
40+ "match" : " \\ b(Config|(REST\\ .Methods)|REST|DTO|UseCase|Aggregate|Entity|OK|Errors|ValueObject|Props|RESTController|RESTRouter|GraphQLController|Feature|Mapper|RepoPort|RepoAdapter|PackagePort|PackageAdapter|ApplicationErrors|DomainErrors|DomainError|ApplicationError)\\ b"
41+ }]
42+ },
43+ "myClasses" : {
44+ "patterns" : [{
45+ "name" : " entity.name.class.bitloops" ,
46+ "match" : " \\ b[A-Z]+[a-zA-Z0-9]*(DTO|UseCase|Aggregate|VO|Entity|Error|Controller|Router|Feature|Mapper|RepoPort|RepoAdapter|PackagePort|PackageAdapter|Error)\\ b"
47+ }]
48+ },
49+ "strings" : {
50+ "patterns" : [
51+ {
52+ "name" : " string.quoted.double.bitloops" ,
53+ "begin" : " \" " ,
54+ "end" : " \" "
55+ },
56+ {
57+ "name" : " string.quoted.single.bitloops" ,
58+ "begin" : " '" ,
59+ "end" : " '"
60+ },
61+ {
62+ "name" : " string.quoted.backtick.bitloops" ,
63+ "begin" : " `" ,
64+ "end" : " `"
23265 }
23366 ]
234- },
235- "main__6 " : {
67+ },
68+ "comments " : {
23669 "patterns" : [
23770 {
238- "include" : " #numeric"
71+ "name" : " comment.line.double-slash.bitloops" ,
72+ "match" : " //.*$"
23973 },
24074 {
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"
75+ "name" : " comment.block.bitloops" ,
76+ "begin" : " /\\ *" ,
77+ "end" : " \\ */"
27378 }
27479 ]
27580 }
276- }
81+ },
82+ "scopeName" : " source.bitloops"
27783}
0 commit comments