github-linguist 7.6.0 → 7.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/bin/github-linguist +17 -4
- data/grammars/annotation.liquidhaskell.haskell.json +58 -11
- data/grammars/etc.json +472 -4
- data/grammars/hidden.manref.json +29 -0
- data/grammars/hidden.regexp.injection-shell.json +28 -0
- data/grammars/hint.haskell.json +58 -11
- data/grammars/hint.message.haskell.json +58 -11
- data/grammars/hint.type.haskell.json +58 -11
- data/grammars/injections.etc.json +601 -1
- data/grammars/markdown.plantuml.codeblock.json +26 -0
- data/grammars/source.4dm.json +1156 -0
- data/grammars/source.abap.json +7 -7
- data/grammars/source.abl.json +685 -83
- data/grammars/source.abnf.json +23 -1
- data/grammars/source.agda.json +33 -203
- data/grammars/source.ahk.json +9 -5
- data/grammars/source.angelscript.json +1 -1
- data/grammars/source.ballerina.json +55 -19
- data/grammars/source.c++.json +4 -4
- data/grammars/source.c.platform.json +584 -33
- data/grammars/source.chapel.json +7 -4
- data/grammars/source.csound.json +1 -1
- data/grammars/source.css.json +3 -3
- data/grammars/source.css.scss.json +164 -15
- data/grammars/source.curlrc.json +869 -65
- data/grammars/source.d.json +2 -2
- data/grammars/source.dart.json +58 -32
- data/grammars/source.dircolors.json +137 -0
- data/grammars/source.direct-x.json +135 -0
- data/grammars/source.ebnf.json +67 -39
- data/grammars/source.editorconfig.json +23 -5
- data/grammars/source.elixir.json +51 -0
- data/grammars/source.elm.json +1 -1
- data/grammars/source.emacs.lisp.json +10 -0
- data/grammars/source.faust.json +119 -0
- data/grammars/source.futhark.json +146 -0
- data/grammars/source.gcode.json +166 -8
- data/grammars/source.gedcom.json +196 -0
- data/grammars/source.generic-db.json +41 -0
- data/grammars/source.gfm.blade.json +15 -0
- data/grammars/source.gfm.json +1697 -1439
- data/grammars/source.gitconfig.json +1 -1
- data/grammars/source.hack.json +200 -98
- data/grammars/source.haskell.json +58 -11
- data/grammars/source.hlsl.json +9 -5
- data/grammars/source.hosts.json +40 -0
- data/grammars/source.hsig.json +58 -11
- data/grammars/source.httpspec.json +1 -1
- data/grammars/source.hx.json +9 -5
- data/grammars/source.hxml.json +2 -2
- data/grammars/source.idris.json +1 -1
- data/grammars/source.igor.json +46 -2
- data/grammars/source.ini.npmrc.json +311 -0
- data/grammars/source.inno.json +133 -0
- data/grammars/source.inputrc.json +500 -0
- data/grammars/source.isabelle.root.json +1 -1
- data/grammars/source.jison.json +3 -0
- data/grammars/source.jisonlex.json +3 -0
- data/grammars/source.js.json +4 -4
- data/grammars/source.julia.json +70 -24
- data/grammars/source.kotlin.json +17 -51
- data/grammars/source.lcov.json +398 -0
- data/grammars/source.lean.json +20 -4
- data/grammars/source.lean.markdown.json +2598 -0
- data/grammars/source.lex.json +4 -4
- data/grammars/source.m2.json +125 -0
- data/grammars/source.m4.json +141 -99
- data/grammars/source.man-conf.json +47 -35
- data/grammars/source.matlab.json +437 -184
- data/grammars/source.mcfunction-snapshot.json +21388 -561
- data/grammars/source.mcfunction.json +55 -5
- data/grammars/source.meson.json +1 -1
- data/grammars/source.mlir.json +37 -317
- data/grammars/source.modula-3.json +10 -0
- data/grammars/source.msl.json +755 -0
- data/grammars/source.nasl.json +155 -0
- data/grammars/source.neon.json +381 -0
- data/grammars/source.nextflow.json +2 -2
- data/grammars/source.objc.platform.json +493 -35
- data/grammars/source.odin-ehr.json +806 -0
- data/grammars/source.odin.json +402 -0
- data/grammars/source.openbsd-pkg.contents.json +128 -0
- data/grammars/source.opts.json +12 -2
- data/grammars/source.perl6fe.json +1 -1
- data/grammars/source.postscript.json +358 -103
- data/grammars/source.prisma.json +435 -0
- data/grammars/source.purescript.json +29 -2
- data/grammars/source.python.json +52 -0
- data/grammars/source.q.json +150 -63
- data/grammars/source.qasm.json +66 -0
- data/grammars/source.ql.json +1408 -0
- data/grammars/source.r.json +4 -4
- data/grammars/source.reason.json +28 -16
- data/grammars/source.rego.json +124 -0
- data/grammars/source.sass.json +158 -3
- data/grammars/source.scala.json +53 -18
- data/grammars/source.sieve.json +383 -0
- data/grammars/source.solidity.json +1 -1
- data/grammars/source.ssh-config.json +1 -14
- data/grammars/source.swift.json +162 -2
- data/grammars/source.sy.json +2088 -183
- data/grammars/source.tags.json +266 -0
- data/grammars/source.terraform.json +576 -132
- data/grammars/source.tnsaudit.json +256 -0
- data/grammars/source.ts.json +246 -70
- data/grammars/source.tsx.json +247 -71
- data/grammars/source.v.json +587 -761
- data/grammars/source.vim-snippet.json +645 -0
- data/grammars/source.viml.json +6 -6
- data/grammars/source.webassembly.json +10 -0
- data/grammars/source.webidl.json +8 -0
- data/grammars/source.wgetrc.json +1640 -0
- data/grammars/source.wsd.json +781 -0
- data/grammars/source.x86.json +7 -3
- data/grammars/source.zig.json +231 -360
- data/grammars/text.dfy.dafny.json +188 -0
- data/grammars/text.html.php.blade.json +535 -528
- data/grammars/text.html.riot.json +788 -0
- data/grammars/text.muse.json +1471 -0
- data/grammars/text.openbsd-pkg.desc.json +78 -0
- data/grammars/text.roff.json +49 -1
- data/grammars/text.sfd.json +21 -0
- data/grammars/text.tex.latex.haskell.json +58 -11
- data/grammars/text.vim-help.json +383 -0
- data/grammars/text.xml.svg.json +8 -2
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/blob_helper.rb +4 -2
- data/lib/linguist/file_blob.rb +1 -1
- data/lib/linguist/generated.rb +96 -28
- data/lib/linguist/heuristics.yml +64 -4
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +408 -49
- data/lib/linguist/lazy_blob.rb +10 -10
- data/lib/linguist/linguist.bundle +0 -0
- data/lib/linguist/samples.json +48129 -31562
- data/lib/linguist/shebang.rb +5 -3
- data/lib/linguist/vendor.yml +71 -60
- metadata +48 -17
- data/grammars/source.LS.json +0 -85
- data/grammars/source.MCPOST.json +0 -54
- data/grammars/source.MOD.json +0 -55
- data/grammars/source.apt.json +0 -18
- data/grammars/source.jlex.json +0 -322
- data/grammars/source.yaml-ext.json +0 -324
- data/grammars/text.html.abl.json +0 -70
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 17295b377f80cbcffaf551fb456ff1efd060a01230928300d3b07042d3d8c330
|
4
|
+
data.tar.gz: c783d40d56c55bad1761755ccc0fd97ce744ae1b206d3902b67260ca1097dac8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c725414eb0a90a509d128786abb5f3df82f915d840cb8c1078e9869a28af74c674f4ad0e2459652f6150a6b1a6469dd62e3780fef0886d42c1a2b47af8f1f2fc
|
7
|
+
data.tar.gz: 1e28352cacaed155ca8419243327eeca62fe0f048a4a24c0c6868a2a3b6470b91dd46ab13881d7170b80a90e3cea3d629c8b926237aa98408ff8ed4635e333a6
|
data/bin/github-linguist
CHANGED
@@ -26,6 +26,7 @@ json_breakdown = true if ARGV[0] == "--json"
|
|
26
26
|
if File.directory?(path)
|
27
27
|
rugged = Rugged::Repository.new(path)
|
28
28
|
repo = Linguist::Repository.new(rugged, rugged.head.target_id)
|
29
|
+
|
29
30
|
if !json_breakdown
|
30
31
|
repo.languages.sort_by { |_, size| size }.reverse.each do |language, size|
|
31
32
|
percentage = ((size / repo.size.to_f) * 100)
|
@@ -48,6 +49,7 @@ if File.directory?(path)
|
|
48
49
|
end
|
49
50
|
elsif File.file?(path)
|
50
51
|
blob = Linguist::FileBlob.new(path, Dir.pwd)
|
52
|
+
|
51
53
|
type = if blob.text?
|
52
54
|
'Text'
|
53
55
|
elsif blob.image?
|
@@ -56,10 +58,21 @@ elsif File.file?(path)
|
|
56
58
|
'Binary'
|
57
59
|
end
|
58
60
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
61
|
+
if json_breakdown
|
62
|
+
puts JSON.generate( { blob.name => {
|
63
|
+
:lines => blob.loc,
|
64
|
+
:sloc => blob.sloc,
|
65
|
+
:type => type,
|
66
|
+
:mime_type => blob.mime_type,
|
67
|
+
:language => blob.language
|
68
|
+
}
|
69
|
+
} )
|
70
|
+
else
|
71
|
+
puts "#{blob.name}: #{blob.loc} lines (#{blob.sloc} sloc)"
|
72
|
+
puts " type: #{type}"
|
73
|
+
puts " mime type: #{blob.mime_type}"
|
74
|
+
puts " language: #{blob.language}"
|
75
|
+
end
|
63
76
|
|
64
77
|
if blob.large?
|
65
78
|
puts " blob is too large to be shown"
|
@@ -251,7 +251,7 @@
|
|
251
251
|
{
|
252
252
|
"name": "meta.ctor.type-declaration.haskell",
|
253
253
|
"contentName": "meta.type-signature.haskell",
|
254
|
-
"begin": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(?:(?:((?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*))(?:\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))))",
|
254
|
+
"begin": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(?:(?:((?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*))(?:\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))))",
|
255
255
|
"end": "(?:^(?!\\1[ \\t]|[ \\t]*$)|(?=@-}))",
|
256
256
|
"patterns": [
|
257
257
|
{
|
@@ -286,6 +286,9 @@
|
|
286
286
|
{
|
287
287
|
"include": "#comments"
|
288
288
|
},
|
289
|
+
{
|
290
|
+
"include": "#string"
|
291
|
+
},
|
289
292
|
{
|
290
293
|
"include": "#where"
|
291
294
|
},
|
@@ -590,7 +593,7 @@
|
|
590
593
|
{
|
591
594
|
"name": "meta.function.type-declaration.haskell",
|
592
595
|
"contentName": "meta.type-signature.haskell",
|
593
|
-
"begin": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))))",
|
596
|
+
"begin": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))))",
|
594
597
|
"end": "(?:^(?!\\1[ \\t]|[ \\t]*$)|(?=@-}))|(?=(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:\u003c-|=)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))",
|
595
598
|
"patterns": [
|
596
599
|
{
|
@@ -812,7 +815,7 @@
|
|
812
815
|
"patterns": [
|
813
816
|
{
|
814
817
|
"name": "entity.name.function.operator.haskell",
|
815
|
-
"match": "(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))",
|
818
|
+
"match": "(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))",
|
816
819
|
"captures": {
|
817
820
|
"0": {
|
818
821
|
"patterns": [
|
@@ -886,7 +889,7 @@
|
|
886
889
|
{
|
887
890
|
"name": "meta.function.type-declaration.haskell",
|
888
891
|
"contentName": "meta.type-signature.haskell",
|
889
|
-
"begin": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*))\\s*$",
|
892
|
+
"begin": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*))\\s*$",
|
890
893
|
"end": "(?:^(?!\\1[ \\t]|[ \\t]*$)|(?=@-}))",
|
891
894
|
"patterns": [
|
892
895
|
{
|
@@ -1070,9 +1073,12 @@
|
|
1070
1073
|
{
|
1071
1074
|
"include": "#comma"
|
1072
1075
|
},
|
1076
|
+
{
|
1077
|
+
"include": "#infix_op"
|
1078
|
+
},
|
1073
1079
|
{
|
1074
1080
|
"name": "meta.other.constructor-list.haskell",
|
1075
|
-
"begin": "
|
1081
|
+
"begin": "\\(",
|
1076
1082
|
"end": "\\)",
|
1077
1083
|
"patterns": [
|
1078
1084
|
{
|
@@ -1098,9 +1104,6 @@
|
|
1098
1104
|
"include": "#infix_op"
|
1099
1105
|
}
|
1100
1106
|
]
|
1101
|
-
},
|
1102
|
-
{
|
1103
|
-
"include": "#infix_op"
|
1104
1107
|
}
|
1105
1108
|
],
|
1106
1109
|
"applyEndPatternLast": true
|
@@ -1242,8 +1245,8 @@
|
|
1242
1245
|
{
|
1243
1246
|
"name": "meta.record-field.type-declaration.haskell",
|
1244
1247
|
"contentName": "meta.type-signature.haskell",
|
1245
|
-
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))))",
|
1246
|
-
"end": "(?=(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))))|})",
|
1248
|
+
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))))",
|
1249
|
+
"end": "(?=(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))))|})",
|
1247
1250
|
"patterns": [
|
1248
1251
|
{
|
1249
1252
|
"include": "#type_signature"
|
@@ -1335,7 +1338,7 @@
|
|
1335
1338
|
"scoped_type_override": {
|
1336
1339
|
"patterns": [
|
1337
1340
|
{
|
1338
|
-
"match": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))))((?:(?!{-|(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:--+)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))))).|{-.*?-})*)((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:\u003c-|=)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))",
|
1341
|
+
"match": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\)))(?:(?:\\s*,\\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}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))))((?:(?!{-|(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:--+)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"']))))).|{-.*?-})*)((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))(?:\u003c-|=)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'])))))",
|
1339
1342
|
"captures": {
|
1340
1343
|
"2": {
|
1341
1344
|
"patterns": [
|
@@ -1716,6 +1719,12 @@
|
|
1716
1719
|
{
|
1717
1720
|
"include": "#via_list"
|
1718
1721
|
},
|
1722
|
+
{
|
1723
|
+
"include": "#via_list_newline"
|
1724
|
+
},
|
1725
|
+
{
|
1726
|
+
"include": "#via_indent"
|
1727
|
+
},
|
1719
1728
|
{
|
1720
1729
|
"include": "#via_simple"
|
1721
1730
|
},
|
@@ -1724,6 +1733,25 @@
|
|
1724
1733
|
}
|
1725
1734
|
]
|
1726
1735
|
},
|
1736
|
+
"via_indent": {
|
1737
|
+
"patterns": [
|
1738
|
+
{
|
1739
|
+
"name": "meta.via.haskell",
|
1740
|
+
"begin": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(via)\\s*",
|
1741
|
+
"end": "(?:^(?!\\1|[ \\t]*$)|(?=@-}))",
|
1742
|
+
"patterns": [
|
1743
|
+
{
|
1744
|
+
"include": "#type_signature"
|
1745
|
+
}
|
1746
|
+
],
|
1747
|
+
"beginCaptures": {
|
1748
|
+
"2": {
|
1749
|
+
"name": "keyword.other.haskell"
|
1750
|
+
}
|
1751
|
+
}
|
1752
|
+
}
|
1753
|
+
]
|
1754
|
+
},
|
1727
1755
|
"via_keyword": {
|
1728
1756
|
"patterns": [
|
1729
1757
|
{
|
@@ -1756,6 +1784,25 @@
|
|
1756
1784
|
}
|
1757
1785
|
]
|
1758
1786
|
},
|
1787
|
+
"via_list_newline": {
|
1788
|
+
"patterns": [
|
1789
|
+
{
|
1790
|
+
"name": "meta.via.haskell",
|
1791
|
+
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*",
|
1792
|
+
"end": "$",
|
1793
|
+
"patterns": [
|
1794
|
+
{
|
1795
|
+
"include": "#type_signature"
|
1796
|
+
}
|
1797
|
+
],
|
1798
|
+
"beginCaptures": {
|
1799
|
+
"1": {
|
1800
|
+
"name": "keyword.other.haskell"
|
1801
|
+
}
|
1802
|
+
}
|
1803
|
+
}
|
1804
|
+
]
|
1805
|
+
},
|
1759
1806
|
"via_simple": {
|
1760
1807
|
"patterns": [
|
1761
1808
|
{
|
data/grammars/etc.json
CHANGED
@@ -27,9 +27,6 @@
|
|
27
27
|
},
|
28
28
|
{
|
29
29
|
"include": "#dot"
|
30
|
-
},
|
31
|
-
{
|
32
|
-
"include": "#bareword"
|
33
30
|
}
|
34
31
|
],
|
35
32
|
"repository": {
|
@@ -41,8 +38,44 @@
|
|
41
38
|
"name": "constant.logical.bool.boolean.${1:/downcase}",
|
42
39
|
"match": "\\b(true|false|TRUE|FALSE)\\b"
|
43
40
|
},
|
41
|
+
"bracket": {
|
42
|
+
"patterns": [
|
43
|
+
{
|
44
|
+
"name": "punctuation.definition.bracket.curly.brace.begin",
|
45
|
+
"match": "\\{"
|
46
|
+
},
|
47
|
+
{
|
48
|
+
"name": "punctuation.definition.bracket.curly.brace.end",
|
49
|
+
"match": "\\}"
|
50
|
+
},
|
51
|
+
{
|
52
|
+
"name": "punctuation.definition.bracket.square.begin",
|
53
|
+
"match": "\\["
|
54
|
+
},
|
55
|
+
{
|
56
|
+
"name": "punctuation.definition.bracket.square.end",
|
57
|
+
"match": "\\]"
|
58
|
+
},
|
59
|
+
{
|
60
|
+
"name": "punctuation.definition.bracket.round.parenthesis.begin",
|
61
|
+
"match": "\\("
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"name": "punctuation.definition.bracket.round.parenthesis.end",
|
65
|
+
"match": "\\)"
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"name": "punctuation.definition.bracket.angle.begin",
|
69
|
+
"match": "\u003c"
|
70
|
+
},
|
71
|
+
{
|
72
|
+
"name": "punctuation.definition.bracket.angle.end",
|
73
|
+
"match": "\u003e"
|
74
|
+
}
|
75
|
+
]
|
76
|
+
},
|
44
77
|
"colon": {
|
45
|
-
"name": "
|
78
|
+
"name": "punctuation.delimiter.separator.colon",
|
46
79
|
"match": ":"
|
47
80
|
},
|
48
81
|
"comma": {
|
@@ -50,6 +83,13 @@
|
|
50
83
|
"match": ","
|
51
84
|
},
|
52
85
|
"comment": {
|
86
|
+
"patterns": [
|
87
|
+
{
|
88
|
+
"include": "#commentHash"
|
89
|
+
}
|
90
|
+
]
|
91
|
+
},
|
92
|
+
"commentHash": {
|
53
93
|
"name": "comment.line.number-sign",
|
54
94
|
"begin": "#",
|
55
95
|
"end": "$",
|
@@ -59,10 +99,59 @@
|
|
59
99
|
}
|
60
100
|
}
|
61
101
|
},
|
102
|
+
"commentSemi": {
|
103
|
+
"name": "comment.line.semicolon",
|
104
|
+
"begin": ";+",
|
105
|
+
"end": "$",
|
106
|
+
"beginCaptures": {
|
107
|
+
"0": {
|
108
|
+
"name": "punctuation.definition.comment"
|
109
|
+
}
|
110
|
+
}
|
111
|
+
},
|
112
|
+
"commentSlash": {
|
113
|
+
"name": "comment.line.double-slash",
|
114
|
+
"begin": "//",
|
115
|
+
"end": "$",
|
116
|
+
"beginCaptures": {
|
117
|
+
"0": {
|
118
|
+
"name": "punctuation.definition.comment"
|
119
|
+
}
|
120
|
+
}
|
121
|
+
},
|
122
|
+
"dash": {
|
123
|
+
"name": "punctuation.delimiter.separator.dash.hyphen",
|
124
|
+
"match": "-"
|
125
|
+
},
|
62
126
|
"dot": {
|
63
127
|
"name": "punctuation.delimiter.separator.property.period.dot",
|
64
128
|
"match": "\\."
|
65
129
|
},
|
130
|
+
"dotPair": {
|
131
|
+
"name": "keyword.operator.punctuation.dots.splat.range.spread.rest",
|
132
|
+
"match": "\\.\\.|‥"
|
133
|
+
},
|
134
|
+
"dotTrail": {
|
135
|
+
"name": "punctuation.delimiter.separator.dotted.border.leader.dots",
|
136
|
+
"match": "\\.{4,}"
|
137
|
+
},
|
138
|
+
"dots": {
|
139
|
+
"patterns": [
|
140
|
+
{
|
141
|
+
"include": "#ellipsis"
|
142
|
+
},
|
143
|
+
{
|
144
|
+
"include": "#dotPair"
|
145
|
+
},
|
146
|
+
{
|
147
|
+
"include": "#dot"
|
148
|
+
}
|
149
|
+
]
|
150
|
+
},
|
151
|
+
"ellipsis": {
|
152
|
+
"name": "keyword.operator.punctuation.ellipsis.splat.range.spread.rest",
|
153
|
+
"match": "\\.{3}|…"
|
154
|
+
},
|
66
155
|
"eql": {
|
67
156
|
"name": "keyword.operator.assignment.key-value.equals-sign",
|
68
157
|
"match": "="
|
@@ -94,6 +183,14 @@
|
|
94
183
|
"name": "constant.numeric.float.real.decimal.dec",
|
95
184
|
"match": "[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)++"
|
96
185
|
},
|
186
|
+
"hex": {
|
187
|
+
"name": "constant.numeric.integer.int.hexadecimal.hex",
|
188
|
+
"match": "[-+]?[A-Fa-f0-9]+"
|
189
|
+
},
|
190
|
+
"hexNoSign": {
|
191
|
+
"name": "constant.numeric.integer.int.hexadecimal.hex",
|
192
|
+
"match": "[A-Fa-f0-9]+"
|
193
|
+
},
|
97
194
|
"int": {
|
98
195
|
"patterns": [
|
99
196
|
{
|
@@ -112,6 +209,23 @@
|
|
112
209
|
"name": "constant.numeric.integer.int.decimal.dec",
|
113
210
|
"match": "[-+]?[0-9]+"
|
114
211
|
},
|
212
|
+
"ip": {
|
213
|
+
"name": "constant.numeric.other.ip-address",
|
214
|
+
"match": "(?:\\d+\\.){3,}\\d+(?=\\s|$)",
|
215
|
+
"captures": {
|
216
|
+
"0": {
|
217
|
+
"patterns": [
|
218
|
+
{
|
219
|
+
"include": "#dot"
|
220
|
+
}
|
221
|
+
]
|
222
|
+
}
|
223
|
+
}
|
224
|
+
},
|
225
|
+
"kolon": {
|
226
|
+
"name": "keyword.operator.assignment.key-value.colon",
|
227
|
+
"match": ":"
|
228
|
+
},
|
115
229
|
"num": {
|
116
230
|
"patterns": [
|
117
231
|
{
|
@@ -122,6 +236,227 @@
|
|
122
236
|
}
|
123
237
|
]
|
124
238
|
},
|
239
|
+
"op": {
|
240
|
+
"patterns": [
|
241
|
+
{
|
242
|
+
"include": "#opBitAssign"
|
243
|
+
},
|
244
|
+
{
|
245
|
+
"include": "#opMathAssign"
|
246
|
+
},
|
247
|
+
{
|
248
|
+
"include": "#opBit"
|
249
|
+
},
|
250
|
+
{
|
251
|
+
"include": "#opFix"
|
252
|
+
},
|
253
|
+
{
|
254
|
+
"include": "#opCmp"
|
255
|
+
},
|
256
|
+
{
|
257
|
+
"include": "#opLog"
|
258
|
+
},
|
259
|
+
{
|
260
|
+
"include": "#opMath"
|
261
|
+
}
|
262
|
+
]
|
263
|
+
},
|
264
|
+
"opBit": {
|
265
|
+
"patterns": [
|
266
|
+
{
|
267
|
+
"name": "keyword.operator.bitwise.xor",
|
268
|
+
"match": "\\^"
|
269
|
+
},
|
270
|
+
{
|
271
|
+
"name": "keyword.operator.bitwise.not",
|
272
|
+
"match": "~"
|
273
|
+
},
|
274
|
+
{
|
275
|
+
"name": "keyword.operator.bitwise.and",
|
276
|
+
"match": "\u0026"
|
277
|
+
},
|
278
|
+
{
|
279
|
+
"name": "keyword.operator.bitwise.or",
|
280
|
+
"match": "\\|"
|
281
|
+
},
|
282
|
+
{
|
283
|
+
"name": "keyword.operator.bitwise.shift.left",
|
284
|
+
"match": "\u003c\u003c"
|
285
|
+
},
|
286
|
+
{
|
287
|
+
"name": "keyword.operator.bitwise.shift.right.unsigned",
|
288
|
+
"match": "\u003e\u003e\u003e"
|
289
|
+
},
|
290
|
+
{
|
291
|
+
"name": "keyword.operator.bitwise.shift.right.signed",
|
292
|
+
"match": "\u003e\u003e"
|
293
|
+
}
|
294
|
+
]
|
295
|
+
},
|
296
|
+
"opBitAssign": {
|
297
|
+
"patterns": [
|
298
|
+
{
|
299
|
+
"name": "keyword.operator.assignment.bitwise.xor",
|
300
|
+
"match": "\\^="
|
301
|
+
},
|
302
|
+
{
|
303
|
+
"name": "keyword.operator.assignment.bitwise.not",
|
304
|
+
"match": "~="
|
305
|
+
},
|
306
|
+
{
|
307
|
+
"name": "keyword.operator.assignment.bitwise.and",
|
308
|
+
"match": "\u0026="
|
309
|
+
},
|
310
|
+
{
|
311
|
+
"name": "keyword.operator.assignment.bitwise.or",
|
312
|
+
"match": "\\|="
|
313
|
+
},
|
314
|
+
{
|
315
|
+
"name": "keyword.operator.assignment.bitwise.shift.left",
|
316
|
+
"match": "\u003c\u003c="
|
317
|
+
},
|
318
|
+
{
|
319
|
+
"name": "keyword.operator.assignment.bitwise.shift.right.unsigned",
|
320
|
+
"match": "\u003e\u003e\u003e="
|
321
|
+
},
|
322
|
+
{
|
323
|
+
"name": "keyword.operator.assignment.bitwise.shift.right.signed",
|
324
|
+
"match": "\u003e\u003e="
|
325
|
+
}
|
326
|
+
]
|
327
|
+
},
|
328
|
+
"opCmp": {
|
329
|
+
"patterns": [
|
330
|
+
{
|
331
|
+
"name": "keyword.operator.logical.comparison.starship.spaceship",
|
332
|
+
"match": "\u003c=\u003e"
|
333
|
+
},
|
334
|
+
{
|
335
|
+
"name": "keyword.operator.logical.comparison.less-than-or-equal-to.lte",
|
336
|
+
"match": "\u003c="
|
337
|
+
},
|
338
|
+
{
|
339
|
+
"name": "keyword.operator.logical.comparison.less-than.lt",
|
340
|
+
"match": "\u003c"
|
341
|
+
},
|
342
|
+
{
|
343
|
+
"name": "keyword.operator.logical.comparison.greater-than-or-equal-to.gte",
|
344
|
+
"match": "\u003e="
|
345
|
+
},
|
346
|
+
{
|
347
|
+
"name": "keyword.operator.logical.comparison.greater-than.gt",
|
348
|
+
"match": "\u003e"
|
349
|
+
},
|
350
|
+
{
|
351
|
+
"name": "keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq.strict",
|
352
|
+
"match": "==="
|
353
|
+
},
|
354
|
+
{
|
355
|
+
"name": "keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq",
|
356
|
+
"match": "=="
|
357
|
+
},
|
358
|
+
{
|
359
|
+
"name": "keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne.strict",
|
360
|
+
"match": "!=="
|
361
|
+
},
|
362
|
+
{
|
363
|
+
"name": "keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne",
|
364
|
+
"match": "!="
|
365
|
+
}
|
366
|
+
]
|
367
|
+
},
|
368
|
+
"opFix": {
|
369
|
+
"patterns": [
|
370
|
+
{
|
371
|
+
"name": "keyword.operator.increment",
|
372
|
+
"match": "\\+{2}"
|
373
|
+
},
|
374
|
+
{
|
375
|
+
"name": "keyword.operator.decrement",
|
376
|
+
"match": "-{2}"
|
377
|
+
}
|
378
|
+
]
|
379
|
+
},
|
380
|
+
"opLog": {
|
381
|
+
"patterns": [
|
382
|
+
{
|
383
|
+
"name": "keyword.operator.logical.boolean.cast",
|
384
|
+
"match": "!!"
|
385
|
+
},
|
386
|
+
{
|
387
|
+
"name": "keyword.operator.logical.boolean.not.negation.negate",
|
388
|
+
"match": "!"
|
389
|
+
},
|
390
|
+
{
|
391
|
+
"name": "keyword.operator.logical.boolean.and",
|
392
|
+
"match": "\u0026\u0026"
|
393
|
+
},
|
394
|
+
{
|
395
|
+
"name": "keyword.operator.logical.boolean.or",
|
396
|
+
"match": "\\|{2}"
|
397
|
+
},
|
398
|
+
{
|
399
|
+
"name": "keyword.operator.logical.boolean.or.nullish",
|
400
|
+
"match": "\\?{2}"
|
401
|
+
}
|
402
|
+
]
|
403
|
+
},
|
404
|
+
"opMath": {
|
405
|
+
"patterns": [
|
406
|
+
{
|
407
|
+
"name": "keyword.operator.arithmetic.exponentiation.exponent.exp.power",
|
408
|
+
"match": "\\*{2}|\\^"
|
409
|
+
},
|
410
|
+
{
|
411
|
+
"name": "keyword.operator.arithmetic.addition.add.plus",
|
412
|
+
"match": "\\+"
|
413
|
+
},
|
414
|
+
{
|
415
|
+
"name": "keyword.operator.arithmetic.multiplication.multiply.times",
|
416
|
+
"match": "\\*"
|
417
|
+
},
|
418
|
+
{
|
419
|
+
"name": "keyword.operator.arithmetic.division.divide",
|
420
|
+
"match": "/"
|
421
|
+
},
|
422
|
+
{
|
423
|
+
"name": "keyword.operator.arithmetic.remainder.modulo.modulus.mod",
|
424
|
+
"match": "%"
|
425
|
+
},
|
426
|
+
{
|
427
|
+
"name": "keyword.operator.arithmetic.subtraction.subtract.minus",
|
428
|
+
"match": "[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]"
|
429
|
+
}
|
430
|
+
]
|
431
|
+
},
|
432
|
+
"opMathAssign": {
|
433
|
+
"patterns": [
|
434
|
+
{
|
435
|
+
"name": "keyword.operator.assignment.arithmetic.exponentiation.exponent.exp.power",
|
436
|
+
"match": "\\*{2}="
|
437
|
+
},
|
438
|
+
{
|
439
|
+
"name": "keyword.operator.assignment.arithmetic.addition.add.plus",
|
440
|
+
"match": "\\+="
|
441
|
+
},
|
442
|
+
{
|
443
|
+
"name": "keyword.operator.assignment.arithmetic.multiplication.multiply.times",
|
444
|
+
"match": "\\*="
|
445
|
+
},
|
446
|
+
{
|
447
|
+
"name": "keyword.operator.assignment.arithmetic.division.divide",
|
448
|
+
"match": "/="
|
449
|
+
},
|
450
|
+
{
|
451
|
+
"name": "keyword.operator.assignment.arithmetic.remainder.modulo.modulus.mod",
|
452
|
+
"match": "%="
|
453
|
+
},
|
454
|
+
{
|
455
|
+
"name": "keyword.operator.assignment.arithmetic.subtraction.subtract.minus",
|
456
|
+
"match": "[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]="
|
457
|
+
}
|
458
|
+
]
|
459
|
+
},
|
125
460
|
"str": {
|
126
461
|
"patterns": [
|
127
462
|
{
|
@@ -171,6 +506,139 @@
|
|
171
506
|
"name": "punctuation.definition.string.end"
|
172
507
|
}
|
173
508
|
}
|
509
|
+
},
|
510
|
+
"tab": {
|
511
|
+
"patterns": [
|
512
|
+
{
|
513
|
+
"match": "^\\t+",
|
514
|
+
"captures": {
|
515
|
+
"0": {
|
516
|
+
"patterns": [
|
517
|
+
{
|
518
|
+
"name": "punctuation.whitespace.leading.tab.hard-tab",
|
519
|
+
"match": "\\t"
|
520
|
+
}
|
521
|
+
]
|
522
|
+
}
|
523
|
+
}
|
524
|
+
},
|
525
|
+
{
|
526
|
+
"match": "\\t+$",
|
527
|
+
"captures": {
|
528
|
+
"0": {
|
529
|
+
"patterns": [
|
530
|
+
{
|
531
|
+
"name": "punctuation.whitespace.trailing.tab.hard-tab",
|
532
|
+
"match": "\\t"
|
533
|
+
}
|
534
|
+
]
|
535
|
+
}
|
536
|
+
}
|
537
|
+
},
|
538
|
+
{
|
539
|
+
"name": "punctuation.whitespace.tab.hard-tab",
|
540
|
+
"match": "\\t"
|
541
|
+
}
|
542
|
+
]
|
543
|
+
},
|
544
|
+
"url": {
|
545
|
+
"patterns": [
|
546
|
+
{
|
547
|
+
"match": "(?x)\n(\"|'|\\b)\n(\n\t# Protocol\n\t( https?\n\t| s?ftp\n\t| ftps\n\t| file\n\t| wss?\n\t| smb\n\t| git (?:\\+https?)?\n\t| ssh\n\t| rsync\n\t| afp\n\t| nfs\n\t| (?:x-)?man(?:-page)?\n\t| gopher\n\t| txmt\n\t| issue\n\t| atom\n\t) ://\n\t\n\t# Path specifier\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:\\@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t\n\t# Don't include trailing punctuation\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)",
|
548
|
+
"captures": {
|
549
|
+
"1": {
|
550
|
+
"name": "punctuation.definition.link.begin.url"
|
551
|
+
},
|
552
|
+
"2": {
|
553
|
+
"name": "constant.other.reference.link.underline.$3.url"
|
554
|
+
},
|
555
|
+
"4": {
|
556
|
+
"name": "punctuation.definition.link.end.url"
|
557
|
+
}
|
558
|
+
}
|
559
|
+
},
|
560
|
+
{
|
561
|
+
"match": "(?x)\n(\"|'|\\b)\n(\n\tmailto (:)\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)",
|
562
|
+
"captures": {
|
563
|
+
"1": {
|
564
|
+
"name": "punctuation.definition.link.begin.url"
|
565
|
+
},
|
566
|
+
"2": {
|
567
|
+
"name": "constant.other.reference.link.underline.mailto.url"
|
568
|
+
},
|
569
|
+
"3": {
|
570
|
+
"name": "punctuation.separator.delimiter.scheme.url"
|
571
|
+
},
|
572
|
+
"4": {
|
573
|
+
"name": "punctuation.definition.link.end.url"
|
574
|
+
}
|
575
|
+
}
|
576
|
+
}
|
577
|
+
]
|
578
|
+
},
|
579
|
+
"version": {
|
580
|
+
"name": "constant.other.version-string",
|
581
|
+
"match": "(?x)\n(\"|'|\\b)\n([vV]?)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*)\n(?:\n\t(-)\n\t(\n\t\t(?: 0\n\t\t| [1-9]\\d*\n\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t)\n\t\t\n\t\t(?:\n\t\t\t\\.\n\t\t\t(?: 0\n\t\t\t| [1-9]\\d*\n\t\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t\t)\n\t\t)*\n\t)\n)?\n(?:\n\t(\\+)\n\t(\n\t\t[0-9a-zA-Z-]+\n\t\t(?:\\.[0-9a-zA-Z-]+)*\n\t)\n)?\n(\\1)",
|
582
|
+
"captures": {
|
583
|
+
"1": {
|
584
|
+
"name": "punctuation.definition.version-string.begin"
|
585
|
+
},
|
586
|
+
"10": {
|
587
|
+
"name": "punctuation.delimiter.separator.plus"
|
588
|
+
},
|
589
|
+
"11": {
|
590
|
+
"name": "meta.build-metadata",
|
591
|
+
"patterns": [
|
592
|
+
{
|
593
|
+
"include": "#dot"
|
594
|
+
}
|
595
|
+
]
|
596
|
+
},
|
597
|
+
"12": {
|
598
|
+
"name": "punctuation.definition.version-string.end"
|
599
|
+
},
|
600
|
+
"2": {
|
601
|
+
"name": "punctuation.definition.version-prefix"
|
602
|
+
},
|
603
|
+
"3": {
|
604
|
+
"name": "meta.major.release-number"
|
605
|
+
},
|
606
|
+
"4": {
|
607
|
+
"patterns": [
|
608
|
+
{
|
609
|
+
"include": "#dot"
|
610
|
+
}
|
611
|
+
]
|
612
|
+
},
|
613
|
+
"5": {
|
614
|
+
"name": "meta.minor.release-number"
|
615
|
+
},
|
616
|
+
"6": {
|
617
|
+
"patterns": [
|
618
|
+
{
|
619
|
+
"include": "#dot"
|
620
|
+
}
|
621
|
+
]
|
622
|
+
},
|
623
|
+
"7": {
|
624
|
+
"name": "meta.patch.release-number"
|
625
|
+
},
|
626
|
+
"8": {
|
627
|
+
"patterns": [
|
628
|
+
{
|
629
|
+
"include": "#dash"
|
630
|
+
}
|
631
|
+
]
|
632
|
+
},
|
633
|
+
"9": {
|
634
|
+
"name": "meta.prerelease.release-number",
|
635
|
+
"patterns": [
|
636
|
+
{
|
637
|
+
"include": "#dot"
|
638
|
+
}
|
639
|
+
]
|
640
|
+
}
|
641
|
+
}
|
174
642
|
}
|
175
643
|
}
|
176
644
|
}
|