github-linguist 7.1.3 → 7.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/grammars/annotation.liquidhaskell.haskell.json +119 -4
- data/grammars/etc.json +148 -0
- data/grammars/hint.haskell.json +119 -4
- data/grammars/hint.message.haskell.json +119 -4
- data/grammars/hint.type.haskell.json +119 -4
- data/grammars/injections.etc.json +21 -0
- data/grammars/source.abap.json +2 -2
- data/grammars/source.ats.json +87 -17
- data/grammars/source.ballerina.json +236 -313
- data/grammars/source.batchfile.json +1 -1
- data/grammars/source.bdf.json +14 -8
- data/grammars/source.changelogs.rpm-spec.json +3 -3
- data/grammars/source.chapel.json +1 -1
- data/grammars/source.coffee.json +98 -0
- data/grammars/source.csound-document.json +26 -124
- data/grammars/source.curlrc.json +180 -0
- data/grammars/source.dart.json +5 -2
- data/grammars/source.elixir.json +20 -25
- data/grammars/source.emacs.lisp.json +23 -1
- data/grammars/source.gdb.json +1 -1
- data/grammars/source.gitattributes.json +111 -0
- data/grammars/source.gitconfig.json +450 -0
- data/grammars/source.gitignore.json +140 -0
- data/grammars/source.graphql.json +18 -0
- data/grammars/source.haproxy-config.json +10 -10
- data/grammars/source.haskell.json +119 -4
- data/grammars/source.hgignore.json +34 -0
- data/grammars/source.hsig.json +119 -4
- data/grammars/source.hx.json +2 -2
- data/grammars/source.jison.json +1 -1
- data/grammars/source.ltspice.symbol.json +294 -0
- data/grammars/source.m4.json +187 -0
- data/grammars/source.man-conf.json +141 -0
- data/grammars/source.nanorc.json +330 -0
- data/grammars/source.nim.comment.json +82 -0
- data/grammars/source.nim.json +1 -57
- data/grammars/source.nix.json +2 -2
- data/grammars/source.opts.json +98 -0
- data/grammars/source.reason.json +13 -0
- data/grammars/source.rust.json +35 -0
- data/grammars/source.terraform.json +4 -1
- data/grammars/source.ts.json +307 -39
- data/grammars/source.tsx.json +290 -37
- data/grammars/source.zig.json +286 -0
- data/grammars/text.html.basic.json +1 -1
- data/grammars/text.marko.json +61 -9
- data/grammars/text.tex.latex.haskell.json +119 -4
- data/grammars/text.zone_file.json +2 -2
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +0 -8
- data/lib/linguist/heuristics.yml +30 -3
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +143 -3
- data/lib/linguist/samples.json +4494 -646
- data/lib/linguist/vendor.yml +1 -2
- metadata +31 -4
- data/grammars/source.solidity.json +0 -189
@@ -282,6 +282,9 @@
|
|
282
282
|
{
|
283
283
|
"include": "#deriving"
|
284
284
|
},
|
285
|
+
{
|
286
|
+
"include": "#via"
|
287
|
+
},
|
285
288
|
{
|
286
289
|
"include": "#assignment_op"
|
287
290
|
},
|
@@ -380,7 +383,7 @@
|
|
380
383
|
{
|
381
384
|
"name": "meta.declaration.instance.deriving.haskell",
|
382
385
|
"contentName": "meta.type-signature.haskell",
|
383
|
-
"begin": "^([ \\t]*)(deriving\\s+instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
386
|
+
"begin": "^([ \\t]*)(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
384
387
|
"end": "^(?!\\1[ \\t]|[ \\t]*$)",
|
385
388
|
"patterns": [
|
386
389
|
{
|
@@ -388,11 +391,24 @@
|
|
388
391
|
},
|
389
392
|
{
|
390
393
|
"include": "#type_signature"
|
394
|
+
},
|
395
|
+
{
|
396
|
+
"include": "#deriving_via"
|
391
397
|
}
|
392
398
|
],
|
393
399
|
"beginCaptures": {
|
394
400
|
"2": {
|
395
401
|
"name": "keyword.other.haskell"
|
402
|
+
},
|
403
|
+
"3": {
|
404
|
+
"patterns": [
|
405
|
+
{
|
406
|
+
"include": "#deriving_strategies"
|
407
|
+
}
|
408
|
+
]
|
409
|
+
},
|
410
|
+
"4": {
|
411
|
+
"name": "keyword.other.haskell"
|
396
412
|
}
|
397
413
|
}
|
398
414
|
}
|
@@ -402,10 +418,17 @@
|
|
402
418
|
"patterns": [
|
403
419
|
{
|
404
420
|
"name": "meta.deriving.haskell",
|
405
|
-
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
421
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
406
422
|
"captures": {
|
407
423
|
"1": {
|
408
424
|
"name": "keyword.other.haskell"
|
425
|
+
},
|
426
|
+
"2": {
|
427
|
+
"patterns": [
|
428
|
+
{
|
429
|
+
"include": "#deriving_strategies"
|
430
|
+
}
|
431
|
+
]
|
409
432
|
}
|
410
433
|
}
|
411
434
|
}
|
@@ -415,7 +438,7 @@
|
|
415
438
|
"patterns": [
|
416
439
|
{
|
417
440
|
"name": "meta.deriving.haskell",
|
418
|
-
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)\\s*\\(",
|
441
|
+
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s*\\(",
|
419
442
|
"end": "\\)",
|
420
443
|
"patterns": [
|
421
444
|
{
|
@@ -430,6 +453,13 @@
|
|
430
453
|
"beginCaptures": {
|
431
454
|
"1": {
|
432
455
|
"name": "keyword.other.haskell"
|
456
|
+
},
|
457
|
+
"2": {
|
458
|
+
"patterns": [
|
459
|
+
{
|
460
|
+
"include": "#deriving_strategies"
|
461
|
+
}
|
462
|
+
]
|
433
463
|
}
|
434
464
|
}
|
435
465
|
}
|
@@ -439,18 +469,38 @@
|
|
439
469
|
"patterns": [
|
440
470
|
{
|
441
471
|
"name": "meta.deriving.haskell",
|
442
|
-
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
472
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
443
473
|
"captures": {
|
444
474
|
"1": {
|
445
475
|
"name": "keyword.other.haskell"
|
446
476
|
},
|
447
477
|
"2": {
|
478
|
+
"patterns": [
|
479
|
+
{
|
480
|
+
"include": "#deriving_strategies"
|
481
|
+
}
|
482
|
+
]
|
483
|
+
},
|
484
|
+
"3": {
|
448
485
|
"name": "entity.other.inherited-class.haskell"
|
449
486
|
}
|
450
487
|
}
|
451
488
|
}
|
452
489
|
]
|
453
490
|
},
|
491
|
+
"deriving_strategies": {
|
492
|
+
"patterns": [
|
493
|
+
{
|
494
|
+
"name": "meta.deriving.strategy.haskell",
|
495
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(stock|newtype|anyclass)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
496
|
+
"captures": {
|
497
|
+
"1": {
|
498
|
+
"name": "keyword.other.haskell"
|
499
|
+
}
|
500
|
+
}
|
501
|
+
}
|
502
|
+
]
|
503
|
+
},
|
454
504
|
"double_colon_operator": {
|
455
505
|
"patterns": [
|
456
506
|
{
|
@@ -1503,6 +1553,71 @@
|
|
1503
1553
|
}
|
1504
1554
|
]
|
1505
1555
|
},
|
1556
|
+
"via": {
|
1557
|
+
"patterns": [
|
1558
|
+
{
|
1559
|
+
"include": "#via_list"
|
1560
|
+
},
|
1561
|
+
{
|
1562
|
+
"include": "#via_simple"
|
1563
|
+
},
|
1564
|
+
{
|
1565
|
+
"include": "#via_keyword"
|
1566
|
+
}
|
1567
|
+
]
|
1568
|
+
},
|
1569
|
+
"via_keyword": {
|
1570
|
+
"patterns": [
|
1571
|
+
{
|
1572
|
+
"name": "meta.via.haskell",
|
1573
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
1574
|
+
"captures": {
|
1575
|
+
"1": {
|
1576
|
+
"name": "keyword.other.haskell"
|
1577
|
+
}
|
1578
|
+
}
|
1579
|
+
}
|
1580
|
+
]
|
1581
|
+
},
|
1582
|
+
"via_list": {
|
1583
|
+
"patterns": [
|
1584
|
+
{
|
1585
|
+
"name": "meta.via.haskell",
|
1586
|
+
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*\\(",
|
1587
|
+
"end": "\\)",
|
1588
|
+
"patterns": [
|
1589
|
+
{
|
1590
|
+
"include": "#type_signature"
|
1591
|
+
}
|
1592
|
+
],
|
1593
|
+
"beginCaptures": {
|
1594
|
+
"1": {
|
1595
|
+
"name": "keyword.other.haskell"
|
1596
|
+
}
|
1597
|
+
}
|
1598
|
+
}
|
1599
|
+
]
|
1600
|
+
},
|
1601
|
+
"via_simple": {
|
1602
|
+
"patterns": [
|
1603
|
+
{
|
1604
|
+
"name": "meta.via.haskell",
|
1605
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
1606
|
+
"captures": {
|
1607
|
+
"1": {
|
1608
|
+
"name": "keyword.other.haskell"
|
1609
|
+
},
|
1610
|
+
"2": {
|
1611
|
+
"patterns": [
|
1612
|
+
{
|
1613
|
+
"include": "#type_signature"
|
1614
|
+
}
|
1615
|
+
]
|
1616
|
+
}
|
1617
|
+
}
|
1618
|
+
}
|
1619
|
+
]
|
1620
|
+
},
|
1506
1621
|
"where": {
|
1507
1622
|
"patterns": [
|
1508
1623
|
{
|
@@ -255,6 +255,9 @@
|
|
255
255
|
{
|
256
256
|
"include": "#deriving"
|
257
257
|
},
|
258
|
+
{
|
259
|
+
"include": "#via"
|
260
|
+
},
|
258
261
|
{
|
259
262
|
"include": "#assignment_op"
|
260
263
|
},
|
@@ -353,7 +356,7 @@
|
|
353
356
|
{
|
354
357
|
"name": "meta.declaration.instance.deriving.haskell",
|
355
358
|
"contentName": "meta.type-signature.haskell",
|
356
|
-
"begin": "^([ \\t]*)(deriving\\s+instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
359
|
+
"begin": "^([ \\t]*)(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
357
360
|
"end": "^(?!\\1[ \\t]|[ \\t]*$)",
|
358
361
|
"patterns": [
|
359
362
|
{
|
@@ -361,11 +364,24 @@
|
|
361
364
|
},
|
362
365
|
{
|
363
366
|
"include": "#type_signature"
|
367
|
+
},
|
368
|
+
{
|
369
|
+
"include": "#deriving_via"
|
364
370
|
}
|
365
371
|
],
|
366
372
|
"beginCaptures": {
|
367
373
|
"2": {
|
368
374
|
"name": "keyword.other.haskell"
|
375
|
+
},
|
376
|
+
"3": {
|
377
|
+
"patterns": [
|
378
|
+
{
|
379
|
+
"include": "#deriving_strategies"
|
380
|
+
}
|
381
|
+
]
|
382
|
+
},
|
383
|
+
"4": {
|
384
|
+
"name": "keyword.other.haskell"
|
369
385
|
}
|
370
386
|
}
|
371
387
|
}
|
@@ -375,10 +391,17 @@
|
|
375
391
|
"patterns": [
|
376
392
|
{
|
377
393
|
"name": "meta.deriving.haskell",
|
378
|
-
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
394
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
379
395
|
"captures": {
|
380
396
|
"1": {
|
381
397
|
"name": "keyword.other.haskell"
|
398
|
+
},
|
399
|
+
"2": {
|
400
|
+
"patterns": [
|
401
|
+
{
|
402
|
+
"include": "#deriving_strategies"
|
403
|
+
}
|
404
|
+
]
|
382
405
|
}
|
383
406
|
}
|
384
407
|
}
|
@@ -388,7 +411,7 @@
|
|
388
411
|
"patterns": [
|
389
412
|
{
|
390
413
|
"name": "meta.deriving.haskell",
|
391
|
-
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)\\s*\\(",
|
414
|
+
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s*\\(",
|
392
415
|
"end": "\\)",
|
393
416
|
"patterns": [
|
394
417
|
{
|
@@ -403,6 +426,13 @@
|
|
403
426
|
"beginCaptures": {
|
404
427
|
"1": {
|
405
428
|
"name": "keyword.other.haskell"
|
429
|
+
},
|
430
|
+
"2": {
|
431
|
+
"patterns": [
|
432
|
+
{
|
433
|
+
"include": "#deriving_strategies"
|
434
|
+
}
|
435
|
+
]
|
406
436
|
}
|
407
437
|
}
|
408
438
|
}
|
@@ -412,18 +442,38 @@
|
|
412
442
|
"patterns": [
|
413
443
|
{
|
414
444
|
"name": "meta.deriving.haskell",
|
415
|
-
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
445
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
416
446
|
"captures": {
|
417
447
|
"1": {
|
418
448
|
"name": "keyword.other.haskell"
|
419
449
|
},
|
420
450
|
"2": {
|
451
|
+
"patterns": [
|
452
|
+
{
|
453
|
+
"include": "#deriving_strategies"
|
454
|
+
}
|
455
|
+
]
|
456
|
+
},
|
457
|
+
"3": {
|
421
458
|
"name": "entity.other.inherited-class.haskell"
|
422
459
|
}
|
423
460
|
}
|
424
461
|
}
|
425
462
|
]
|
426
463
|
},
|
464
|
+
"deriving_strategies": {
|
465
|
+
"patterns": [
|
466
|
+
{
|
467
|
+
"name": "meta.deriving.strategy.haskell",
|
468
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(stock|newtype|anyclass)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
469
|
+
"captures": {
|
470
|
+
"1": {
|
471
|
+
"name": "keyword.other.haskell"
|
472
|
+
}
|
473
|
+
}
|
474
|
+
}
|
475
|
+
]
|
476
|
+
},
|
427
477
|
"double_colon_operator": {
|
428
478
|
"patterns": [
|
429
479
|
{
|
@@ -1476,6 +1526,71 @@
|
|
1476
1526
|
}
|
1477
1527
|
]
|
1478
1528
|
},
|
1529
|
+
"via": {
|
1530
|
+
"patterns": [
|
1531
|
+
{
|
1532
|
+
"include": "#via_list"
|
1533
|
+
},
|
1534
|
+
{
|
1535
|
+
"include": "#via_simple"
|
1536
|
+
},
|
1537
|
+
{
|
1538
|
+
"include": "#via_keyword"
|
1539
|
+
}
|
1540
|
+
]
|
1541
|
+
},
|
1542
|
+
"via_keyword": {
|
1543
|
+
"patterns": [
|
1544
|
+
{
|
1545
|
+
"name": "meta.via.haskell",
|
1546
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
1547
|
+
"captures": {
|
1548
|
+
"1": {
|
1549
|
+
"name": "keyword.other.haskell"
|
1550
|
+
}
|
1551
|
+
}
|
1552
|
+
}
|
1553
|
+
]
|
1554
|
+
},
|
1555
|
+
"via_list": {
|
1556
|
+
"patterns": [
|
1557
|
+
{
|
1558
|
+
"name": "meta.via.haskell",
|
1559
|
+
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*\\(",
|
1560
|
+
"end": "\\)",
|
1561
|
+
"patterns": [
|
1562
|
+
{
|
1563
|
+
"include": "#type_signature"
|
1564
|
+
}
|
1565
|
+
],
|
1566
|
+
"beginCaptures": {
|
1567
|
+
"1": {
|
1568
|
+
"name": "keyword.other.haskell"
|
1569
|
+
}
|
1570
|
+
}
|
1571
|
+
}
|
1572
|
+
]
|
1573
|
+
},
|
1574
|
+
"via_simple": {
|
1575
|
+
"patterns": [
|
1576
|
+
{
|
1577
|
+
"name": "meta.via.haskell",
|
1578
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
1579
|
+
"captures": {
|
1580
|
+
"1": {
|
1581
|
+
"name": "keyword.other.haskell"
|
1582
|
+
},
|
1583
|
+
"2": {
|
1584
|
+
"patterns": [
|
1585
|
+
{
|
1586
|
+
"include": "#type_signature"
|
1587
|
+
}
|
1588
|
+
]
|
1589
|
+
}
|
1590
|
+
}
|
1591
|
+
}
|
1592
|
+
]
|
1593
|
+
},
|
1479
1594
|
"where": {
|
1480
1595
|
"patterns": [
|
1481
1596
|
{
|
@@ -0,0 +1,21 @@
|
|
1
|
+
{
|
2
|
+
"scopeName": "injections.etc",
|
3
|
+
"patterns": [
|
4
|
+
{
|
5
|
+
"name": "meta.embedded.source.diff",
|
6
|
+
"begin": "(?\u003c=__END__)(?=\\s|$)",
|
7
|
+
"end": "(?=^(?!diff ))",
|
8
|
+
"patterns": [
|
9
|
+
{
|
10
|
+
"begin": "^(?=diff )",
|
11
|
+
"end": "(?=A)B",
|
12
|
+
"patterns": [
|
13
|
+
{
|
14
|
+
"include": "source.diff"
|
15
|
+
}
|
16
|
+
]
|
17
|
+
}
|
18
|
+
]
|
19
|
+
}
|
20
|
+
]
|
21
|
+
}
|
data/grammars/source.abap.json
CHANGED
@@ -81,7 +81,7 @@
|
|
81
81
|
},
|
82
82
|
{
|
83
83
|
"name": "meta.block.begin.implementation.abap",
|
84
|
-
"begin": "(?i)^\\s*(class|method|form)\\s([a-z_][a-z_0-9]*)",
|
84
|
+
"begin": "(?i)^\\s*(class|method|form)\\s([a-z_/][a-z_0-9/]*)",
|
85
85
|
"end": "\\s*\\.\\s*\\n?",
|
86
86
|
"patterns": [
|
87
87
|
{
|
@@ -179,7 +179,7 @@
|
|
179
179
|
},
|
180
180
|
"main_keywords": {
|
181
181
|
"name": "keyword.control.simple.abap",
|
182
|
-
"match": "(?ix)(?\u003c=^|\\s)(\n\t abstract|add|add-corresponding|adjacent|alias|aliases|all|append|appending|ascending|as|assert|assign|assigned|assigning|authority-check|\n\t back|begin|binary|bound|break-point|by|byte|\n\t call|cast|changing|check|class-data|class-method|class-methods|clear|close|cnt|collect|commit|character|\n\t corresponding|communication|component|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|\n\t data|descending|default|define|deferred|delete|describe|detail|display|divide|divide-corresponding|display-mode|duplicates|\n\t deleting|\n\t editor-call|end|endexec|endfunction|ending|endinterface|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|\n\t endprovide|endselect|endtry|endwhile|enum|event|events|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|first|fetch|fields|format|free|from|function|find|for|function-pool|\n\t generate|get|\n\t handle|hide|\n\t import|importing|index|infotypes|initial|initialization|\n\t id|is|in|interface|interfaces|input|insert|into|\n\t\t\tkey|\n\t left-justified|leave|like|line|line-count|line-size|load|local|length|left|leading|lower|\n\t method|message|message-id|methods|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|\n\t\t\tnew|new-line|new-page|new-section|no|no-gap|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|overlay|optional|others|occurrences|occurs|offset|\n\t pack|parameters|perform|places|position|print-control|private|program|protected|provide|public|put|\n\t radiobutton|raising|ranges|receive|receiving|redefinition|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|reserve|restore|return|returning|right-justified|rollback|read|read-only|rp-provide-from-last|\n\t scan|screen|scroll|search|select|select-options|selection-screen|\n\t separated|set|shift|single|skip|sort|sorted|split|standard|starting|start-of-selection|sum|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|\n\t tables|table|testing|test-seam|test-injection|then|times|titlebar|to|top-of-page|trailing|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|unpack|update|upper|using|\n\t value|\n\t when|while|window|write|where|with|work\n\t\t\t )(?=\\s
|
182
|
+
"match": "(?ix)(?\u003c=^|\\s)(\n\t abstract|add|add-corresponding|adjacent|alias|aliases|all|append|appending|ascending|as|assert|assign|assigned|assigning|association|authority-check|\n\t back|begin|binary|block|bound|break-point|by|byte|\n\t call|cast|changing|check|class-data|class-method|class-methods|clear|close|cnt|collect|commit|character|\n\t corresponding|communication|component|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|\n\t data|descending|default|define|deferred|delete|describe|detail|display|divide|divide-corresponding|display-mode|duplicates|\n\t deleting|\n\t editor-call|end|endexec|endfunction|ending|endinterface|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|exit-command|\n\t endprovide|endselect|endtry|endwhile|enum|event|events|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|field|first|fetch|fields|format|frame|free|from|function|find|for|function-pool|\n\t generate|get|\n\t handle|hide|hashed|\n\t import|importing|index|infotypes|initial|initialization|\n\t id|is|in|interface|interfaces|input|insert|into|\n\t\t\tkey|\n\t left-justified|leave|like|line|line-count|line-size|load|local|log-point|length|left|leading|lower|\n\t matchcode|method|mesh|message|message-id|methods|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|\n\t\t\tnew|new-line|new-page|new-section|no|no-gap|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|overlay|optional|others|occurrences|occurs|offset|options|\n\t pack|parameters|perform|places|position|print-control|private|program|protected|provide|public|put|\n\t radiobutton|raising|ranges|receive|receiving|redefinition|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|reserve|restore|result|return|returning|right-justified|rollback|read|read-only|rp-provide-from-last|run|\n\t scan|screen|scroll|search|select|select-options|selection-screen|stamp|source|subkey|\n\t separated|set|shift|single|skip|sort|sorted|split|standard|stamp|starting|start-of-selection|sum|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|\n\t tables|table|task|testing|test-seam|test-injection|then|time|times|title|titlebar|to|top-of-page|trailing|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|unpack|update|upper|using|\n\t value|\n\t when|while|window|write|where|with|work|\n\t\t\t\t\txml\n\t\t\t )(?=\\s|\\.|:|,)"
|
183
183
|
},
|
184
184
|
"math_operators": {
|
185
185
|
"name": "keyword.operator.math.abap",
|
data/grammars/source.ats.json
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
"name": "ATS",
|
3
3
|
"scopeName": "source.ats",
|
4
4
|
"patterns": [
|
5
|
+
{
|
6
|
+
"include": "#quantifier_curly"
|
7
|
+
},
|
8
|
+
{
|
9
|
+
"include": "#quantifier_square"
|
10
|
+
},
|
5
11
|
{
|
6
12
|
"include": "#block"
|
7
13
|
},
|
@@ -12,7 +18,10 @@
|
|
12
18
|
"include": "#comment_line"
|
13
19
|
},
|
14
20
|
{
|
15
|
-
"include": "#
|
21
|
+
"include": "#comment_block_c"
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"include": "#comment_block_sml"
|
16
25
|
},
|
17
26
|
{
|
18
27
|
"include": "#embed"
|
@@ -21,13 +30,13 @@
|
|
21
30
|
"include": "#operators"
|
22
31
|
},
|
23
32
|
{
|
24
|
-
"include": "#
|
33
|
+
"include": "#quantifier_arrow"
|
25
34
|
},
|
26
35
|
{
|
27
|
-
"include": "#
|
36
|
+
"include": "#definition_function"
|
28
37
|
},
|
29
38
|
{
|
30
|
-
"include": "#
|
39
|
+
"include": "#definition_type"
|
31
40
|
},
|
32
41
|
{
|
33
42
|
"include": "#keywords"
|
@@ -35,6 +44,9 @@
|
|
35
44
|
{
|
36
45
|
"include": "#keywords_types"
|
37
46
|
},
|
47
|
+
{
|
48
|
+
"include": "#false_true"
|
49
|
+
},
|
38
50
|
{
|
39
51
|
"include": "#string"
|
40
52
|
},
|
@@ -49,12 +61,16 @@
|
|
49
61
|
},
|
50
62
|
{
|
51
63
|
"include": "#number"
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"include": "#identifier"
|
52
67
|
}
|
53
68
|
],
|
54
69
|
"repository": {
|
55
70
|
"block": {
|
56
|
-
"
|
57
|
-
"
|
71
|
+
"name": "meta.block",
|
72
|
+
"begin": "(?\u003c=where|=|^|then|else|\\$rec|\\$rec_t|\\$rec_vt)(?:\\s*)\\{",
|
73
|
+
"end": "\\}",
|
58
74
|
"patterns": [
|
59
75
|
{
|
60
76
|
"include": "$self"
|
@@ -66,13 +82,19 @@
|
|
66
82
|
"name": "string.quoted.double",
|
67
83
|
"match": "(')([^\\\\]{0,1}|\\\\(\\\\|[abefpnrtv'\"?]|[0-3]\\d{0,2}|[4-7]\\d?|x[a-fA-F0-9]{0,2}|u[a-fA-F0-9]{0,4}|U[a-fA-F0-9]{0,8}))(')"
|
68
84
|
},
|
69
|
-
"
|
85
|
+
"comment_block_c": {
|
86
|
+
"name": "comment.block",
|
87
|
+
"begin": "/\\*",
|
88
|
+
"end": "\\*/",
|
89
|
+
"applyEndPatternLast": true
|
90
|
+
},
|
91
|
+
"comment_block_sml": {
|
70
92
|
"name": "comment.block",
|
71
93
|
"begin": "\\(\\*",
|
72
94
|
"end": "\\*\\)",
|
73
95
|
"patterns": [
|
74
96
|
{
|
75
|
-
"include": "#
|
97
|
+
"include": "#comment_block_sml"
|
76
98
|
}
|
77
99
|
],
|
78
100
|
"applyEndPatternLast": true
|
@@ -82,7 +104,7 @@
|
|
82
104
|
"match": "//.*$"
|
83
105
|
},
|
84
106
|
"comment_rest": {
|
85
|
-
"name": "comment",
|
107
|
+
"name": "comment.block",
|
86
108
|
"begin": "////",
|
87
109
|
"end": ".\\z",
|
88
110
|
"patterns": [
|
@@ -92,18 +114,66 @@
|
|
92
114
|
],
|
93
115
|
"applyEndPatternLast": true
|
94
116
|
},
|
117
|
+
"definition_function": {
|
118
|
+
"name": "meta.function-definition",
|
119
|
+
"begin": "\\b(?:castfn|fn|fun|implement|implmnt|infixl|infixr|infix|overload|postfix|praxi|prfn|prfun|primplement|primplmnt|var)\\b",
|
120
|
+
"end": "\\b[a-zA-Z][a-zA-Z0-9_']*\\b",
|
121
|
+
"patterns": [
|
122
|
+
{
|
123
|
+
"include": "$self"
|
124
|
+
}
|
125
|
+
],
|
126
|
+
"beginCaptures": {
|
127
|
+
"0": {
|
128
|
+
"name": "keyword"
|
129
|
+
}
|
130
|
+
},
|
131
|
+
"endCaptures": {
|
132
|
+
"0": {
|
133
|
+
"name": "entity.name.function"
|
134
|
+
}
|
135
|
+
}
|
136
|
+
},
|
137
|
+
"definition_type": {
|
138
|
+
"name": "meta.type-definition",
|
139
|
+
"begin": "\\b(abstype|abst@ype|abst0pe|absvtype|absvt@ype|absvt0pe|absviewtype|absviewt@ype|absviewt0pe|absview|absprop|datatype|datavtype|dataviewtype|dataview|dataprop|datasort|sortdef|propdef|viewdef|viewtypedef|vtypedef|stadef|stacst|typedef)\\b",
|
140
|
+
"end": "\\b[a-zA-Z][a-zA-Z0-9_']*\\b",
|
141
|
+
"patterns": [
|
142
|
+
{
|
143
|
+
"include": "$self"
|
144
|
+
}
|
145
|
+
],
|
146
|
+
"beginCaptures": {
|
147
|
+
"0": {
|
148
|
+
"name": "keyword"
|
149
|
+
}
|
150
|
+
},
|
151
|
+
"endCaptures": {
|
152
|
+
"0": {
|
153
|
+
"name": "entity.name.type storage.type"
|
154
|
+
}
|
155
|
+
}
|
156
|
+
},
|
95
157
|
"embed": {
|
96
158
|
"name": "meta",
|
97
159
|
"begin": "(%{)",
|
98
160
|
"end": "(%})"
|
99
161
|
},
|
162
|
+
"false_true": {
|
163
|
+
"name": "constant.language.boolean",
|
164
|
+
"match": "\\b(?:false|true)\\b"
|
165
|
+
},
|
166
|
+
"identifier": {
|
167
|
+
"name": "identifier",
|
168
|
+
"match": "\\b[a-zA-Z][a-zA-Z0-9_']*\\b"
|
169
|
+
},
|
100
170
|
"keywords": {
|
101
171
|
"name": "keyword",
|
102
|
-
"match": "(\\#|\\$)(\\w+)|\\b(castfn|and|andalso|assume|as|begin|break|case(\\+|-)?|class|continue|dynload|dyn|else|end|exception|extern|fix|fn|for|fun|if|implement|implmnt|primplement|primplmnt|infixl|infixr|infix|in|lam|let|llam|local|macdef|macrodef|method|modprop|modtype|module|nonfix|object|of|op|or|orelse|overload|par|postfix|praxi|prefix|prfn|prfun|prval|rec|sif|staif|staload|stavar|sta|struct|symelim|symintr|then|try|union|val(\\+|-)?|var|when|where|while|withprop|withtype|withviewtype|withview|with)\\b"
|
172
|
+
"match": "(\\#|\\$)(\\w+)|\\b(castfn|and|andalso|assume|as|begin|break|case(\\+|-)?|class|continue|dynload|dyn|else|end|exception|extern|fix|fn|for|fun|if|implement|implmnt|primplement|primplmnt|infixl|infixr|infix|in|lam|let|llam|local|macdef|macrodef|method|modprop|modtype|module|nonfix|object|of|op|or|orelse|overload|par|postfix|praxi|prefix|prfn|prfun|prval|rec|scase|sif|stacst|staif|staload|stavar|sta|struct|symelim|symintr|then|try|union|val(\\+|-)?|var|when|where|while|withprop|withtype|withviewtype|withview|with)\\b"
|
103
173
|
},
|
104
174
|
"keywords_types": {
|
105
175
|
"name": "keyword",
|
106
|
-
"match": "(\\#|\\$)(\\w+)|\\b(abstype|abst@ype|abst0pe|absvtype|absvt@ype|absvt0pe|absviewtype|absviewt@ype|absviewt0pe|absview|absprop|datatype|datavtype|dataviewtype|dataview|dataprop|datasort|sortdef|propdef|viewdef|viewtypedef|vtypedef|stadef|typedef
|
176
|
+
"match": "(\\#|\\$)(\\w+)|\\b(abstype|abst@ype|abst0pe|absvtype|absvt@ype|absvt0pe|absviewtype|absviewt@ype|absviewt0pe|absview|absprop|datatype|datavtype|dataviewtype|dataview|dataprop|datasort|sortdef|propdef|viewdef|viewtypedef|vtypedef|stadef|typedef)\\b"
|
107
177
|
},
|
108
178
|
"number": {
|
109
179
|
"name": "constant.numeric",
|
@@ -119,14 +189,14 @@
|
|
119
189
|
"end": "\u003e"
|
120
190
|
},
|
121
191
|
"quantifier_curly": {
|
122
|
-
"name": "support.type",
|
123
|
-
"begin": "(
|
124
|
-
"end": "
|
192
|
+
"name": "support.type.quantifier.universal",
|
193
|
+
"begin": "\\{(?=[\\S])",
|
194
|
+
"end": "\\}"
|
125
195
|
},
|
126
196
|
"quantifier_square": {
|
127
|
-
"name": "support.type",
|
128
|
-
"begin": "(\\
|
129
|
-
"end": "
|
197
|
+
"name": "support.type.quantifier.existential",
|
198
|
+
"begin": "\\[(?=[\\S])",
|
199
|
+
"end": "\\]"
|
130
200
|
},
|
131
201
|
"records": {
|
132
202
|
"begin": "('|@)({)",
|