Skip to content

Commit 987adab

Browse files
committed
v0.0.6
1 parent 08d6f04 commit 987adab

File tree

8 files changed

+742
-34
lines changed

8 files changed

+742
-34
lines changed

assets/.DS_Store

6 KB
Binary file not shown.
-16 KB
Binary file not shown.
1.86 KB
Loading
40.4 KB
Loading

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
"type": "git",
88
"url": "git@github.com:bitloops/bitloops-language-vscode.git"
99
},
10-
"icon": "assets/images/Bitloops-Icon-256x256.png",
10+
"icon": "https://github.com/bitloops/bitloops-language-vscode/blob/main/assets/images/bitloops-language-logo-256x256.png",
1111
"license": "MIT",
12-
"version": "0.0.5",
12+
"version": "0.0.6",
1313
"scripts": {
1414
"vs:package": "vsce package",
1515
"vs:publish": "vsce publish"
@@ -27,8 +27,8 @@
2727
"extensions": [".bl"],
2828
"configuration": "./language-configuration.json",
2929
"icon": {
30-
"light": "./assets/images/bitloops-language-logo@3x.png",
31-
"dark": "./assets/images/bitloops-language-logo@3x.png"
30+
"light": "./assets/images/bitloops-language-bl-logo@3x.png",
31+
"dark": "./assets/images/bitloops-language-bl-logo@3x.png"
3232
}
3333
}],
3434
"grammars": [{

syntaxes/bitloops.tmLanguage.json

Lines changed: 275 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,277 @@
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": "(\boptional\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
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
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"
32+
}

0 commit comments

Comments
 (0)