github-linguist 7.6.1 → 7.9.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 +212 -3
- data/grammars/hidden.manref.json +29 -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 +1100 -0
- data/grammars/source.abap.json +7 -7
- data/grammars/source.abnf.json +23 -1
- data/grammars/source.agda.json +32 -202
- data/grammars/source.ahk.json +9 -5
- data/grammars/source.angelscript.json +1 -1
- data/grammars/source.ballerina.json +54 -18
- data/grammars/source.chapel.json +4 -4
- data/grammars/source.csound.json +1 -1
- data/grammars/source.css.json +2 -2
- data/grammars/source.css.scss.json +164 -15
- data/grammars/source.curlrc.json +869 -65
- 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.gcode.json +166 -8
- data/grammars/source.gfm.json +1 -1
- 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.hx.json +4 -0
- 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.js.json +4 -4
- data/grammars/source.julia.json +69 -23
- data/grammars/source.kotlin.json +1 -1
- data/grammars/source.lean.json +19 -3
- data/grammars/source.lean.markdown.json +2598 -0
- data/grammars/source.lex.json +4 -4
- data/grammars/source.m4.json +141 -99
- data/grammars/source.man-conf.json +46 -34
- 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.mrc.json +740 -0
- data/grammars/source.nasl.json +155 -0
- data/grammars/source.nextflow.json +2 -2
- data/grammars/source.odin-ehr.json +806 -0
- data/grammars/source.odin.json +402 -0
- data/grammars/source.opts.json +12 -2
- data/grammars/source.p4.json +21 -5
- data/grammars/source.prisma.json +435 -0
- data/grammars/source.python.json +2 -0
- data/grammars/source.qasm.json +66 -0
- data/grammars/source.ql.json +1408 -0
- 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.ssh-config.json +1 -14
- data/grammars/source.swift.json +162 -2
- data/grammars/source.sy.json +2088 -183
- data/grammars/source.terraform.json +576 -132
- data/grammars/source.tnsaudit.json +256 -0
- data/grammars/source.ts.json +159 -51
- data/grammars/source.tsx.json +160 -52
- data/grammars/source.v.json +559 -764
- 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.wgetrc.json +1640 -0
- data/grammars/source.wsd.json +775 -0
- data/grammars/source.zig.json +169 -304
- data/grammars/text.html.php.blade.json +1 -1
- data/grammars/text.html.riot.json +788 -0
- data/grammars/text.muse.json +1471 -0
- data/grammars/text.tex.latex.haskell.json +58 -11
- data/grammars/text.vim-help.json +383 -0
- 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 +60 -13
- data/lib/linguist/heuristics.yml +64 -4
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +336 -45
- data/lib/linguist/lazy_blob.rb +10 -10
- data/lib/linguist/linguist.bundle +0 -0
- data/lib/linguist/samples.json +43560 -31457
- data/lib/linguist/shebang.rb +5 -3
- data/lib/linguist/vendor.yml +9 -0
- metadata +29 -10
- 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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e83ceb8bf77137817f34d6e9f7f03c98848810f05d5b302041890d0cec6d8a10
|
4
|
+
data.tar.gz: 5958359cc33f77f56c59166000692ce9f48f8b502520f1d1b1fcfd5ff27e1e93
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da8c5a07b3b3bbb1e9beefa1d968fbfb6af90ce4da450d7993f53d72bda4f7cfd50acb5d24b248f7042370c025049dca3bc97a005c9ebe331f8db5cf3bc05675
|
7
|
+
data.tar.gz: 689b968ac78b67169813cceba5a2cc8471ba844b8e040eadf3560d6f0ba651e47a1448877fc2c34ade13f99905a302ad12b6d631c4fb2deb85f0b18c3b560be6
|
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,6 +38,42 @@
|
|
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
78
|
"name": "keyword.operator.assignment.key-value.colon",
|
46
79
|
"match": ":"
|
@@ -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,19 @@
|
|
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
|
+
},
|
115
225
|
"num": {
|
116
226
|
"patterns": [
|
117
227
|
{
|
@@ -171,6 +281,105 @@
|
|
171
281
|
"name": "punctuation.definition.string.end"
|
172
282
|
}
|
173
283
|
}
|
284
|
+
},
|
285
|
+
"url": {
|
286
|
+
"patterns": [
|
287
|
+
{
|
288
|
+
"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)",
|
289
|
+
"captures": {
|
290
|
+
"1": {
|
291
|
+
"name": "punctuation.definition.link.begin.url"
|
292
|
+
},
|
293
|
+
"2": {
|
294
|
+
"name": "constant.other.reference.link.underline.$3.url"
|
295
|
+
},
|
296
|
+
"4": {
|
297
|
+
"name": "punctuation.definition.link.end.url"
|
298
|
+
}
|
299
|
+
}
|
300
|
+
},
|
301
|
+
{
|
302
|
+
"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)",
|
303
|
+
"captures": {
|
304
|
+
"1": {
|
305
|
+
"name": "punctuation.definition.link.begin.url"
|
306
|
+
},
|
307
|
+
"2": {
|
308
|
+
"name": "constant.other.reference.link.underline.mailto.url"
|
309
|
+
},
|
310
|
+
"3": {
|
311
|
+
"name": "punctuation.separator.delimiter.scheme.url"
|
312
|
+
},
|
313
|
+
"4": {
|
314
|
+
"name": "punctuation.definition.link.end.url"
|
315
|
+
}
|
316
|
+
}
|
317
|
+
}
|
318
|
+
]
|
319
|
+
},
|
320
|
+
"version": {
|
321
|
+
"name": "constant.other.version-string",
|
322
|
+
"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)",
|
323
|
+
"captures": {
|
324
|
+
"1": {
|
325
|
+
"name": "punctuation.definition.version-string.begin"
|
326
|
+
},
|
327
|
+
"10": {
|
328
|
+
"name": "punctuation.delimiter.separator.plus"
|
329
|
+
},
|
330
|
+
"11": {
|
331
|
+
"name": "meta.build-metadata",
|
332
|
+
"patterns": [
|
333
|
+
{
|
334
|
+
"include": "#dot"
|
335
|
+
}
|
336
|
+
]
|
337
|
+
},
|
338
|
+
"12": {
|
339
|
+
"name": "punctuation.definition.version-string.end"
|
340
|
+
},
|
341
|
+
"2": {
|
342
|
+
"name": "punctuation.definition.version-prefix"
|
343
|
+
},
|
344
|
+
"3": {
|
345
|
+
"name": "meta.major.release-number"
|
346
|
+
},
|
347
|
+
"4": {
|
348
|
+
"patterns": [
|
349
|
+
{
|
350
|
+
"include": "#dot"
|
351
|
+
}
|
352
|
+
]
|
353
|
+
},
|
354
|
+
"5": {
|
355
|
+
"name": "meta.minor.release-number"
|
356
|
+
},
|
357
|
+
"6": {
|
358
|
+
"patterns": [
|
359
|
+
{
|
360
|
+
"include": "#dot"
|
361
|
+
}
|
362
|
+
]
|
363
|
+
},
|
364
|
+
"7": {
|
365
|
+
"name": "meta.patch.release-number"
|
366
|
+
},
|
367
|
+
"8": {
|
368
|
+
"patterns": [
|
369
|
+
{
|
370
|
+
"include": "#dash"
|
371
|
+
}
|
372
|
+
]
|
373
|
+
},
|
374
|
+
"9": {
|
375
|
+
"name": "meta.prerelease.release-number",
|
376
|
+
"patterns": [
|
377
|
+
{
|
378
|
+
"include": "#dot"
|
379
|
+
}
|
380
|
+
]
|
381
|
+
}
|
382
|
+
}
|
174
383
|
}
|
175
384
|
}
|
176
385
|
}
|