Skip to content

Commit 10755e7

Browse files
committed
use oniguruma character classes in syntaxes
1 parent f015c5e commit 10755e7

16 files changed

+154
-154
lines changed

syntaxes/META.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"patterns": [
1414
{
1515
"comment": "assignment or addition",
16-
"match": "\\b([A-Za-z0-9_.]+)\\s*(\\+?=)\\s*(\".*\")",
16+
"match": "\\b([[:word:].]+)[[:space:]]*(\\+?=)[[:space:]]*(\".*\")",
1717
"captures": {
1818
"1": { "name": "entity.name.tag.META" },
1919
"2": { "name": "keyword.operator.META" },
@@ -22,11 +22,11 @@
2222
},
2323
{
2424
"comment": "assignment or addition with formal predicates",
25-
"begin": "\\b([A-Za-z0-9_.]+)\\s*\\(",
25+
"begin": "\\b([[:word:].]+)[[:space:]]*\\(",
2626
"beginCaptures": {
2727
"1": { "name": "entity.name.tag.META" }
2828
},
29-
"end": "\\)\\s*(\\+?=)\\s*(\".*\")",
29+
"end": "\\)[[:space:]]*(\\+?=)[[:space:]]*(\".*\")",
3030
"endCaptures": {
3131
"1": { "name": "keyword.operator.META" },
3232
"2": { "name": "string.quoted.double.META" }
@@ -42,7 +42,7 @@
4242
},
4343
{
4444
"comment": "subpackage",
45-
"begin": "\\b(package)\\s*(\"[^.]*\")\\s*\\(",
45+
"begin": "\\b(package)[[:space:]]*(\"[^.]*\")[[:space:]]*\\(",
4646
"beginCaptures": {
4747
"1": { "name": "keyword.other.META" },
4848
"2": { "name": "string.quoted.double.META" }

syntaxes/atd.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"annotations": {
1717
"patterns": [
1818
{
19-
"begin": "(<)\\s*([a-z_][A-Za-z0-9_']*)",
19+
"begin": "(<)[[:space:]]*([[:lower:]_][[:word:]']*)",
2020
"end": ">",
2121
"beginCaptures": {
2222
"1": { "name": "keyword.other.atd" },
@@ -28,7 +28,7 @@
2828
]
2929
},
3030
"definitions": {
31-
"match": "\\b(type)\\s+('[A-Za-z][A-Za-z0-9_']*\\s+|\\(.*\\)\\s*)?([a-z_][A-Za-z0-9_']*)",
31+
"match": "\\b(type)[[:space:]]+('[[:alpha:]][[:word:]']*[[:space:]]+|\\(.*\\)[[:space:]]*)?([[:lower:]_][[:word:]']*)",
3232
"captures": {
3333
"1": { "name": "keyword.other.atd" },
3434
"2": { "patterns": [{ "include": "$self" }] },
@@ -37,14 +37,14 @@
3737
},
3838
"keywords": {
3939
"name": "keyword.other.atd",
40-
"match": "\\b(type|of|inherit)\\b"
40+
"match": "\\b(type|of|inherit)\\b(?!')"
4141
},
4242
"types": {
4343
"patterns": [
4444
{
4545
"comment": "type parameter",
4646
"name": "storage.type.ocaml.atd",
47-
"match": "'[A-Za-z][A-Za-z0-9_']*\\b"
47+
"match": "'[[:alpha:]][[:word:]']*\\b"
4848
},
4949
{
5050
"comment": "builtin type",

syntaxes/cram.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,12 @@
7373
{
7474
"comment": "octal escape",
7575
"name": "constant.character.escape.cram",
76-
"match": "\\\\0[0-9]+"
76+
"match": "\\\\0[[:digit:]]+"
7777
},
7878
{
7979
"comment": "hex escape",
8080
"name": "constant.character.escape.cram",
81-
"match": "\\\\x[A-Fa-f0-9]{2}"
81+
"match": "\\\\x[[:xdigit:]]{2}"
8282
},
8383
{
8484
"comment": "other escaped character",
@@ -150,7 +150,7 @@
150150
"patterns": [
151151
{
152152
"name": "constant.numeric.decimal.integer.regex",
153-
"match": "[0-9]+"
153+
"match": "[[:digit:]]+"
154154
}
155155
]
156156
}

syntaxes/dune-project.json

+34-34
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"patterns": [
99
{
1010
"comment": "lang",
11-
"begin": "\\(\\s*(lang)\\s+(dune)\\b",
11+
"begin": "\\([[:space:]]*(lang)[[:space:]]+(dune)\\b",
1212
"end": "\\)",
1313
"beginCaptures": {
1414
"1": { "name": "keyword.language.dune-project" },
@@ -19,7 +19,7 @@
1919

2020
{
2121
"comment": "name",
22-
"begin": "\\(\\s*(name)\\b",
22+
"begin": "\\([[:space:]]*(name)\\b",
2323
"end": "\\)",
2424
"beginCaptures": {
2525
"1": { "name": "keyword.language.dune-project" }
@@ -30,7 +30,7 @@
3030

3131
{
3232
"comment": "version",
33-
"begin": "\\(\\s*(version)\\b",
33+
"begin": "\\([[:space:]]*(version)\\b",
3434
"end": "\\)",
3535
"beginCaptures": {
3636
"1": { "name": "keyword.language.dune-project" }
@@ -41,7 +41,7 @@
4141

4242
{
4343
"comment": "implicit_transitive_deps",
44-
"begin": "\\(\\s*(implicit_transitive_deps)\\b",
44+
"begin": "\\([[:space:]]*(implicit_transitive_deps)\\b",
4545
"end": "\\)",
4646
"beginCaptures": {
4747
"1": { "name": "keyword.language.dune-project" }
@@ -51,7 +51,7 @@
5151

5252
{
5353
"comment": "wrapped_executables",
54-
"begin": "\\(\\s*(wrapped_executables)\\b",
54+
"begin": "\\([[:space:]]*(wrapped_executables)\\b",
5555
"end": "\\)",
5656
"beginCaptures": {
5757
"1": { "name": "keyword.language.dune-project" }
@@ -61,23 +61,23 @@
6161

6262
{
6363
"comment": "explicit_js_mode",
64-
"match": "\\(\\s*(explicit_js_mode)\\s*\\)",
64+
"match": "\\([[:space:]]*(explicit_js_mode)[[:space:]]*\\)",
6565
"captures": {
6666
"1": { "name": "keyword.language.dune-project" }
6767
}
6868
},
6969

7070
{
7171
"comment": "dialect",
72-
"begin": "\\(\\s*(dialect)\\b",
72+
"begin": "\\([[:space:]]*(dialect)\\b",
7373
"end": "\\)",
7474
"beginCaptures": {
7575
"1": { "name": "keyword.language.dune-project" }
7676
},
7777
"patterns": [
7878
{
7979
"comment": "name",
80-
"begin": "\\(\\s*(name)\\b",
80+
"begin": "\\([[:space:]]*(name)\\b",
8181
"end": "\\)",
8282
"beginCaptures": {
8383
"1": { "name": "keyword.language.dune-project" }
@@ -88,15 +88,15 @@
8888

8989
{
9090
"comment": "implementation/interface",
91-
"begin": "\\(\\s*(implementation|interface)\\b",
91+
"begin": "\\([[:space:]]*(implementation|interface)\\b",
9292
"end": "\\)",
9393
"beginCaptures": {
9494
"1": { "name": "keyword.language.dune-project" }
9595
},
9696
"patterns": [
9797
{
9898
"comment": "extension/preprocess/format",
99-
"begin": "\\(\\s*(extension|preprocess|format)\\b",
99+
"begin": "\\([[:space:]]*(extension|preprocess|format)\\b",
100100
"end": "\\)",
101101
"beginCaptures": {
102102
"1": { "name": "keyword.language.dune-project" }
@@ -112,7 +112,7 @@
112112

113113
{
114114
"comment": "formatting",
115-
"begin": "\\(\\s*(formatting)\\b",
115+
"begin": "\\([[:space:]]*(formatting)\\b",
116116
"end": "\\)",
117117
"beginCaptures": {
118118
"1": { "name": "keyword.language.dune-project" }
@@ -123,7 +123,7 @@
123123
"match": "\\b(disabled)\\b"
124124
},
125125
{
126-
"begin": "\\(\\s*(enabled_for)\\b",
126+
"begin": "\\([[:space:]]*(enabled_for)\\b",
127127
"end": "\\)",
128128
"beginCaptures": {
129129
"1": { "name": "keyword.language.dune-project" }
@@ -136,7 +136,7 @@
136136

137137
{
138138
"comment": "generate_opam_files",
139-
"begin": "\\(\\s*(generate_opam_files)\\b",
139+
"begin": "\\([[:space:]]*(generate_opam_files)\\b",
140140
"end": "\\)",
141141
"beginCaptures": {
142142
"1": { "name": "keyword.language.dune-project" }
@@ -146,15 +146,15 @@
146146

147147
{
148148
"comment": "package",
149-
"begin": "\\(\\s*(package)\\b",
149+
"begin": "\\([[:space:]]*(package)\\b",
150150
"end": "\\)",
151151
"beginCaptures": {
152152
"1": { "name": "keyword.language.dune-project" }
153153
},
154154
"patterns": [
155155
{
156156
"comment": "name",
157-
"begin": "\\(\\s*(name)\\b",
157+
"begin": "\\([[:space:]]*(name)\\b",
158158
"end": "\\)",
159159
"beginCaptures": {
160160
"1": { "name": "keyword.language.dune-project" }
@@ -165,7 +165,7 @@
165165

166166
{
167167
"comment": "synopsis/description",
168-
"begin": "\\(\\s*(synopsis|description)\\b",
168+
"begin": "\\([[:space:]]*(synopsis|description)\\b",
169169
"end": "\\)",
170170
"beginCaptures": {
171171
"1": { "name": "keyword.language.dune-project" }
@@ -175,7 +175,7 @@
175175

176176
{
177177
"comment": "depends/conflicts/depopts",
178-
"begin": "\\(\\s*(depends|conflicts|depopts)\\b",
178+
"begin": "\\([[:space:]]*(depends|conflicts|depopts)\\b",
179179
"end": "\\)",
180180
"beginCaptures": {
181181
"1": { "name": "keyword.language.dune-project" }
@@ -184,11 +184,11 @@
184184
{
185185
"comment": "dependency",
186186
"name": "variable.other.declaration.dune-project",
187-
"match": "\\b([a-zA-Z_-]+)\\b"
187+
"match": "\\b([[:alpha:]-]+)\\b"
188188
},
189189
{
190190
"comment": "dependency constraint",
191-
"begin": "\\(\\s*([a-zA-Z_-]+)\\b",
191+
"begin": "\\([[:space:]]*([[:alpha:]-]+)\\b",
192192
"end": "\\)",
193193
"beginCaptures": {
194194
"1": { "name": "variable.other.declaration.dune-project" }
@@ -201,7 +201,7 @@
201201

202202
{
203203
"comment": "tags",
204-
"begin": "\\(\\s*(tags)\\b",
204+
"begin": "\\([[:space:]]*(tags)\\b",
205205
"end": "\\)",
206206
"beginCaptures": {
207207
"1": { "name": "keyword.language.dune-project" }
@@ -212,7 +212,7 @@
212212

213213
{
214214
"comment": "deprecated_package_names",
215-
"begin": "\\(\\s*(deprecated_package_names)\\b",
215+
"begin": "\\([[:space:]]*(deprecated_package_names)\\b",
216216
"end": "\\)",
217217
"beginCaptures": {
218218
"1": { "name": "keyword.language.dune-project" }
@@ -227,7 +227,7 @@
227227

228228
{
229229
"comment": "using",
230-
"begin": "\\(\\s*(using)(\\s+menhir)?\\b",
230+
"begin": "\\([[:space:]]*(using)([[:space:]]+menhir)?\\b",
231231
"end": "\\)",
232232
"beginCaptures": {
233233
"1": { "name": "keyword.language.dune-project" },
@@ -244,7 +244,7 @@
244244
"patterns": [
245245
{
246246
"comment": "license",
247-
"begin": "\\(\\s*(license)\\b",
247+
"begin": "\\([[:space:]]*(license)\\b",
248248
"end": "\\)",
249249
"beginCaptures": {
250250
"1": { "name": "keyword.language.dune-project" }
@@ -255,7 +255,7 @@
255255

256256
{
257257
"comment": "authors/maintainers",
258-
"begin": "\\(\\s*(authors|maintainers)\\b",
258+
"begin": "\\([[:space:]]*(authors|maintainers)\\b",
259259
"end": "\\)",
260260
"beginCaptures": {
261261
"1": { "name": "keyword.language.dune-project" }
@@ -265,15 +265,15 @@
265265

266266
{
267267
"comment": "source",
268-
"begin": "\\(\\s*(source)\\b",
268+
"begin": "\\([[:space:]]*(source)\\b",
269269
"end": "\\)",
270270
"beginCaptures": {
271271
"1": { "name": "keyword.language.dune-project" }
272272
},
273273
"patterns": [
274274
{
275275
"comment": "github",
276-
"begin": "\\(\\s*(github)\\b",
276+
"begin": "\\([[:space:]]*(github)\\b",
277277
"end": "\\)",
278278
"beginCaptures": {
279279
"1": { "name": "keyword.language.dune-project" }
@@ -289,7 +289,7 @@
289289
},
290290
{
291291
"comment": "uri",
292-
"begin": "\\(\\s*(uri)\\b",
292+
"begin": "\\([[:space:]]*(uri)\\b",
293293
"end": "\\)",
294294
"beginCaptures": {
295295
"1": { "name": "keyword.language.dune-project" }
@@ -302,7 +302,7 @@
302302

303303
{
304304
"comment": "bug_reports/homepage/documentation",
305-
"begin": "\\(\\s*(bug_reports|homepage|documentation)\\b",
305+
"begin": "\\([[:space:]]*(bug_reports|homepage|documentation)\\b",
306306
"end": "\\)",
307307
"beginCaptures": {
308308
"1": { "name": "keyword.language.dune-project" }
@@ -339,12 +339,12 @@
339339
{
340340
"comment": "symbol",
341341
"name": "constant.symbol.dune",
342-
"match": "(:[a-zA-Z_-]+)\\b"
342+
"match": "(:[[:alpha:]-]+)\\b"
343343
},
344344
{
345345
"comment": "number or version",
346346
"name": "constant.numeric.dune",
347-
"match": "\\b([0-9](\\.[0-9]+)+)\\b"
347+
"match": "\\b([[:digit:]](\\.[[:digit:]]+)+)\\b"
348348
},
349349
{
350350
"comment": "true or false",
@@ -361,14 +361,14 @@
361361
},
362362
{
363363
"comment": "boolean/predicate language",
364-
"begin": "\\(\\s*(=|<>|>=|<=|<|>)",
364+
"begin": "\\([[:space:]]*(=|<>|>=|<=|<|>)",
365365
"end": "\\)",
366366
"beginCaptures": { "1": { "name": "keyword.operator.dune" } },
367367
"patterns": [{ "include": "#general" }]
368368
},
369369
{
370370
"comment": "boolean/predicate language",
371-
"begin": "\\(\\s*(and|or|not)\\b",
371+
"begin": "\\([[:space:]]*(and|or|not)\\b",
372372
"end": "\\)",
373373
"beginCaptures": { "1": { "name": "keyword.operator.dune" } },
374374
"patterns": [{ "include": "#general" }]
@@ -400,12 +400,12 @@
400400
{
401401
"comment": "character from decimal ASCII code",
402402
"name": "constant.character.escape.dune",
403-
"match": "\\\\[0-9]{3}"
403+
"match": "\\\\[[:digit:]]{3}"
404404
},
405405
{
406406
"comment": "character from hexadecimal ASCII code",
407407
"name": "constant.character.escape.dune",
408-
"match": "\\\\x[0-9A-Fa-f]{2}"
408+
"match": "\\\\x[[:xdigit:]]{2}"
409409
},
410410
{
411411
"comment": "escaped variable",

0 commit comments

Comments
 (0)