github-linguist 7.9.0 → 7.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/etc.json +260 -1
- data/grammars/hidden.manref.json +1 -1
- data/grammars/hidden.regexp.injection-shell.json +28 -0
- data/grammars/source.4dm.json +57 -1
- data/grammars/source.abap.json +1 -1
- data/grammars/source.abl.json +685 -83
- data/grammars/source.agda.json +7 -7
- data/grammars/source.ballerina.json +1 -1
- data/grammars/source.c++.json +4 -4
- data/grammars/source.c.platform.json +584 -33
- data/grammars/source.chapel.json +5 -2
- data/grammars/source.css.json +1 -1
- data/grammars/source.curlrc.json +4 -4
- data/grammars/source.d.json +2 -2
- data/grammars/source.futhark.json +146 -0
- data/grammars/source.gcode.json +2 -2
- 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.httpspec.json +1 -1
- data/grammars/source.hx.json +5 -5
- data/grammars/source.hxml.json +2 -2
- data/grammars/source.idris.json +1 -1
- data/grammars/source.inputrc.json +1 -1
- 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.julia.json +1 -1
- data/grammars/source.kotlin.json +17 -51
- data/grammars/source.lcov.json +398 -0
- data/grammars/source.lean.json +1 -1
- data/grammars/source.m2.json +125 -0
- data/grammars/source.man-conf.json +2 -2
- data/grammars/source.modula-3.json +10 -0
- data/grammars/{source.mrc.json → source.msl.json} +114 -99
- data/grammars/source.neon.json +381 -0
- data/grammars/source.objc.platform.json +493 -35
- data/grammars/source.openbsd-pkg.contents.json +128 -0
- data/grammars/source.p4.json +5 -21
- data/grammars/source.perl6fe.json +1 -1
- data/grammars/source.postscript.json +358 -103
- data/grammars/source.prisma.json +1 -1
- data/grammars/source.purescript.json +29 -2
- data/grammars/source.python.json +50 -0
- data/grammars/source.q.json +150 -63
- data/grammars/source.r.json +4 -4
- data/grammars/source.sieve.json +383 -0
- data/grammars/source.solidity.json +1 -1
- data/grammars/source.tags.json +266 -0
- data/grammars/source.ts.json +104 -36
- data/grammars/source.tsx.json +104 -36
- data/grammars/source.v.json +55 -24
- data/grammars/source.viml.json +3 -3
- data/grammars/source.webidl.json +8 -0
- data/grammars/source.wsd.json +25 -19
- data/grammars/source.x86.json +7 -3
- data/grammars/source.zig.json +84 -78
- data/grammars/text.dfy.dafny.json +188 -0
- data/grammars/text.html.php.blade.json +535 -528
- 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.xml.svg.json +8 -2
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +23 -6
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +74 -6
- data/lib/linguist/samples.json +4614 -150
- data/lib/linguist/vendor.yml +64 -62
- metadata +22 -10
- data/grammars/text.html.abl.json +0 -70
data/grammars/source.chapel.json
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
},
|
8
8
|
{
|
9
9
|
"name": "keyword.control.chapel",
|
10
|
-
"match": "\\b(align|as|atomic|begin|borrowed|break|by|catch|class|cobegin|coforall|continue|delete|dmapped|do|else|enum|except|export|extern|for|forall|if|index|inline|in|inout|iter|label|lambda|let|lifetime|local|module|new|noinit|on|only|otherwise|out|override|owned|pragma|private|proc|prototype|public|record|reduce|require|return|scan|select|serial|shared|sync|then|throw|throws|try|union|unmanaged|use|when|where|while|with|yield|zip)\\b"
|
10
|
+
"match": "\\b(align|as|atomic|begin|borrowed|break|by|catch|class|cobegin|coforall|continue|delete|dmapped|do|else|enum|except|export|extern|for|forall|if|import|index|inline|in|inout|iter|label|lambda|let|lifetime|local|module|new|noinit|on|only|otherwise|out|override|owned|pragma|private|proc|prototype|public|record|reduce|require|return|scan|select|serial|shared|sync|then|throw|throws|try|union|unmanaged|use|when|where|while|with|yield|zip)\\b"
|
11
11
|
},
|
12
12
|
{
|
13
13
|
"name": "storage.type.chapel",
|
@@ -59,6 +59,9 @@
|
|
59
59
|
"patterns": [
|
60
60
|
{
|
61
61
|
"include": "#string_escaped_char"
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"include": "#string_placeholder"
|
62
65
|
}
|
63
66
|
],
|
64
67
|
"beginCaptures": {
|
@@ -236,7 +239,7 @@
|
|
236
239
|
},
|
237
240
|
"illegal_names": {
|
238
241
|
"name": "invalid.illegal.name.chapel",
|
239
|
-
"match": "\\b(align|as|atomic|begin|borrowed|break|by|bytes|catch|class|cobegin|coforall|continue|delete|dmapped|do|else|enum|except|export|extern|for|forall|if|index|inline|in|inout|iter|label|lambda|let|lifetime|local|module|new|noinit|nothing|on|only|otherwise|out|override|owned|pragma|private|proc|public|record|reduce|ref|require|return|scan|select|serial|shared|single|sync|then|throw|throws|try|union|unmanaged|use|var|void|when|where|while|with|yield|zip)\\b"
|
242
|
+
"match": "\\b(align|as|atomic|begin|borrowed|break|by|bytes|catch|class|cobegin|coforall|continue|delete|dmapped|do|else|enum|except|export|extern|for|forall|if|import|index|inline|in|inout|iter|label|lambda|let|lifetime|local|module|new|noinit|nothing|on|only|otherwise|out|override|owned|pragma|private|proc|public|record|reduce|ref|require|return|scan|select|serial|shared|single|sync|then|throw|throws|try|union|unmanaged|use|var|void|when|where|while|with|yield|zip)\\b"
|
240
243
|
},
|
241
244
|
"string_escaped_char": {
|
242
245
|
"patterns": [
|
data/grammars/source.css.json
CHANGED
@@ -1408,7 +1408,7 @@
|
|
1408
1408
|
},
|
1409
1409
|
{
|
1410
1410
|
"name": "support.constant.font-name.css",
|
1411
|
-
"match": "(?\u003c![\\w-])(?i:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace)(?![\\w-])"
|
1411
|
+
"match": "(?\u003c![\\w-])(?i:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system-ui|system|tahoma|times|trebuchet|ui-monospace|ui-rounded|ui-sans-serif|ui-serif|utopia|verdana|webdings|sans-serif|serif|monospace)(?![\\w-])"
|
1412
1412
|
}
|
1413
1413
|
]
|
1414
1414
|
},
|
data/grammars/source.curlrc.json
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
"2": {
|
19
19
|
"patterns": [
|
20
20
|
{
|
21
|
-
"include": "etc#
|
21
|
+
"include": "etc#kolon"
|
22
22
|
}
|
23
23
|
]
|
24
24
|
},
|
@@ -33,7 +33,7 @@
|
|
33
33
|
"1": {
|
34
34
|
"patterns": [
|
35
35
|
{
|
36
|
-
"include": "etc#
|
36
|
+
"include": "etc#kolon"
|
37
37
|
}
|
38
38
|
]
|
39
39
|
},
|
@@ -85,7 +85,7 @@
|
|
85
85
|
"2": {
|
86
86
|
"patterns": [
|
87
87
|
{
|
88
|
-
"include": "etc#
|
88
|
+
"include": "etc#kolon"
|
89
89
|
}
|
90
90
|
]
|
91
91
|
},
|
@@ -754,7 +754,7 @@
|
|
754
754
|
"include": "etc#eql"
|
755
755
|
},
|
756
756
|
{
|
757
|
-
"include": "etc#
|
757
|
+
"include": "etc#kolon"
|
758
758
|
}
|
759
759
|
]
|
760
760
|
},
|
data/grammars/source.d.json
CHANGED
@@ -35,7 +35,7 @@
|
|
35
35
|
},
|
36
36
|
{
|
37
37
|
"name": "meta.version.d",
|
38
|
-
"match": "(?x)(?\u003c=^|\\}|:)\\s*\n\t\t\t\t\t(else\\s+)?(version)\\s*\n\t\t\t\t\t(?:\n \\(\\s*\n (?:\n (\n DigitalMars|\n GNU|\n LDC|\n SDC|\n Windows|\n Win32|\n Win64|\n linux|\n OSX|\n FreeBSD|\n OpenBSD|\n NetBSD|\n DragonFlyBSD|\n BSD|\n Solaris|\n Posix|\n AIX|\n Haiku|\n SkyOS|\n SysV3|\n SysV4|\n Hurd|\n Android|\n Emscripten|\n PlayStation|\n PlayStation4|\n Cygwin|\n MinGW|\n FreeStanding|\n CRuntime_Bionic|\n CRuntime_DigitalMars|\n CRuntime_Glibc|\n CRuntime_Microsoft|\n CRuntime_Musl|\n CRuntime_UClibc|\n X86|\n X86_64|\n ARM|\n ARM_Thumb|\n ARM_SoftFloat|\n ARM_SoftFP|\n ARM_HardFloat|\n AArch64|\n AsmJS|\n Epiphany|\n PPC|\n PPC_SoftFloat|\n PPC_HardFloat|\n PPC64|\n IA64|\n MIPS32|\n MIPS64|\n MIPS_O32|\n MIPS_N32|\n MIPS_O64|\n MIPS_N64|\n MIPS_EABI|\n MIPS_SoftFloat|\n MIPS_HardFloat|\n NVPTX|\n NVPTX64|\n RISCV32|\n RISCV64|\n SPARC|\n SPARC_V8Plus|\n SPARC_SoftFloat|\n SPARC_HardFloat|\n SPARC64|\n S390|\n SystemZ|\n HPPA|\n HPPA64|\n SH|\n WebAssembly|\n Alpha|\n Alpha_SoftFloat|\n Alpha_HardFloat|\n LittleEndian|\n BigEndian|\n ELFv1|\n ELFv2|\n D_BetterC|\n D_Coverage|\n D_Ddoc|\n D_InlineAsm_X86|\n D_InlineAsm_X86_64|\n D_LP64|\n D_X32|\n D_HardFloat|\n D_SoftFloat|\n D_PIC|\n D_SIMD|\n D_AVX|\n D_AVX2|\n D_Version2|\n D_NoBoundsChecks|\n D_ObjectiveC|\n unittest|\n assert|\n none|\n all\n )|\n (darwin|Thumb|S390X)|\n (?:[A-Za-z_][A-Za-z0-9_]*)\n )\n \\s*\\)\n )?",
|
38
|
+
"match": "(?x)(?\u003c=^|\\}|:)\\s*\n\t\t\t\t\t(else\\s+)?(version)\\s*\n\t\t\t\t\t(?:\n \\(\\s*\n (?:\n (\n DigitalMars|\n GNU|\n LDC|\n SDC|\n Windows|\n Win32|\n Win64|\n linux|\n OSX|\n FreeBSD|\n OpenBSD|\n NetBSD|\n DragonFlyBSD|\n BSD|\n Solaris|\n Posix|\n AIX|\n Haiku|\n SkyOS|\n SysV3|\n SysV4|\n Hurd|\n Android|\n Emscripten|\n PlayStation|\n PlayStation4|\n Cygwin|\n MinGW|\n FreeStanding|\n CppRuntime_Clang|\n CppRuntime_DigitalMars|\n CppRuntime_Gcc|\n CppRuntime_Microsoft|\n CppRuntime_Sun|\n CRuntime_Bionic|\n CRuntime_DigitalMars|\n CRuntime_Glibc|\n CRuntime_Microsoft|\n CRuntime_Musl|\n CRuntime_UClibc|\n X86|\n X86_64|\n ARM|\n ARM_Thumb|\n ARM_SoftFloat|\n ARM_SoftFP|\n ARM_HardFloat|\n AArch64|\n AsmJS|\n Epiphany|\n PPC|\n PPC_SoftFloat|\n PPC_HardFloat|\n PPC64|\n IA64|\n MIPS32|\n MIPS64|\n MIPS_O32|\n MIPS_N32|\n MIPS_O64|\n MIPS_N64|\n MIPS_EABI|\n MIPS_SoftFloat|\n MIPS_HardFloat|\n NVPTX|\n NVPTX64|\n RISCV32|\n RISCV64|\n SPARC|\n SPARC_V8Plus|\n SPARC_SoftFloat|\n SPARC_HardFloat|\n SPARC64|\n S390|\n SystemZ|\n HPPA|\n HPPA64|\n SH|\n WebAssembly|\n Alpha|\n Alpha_SoftFloat|\n Alpha_HardFloat|\n LittleEndian|\n BigEndian|\n ELFv1|\n ELFv2|\n D_BetterC|\n D_Coverage|\n D_Ddoc|\n D_InlineAsm_X86|\n D_InlineAsm_X86_64|\n D_LP64|\n D_X32|\n D_HardFloat|\n D_SoftFloat|\n D_PIC|\n D_SIMD|\n D_AVX|\n D_AVX2|\n D_Version2|\n D_NoBoundsChecks|\n D_ObjectiveC|\n unittest|\n assert|\n none|\n all\n )|\n (darwin|Thumb|S390X)|\n (?:[A-Za-z_][A-Za-z0-9_]*)\n )\n \\s*\\)\n )?",
|
39
39
|
"captures": {
|
40
40
|
"1": {
|
41
41
|
"name": "keyword.control.version.d"
|
@@ -282,7 +282,7 @@
|
|
282
282
|
},
|
283
283
|
{
|
284
284
|
"name": "storage.modifier.d",
|
285
|
-
"match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\tauto|\n\t\t\t\t\tstatic|\n\t\t\t\t\toverride|\n\t\t\t\t\tfinal|\n\t\t\t\t\tabstract|\n\t\t\t\t\tvolatile|\n\t\t\t\t\tsynchronized|\n\t\t\t\t\tlazy|\n\t\t\t\t\tnothrow|\n\t\t\t\t\timmutable|\n\t\t\t\t\tconst|\n\t\t\t\t\tinout|\n\t\t\t\t\tref|\n\t\t\t\t\tin|\n\t\t\t\t\tscope|\n\t\t\t\t\t__gshared|\n\t\t\t\t\tshared|\n\t\t\t\t\tpure\n\t\t\t\t)\n\t\t\t\t\\b|\n\t\t\t\t(@)(\n\t\t\t\t\tproperty|\n\t\t\t\t\tdisable|\n\t\t\t\t\tnogc|\n\t\t\t\t\tsafe|\n\t\t\t\t\ttrusted|\n\t\t\t\t\tsystem\n\t\t\t\t)\\b"
|
285
|
+
"match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\tauto|\n\t\t\t\t\tstatic|\n\t\t\t\t\toverride|\n\t\t\t\t\tfinal|\n\t\t\t\t\tabstract|\n\t\t\t\t\tvolatile|\n\t\t\t\t\tsynchronized|\n\t\t\t\t\tlazy|\n\t\t\t\t\tnothrow|\n\t\t\t\t\timmutable|\n\t\t\t\t\tconst|\n\t\t\t\t\tinout|\n\t\t\t\t\tref|\n\t\t\t\t\tin|\n\t\t\t\t\tscope|\n\t\t\t\t\t__gshared|\n\t\t\t\t\tshared|\n\t\t\t\t\tpure\n\t\t\t\t)\n\t\t\t\t\\b|\n\t\t\t\t(@)(\n\t\t\t\t\tproperty|\n\t\t\t\t\tdisable|\n\t\t\t\t\tnogc|\n\t\t\t\t\tlive|\n\t\t\t\t\tsafe|\n\t\t\t\t\ttrusted|\n\t\t\t\t\tsystem\n\t\t\t\t)\\b"
|
286
286
|
},
|
287
287
|
{
|
288
288
|
"name": "storage.type.structure.d",
|
@@ -0,0 +1,146 @@
|
|
1
|
+
{
|
2
|
+
"name": "Futhark",
|
3
|
+
"scopeName": "source.futhark",
|
4
|
+
"patterns": [
|
5
|
+
{
|
6
|
+
"include": "#main"
|
7
|
+
}
|
8
|
+
],
|
9
|
+
"repository": {
|
10
|
+
"booleans": {
|
11
|
+
"name": "constant.language.boolean.$1.futhark",
|
12
|
+
"match": "(?\u003c![#'])(true|false)\\b(?![#'])"
|
13
|
+
},
|
14
|
+
"builtInTypes": {
|
15
|
+
"patterns": [
|
16
|
+
{
|
17
|
+
"name": "support.type.builtin.futhark",
|
18
|
+
"match": "(?\u003c![#'])(bool)\\b(?![#'])"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"include": "#numericTypes"
|
22
|
+
}
|
23
|
+
]
|
24
|
+
},
|
25
|
+
"character": {
|
26
|
+
"name": "string.quoted.single.character.futhark",
|
27
|
+
"match": "(')[^']?(')",
|
28
|
+
"captures": {
|
29
|
+
"1": {
|
30
|
+
"name": "punctuation.definition.string.begin.futhark"
|
31
|
+
},
|
32
|
+
"2": {
|
33
|
+
"name": "punctuation.definition.string.end.futhark"
|
34
|
+
}
|
35
|
+
}
|
36
|
+
},
|
37
|
+
"comment": {
|
38
|
+
"name": "comment.line.double-dash.futhark",
|
39
|
+
"begin": "--",
|
40
|
+
"end": "$"
|
41
|
+
},
|
42
|
+
"constructor": {
|
43
|
+
"name": "entity.name.function.constructor.futhark",
|
44
|
+
"match": "(#)['\\w]+",
|
45
|
+
"captures": {
|
46
|
+
"1": {
|
47
|
+
"name": "punctuation.definition.constructor.number-sign.futhark"
|
48
|
+
}
|
49
|
+
}
|
50
|
+
},
|
51
|
+
"functionDefinition": {
|
52
|
+
"match": "(?\u003c![#'])\\b(let|entry|type)\\s+([_A-Za-z]['\\w]*)",
|
53
|
+
"captures": {
|
54
|
+
"1": {
|
55
|
+
"patterns": [
|
56
|
+
{
|
57
|
+
"include": "#keywords"
|
58
|
+
}
|
59
|
+
]
|
60
|
+
},
|
61
|
+
"2": {
|
62
|
+
"name": "entity.name.function.futhark"
|
63
|
+
}
|
64
|
+
}
|
65
|
+
},
|
66
|
+
"keywords": {
|
67
|
+
"name": "keyword.control.$1.futhark",
|
68
|
+
"match": "(?\u003c![#'])\\b(assert|case|do|else|entry|for|if|import|include|in|let|local|loop|match|module|open|then|type|unsafe|val|while|with)\\b(?![#'])"
|
69
|
+
},
|
70
|
+
"main": {
|
71
|
+
"patterns": [
|
72
|
+
{
|
73
|
+
"include": "#functionDefinition"
|
74
|
+
},
|
75
|
+
{
|
76
|
+
"include": "#comment"
|
77
|
+
},
|
78
|
+
{
|
79
|
+
"include": "#keywords"
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"include": "#numericTypes"
|
83
|
+
},
|
84
|
+
{
|
85
|
+
"include": "#builtInTypes"
|
86
|
+
},
|
87
|
+
{
|
88
|
+
"include": "#booleans"
|
89
|
+
},
|
90
|
+
{
|
91
|
+
"include": "#number"
|
92
|
+
},
|
93
|
+
{
|
94
|
+
"include": "#character"
|
95
|
+
},
|
96
|
+
{
|
97
|
+
"include": "#var"
|
98
|
+
},
|
99
|
+
{
|
100
|
+
"include": "#constructor"
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"include": "#operator"
|
104
|
+
},
|
105
|
+
{
|
106
|
+
"include": "etc#bracket"
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"include": "etc"
|
110
|
+
}
|
111
|
+
]
|
112
|
+
},
|
113
|
+
"number": {
|
114
|
+
"name": "constant.numeric.futhark",
|
115
|
+
"match": "(?x) -?\n(?:\n\t(?:0[xX])\n\t[0-9a-fA-F]+\n\t(?: \\.[0-9a-fA-F]+)?\n\t(?: [Pp][+-]?[0-9]+)?\n\t\n\t|\n\t\n\t[0-9]+\n\t(?:\\.[0-9]+)?\n\t(?:[Ee][+-]?[0-9]+)?\n) (?:i8|i16|i32|i64|u8|u16|u32|u64|f32|f64)?"
|
116
|
+
},
|
117
|
+
"numericTypes": {
|
118
|
+
"name": "support.type.numeric.futhark",
|
119
|
+
"match": "(?\u003c![#'])\\b(f32|f64|i16|i32|i64|i8|u16|u32|u64|u8)\\b(?![#'])"
|
120
|
+
},
|
121
|
+
"operator": {
|
122
|
+
"patterns": [
|
123
|
+
{
|
124
|
+
"name": "keyword.operator.futhark",
|
125
|
+
"match": "[-+*/%!\u003c\u003e=\u0026|@]+"
|
126
|
+
},
|
127
|
+
{
|
128
|
+
"name": "string.interpolated.quoted.backticks.futhark",
|
129
|
+
"match": "(`)[^`]*(`)",
|
130
|
+
"captures": {
|
131
|
+
"1": {
|
132
|
+
"name": "punctuation.definition.string.begin.futhark"
|
133
|
+
},
|
134
|
+
"2": {
|
135
|
+
"name": "punctuation.definition.string.end.futhark"
|
136
|
+
}
|
137
|
+
}
|
138
|
+
}
|
139
|
+
]
|
140
|
+
},
|
141
|
+
"var": {
|
142
|
+
"name": "variable.other.readwrite.futhark",
|
143
|
+
"match": "[_A-Za-z]['\\w]*"
|
144
|
+
}
|
145
|
+
}
|
146
|
+
}
|
data/grammars/source.gcode.json
CHANGED
@@ -116,7 +116,7 @@
|
|
116
116
|
},
|
117
117
|
{
|
118
118
|
"name": "support.constant.math.gcode",
|
119
|
-
"match": "(FIX)|(FUP)|(ROUND)|(ABS)"
|
119
|
+
"match": "(FIX)|(FUP)|(ROUND)|(ABS)|(MOD)"
|
120
120
|
},
|
121
121
|
{
|
122
122
|
"name": "support.constant.math.gcode",
|
@@ -140,7 +140,7 @@
|
|
140
140
|
},
|
141
141
|
{
|
142
142
|
"name": "string.regexp.gcode",
|
143
|
-
"match": "[pP][0-9]{
|
143
|
+
"match": "[pP][0-9]{0,5}"
|
144
144
|
}
|
145
145
|
]
|
146
146
|
},
|
@@ -0,0 +1,196 @@
|
|
1
|
+
{
|
2
|
+
"name": "GEDCOM",
|
3
|
+
"scopeName": "source.gedcom",
|
4
|
+
"patterns": [
|
5
|
+
{
|
6
|
+
"include": "#line"
|
7
|
+
}
|
8
|
+
],
|
9
|
+
"repository": {
|
10
|
+
"delim": {
|
11
|
+
"patterns": [
|
12
|
+
{
|
13
|
+
"name": "text.gedcom",
|
14
|
+
"match": "(\\s)"
|
15
|
+
}
|
16
|
+
]
|
17
|
+
},
|
18
|
+
"level": {
|
19
|
+
"patterns": [
|
20
|
+
{
|
21
|
+
"name": "constant.numeric.gedcom",
|
22
|
+
"match": "(^\\d*)"
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"include": "#delim"
|
26
|
+
}
|
27
|
+
]
|
28
|
+
},
|
29
|
+
"line": {
|
30
|
+
"patterns": [
|
31
|
+
{
|
32
|
+
"include": "#level"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"include": "#xref"
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"include": "#statement"
|
39
|
+
}
|
40
|
+
]
|
41
|
+
},
|
42
|
+
"line_name": {
|
43
|
+
"patterns": [
|
44
|
+
{
|
45
|
+
"name": "text.gedcom",
|
46
|
+
"match": "([^/]*$)"
|
47
|
+
},
|
48
|
+
{
|
49
|
+
"include": "#line_name_composite"
|
50
|
+
}
|
51
|
+
]
|
52
|
+
},
|
53
|
+
"line_name_composite": {
|
54
|
+
"patterns": [
|
55
|
+
{
|
56
|
+
"contentName": "string.regexp.gedcom",
|
57
|
+
"begin": "(/)",
|
58
|
+
"end": "(/)",
|
59
|
+
"beginCaptures": {
|
60
|
+
"1": {
|
61
|
+
"name": "string.regexp.gedcom"
|
62
|
+
}
|
63
|
+
},
|
64
|
+
"endCaptures": {
|
65
|
+
"1": {
|
66
|
+
"name": "string.regexp.gedcom"
|
67
|
+
}
|
68
|
+
}
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"name": "string.unquoted.gedcom",
|
72
|
+
"match": "(.)"
|
73
|
+
}
|
74
|
+
]
|
75
|
+
},
|
76
|
+
"noop": {
|
77
|
+
"patterns": [
|
78
|
+
{
|
79
|
+
"name": "text.gedcom",
|
80
|
+
"match": "(.)"
|
81
|
+
}
|
82
|
+
]
|
83
|
+
},
|
84
|
+
"pointer": {
|
85
|
+
"patterns": [
|
86
|
+
{
|
87
|
+
"contentName": "storage.type.gedcom",
|
88
|
+
"begin": "(@)",
|
89
|
+
"end": "(@)",
|
90
|
+
"beginCaptures": {
|
91
|
+
"1": {
|
92
|
+
"name": "storage.type.gedcom"
|
93
|
+
}
|
94
|
+
},
|
95
|
+
"endCaptures": {
|
96
|
+
"1": {
|
97
|
+
"name": "storage.type.gedcom"
|
98
|
+
}
|
99
|
+
}
|
100
|
+
}
|
101
|
+
]
|
102
|
+
},
|
103
|
+
"statement": {
|
104
|
+
"patterns": [
|
105
|
+
{
|
106
|
+
"include": "#tag_name"
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"include": "#tag_pointers"
|
110
|
+
},
|
111
|
+
{
|
112
|
+
"include": "#tag_line"
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"include": "#pointer"
|
116
|
+
}
|
117
|
+
]
|
118
|
+
},
|
119
|
+
"tag_line": {
|
120
|
+
"patterns": [
|
121
|
+
{
|
122
|
+
"begin": "([A-Z]*)",
|
123
|
+
"end": "(^(?=.{0,1})(?:|))",
|
124
|
+
"patterns": [
|
125
|
+
{
|
126
|
+
"include": "#noop"
|
127
|
+
}
|
128
|
+
],
|
129
|
+
"beginCaptures": {
|
130
|
+
"1": {
|
131
|
+
"name": "keyword.control.gedcom"
|
132
|
+
}
|
133
|
+
},
|
134
|
+
"endCaptures": {
|
135
|
+
"1": {
|
136
|
+
"name": "text.gedcom"
|
137
|
+
}
|
138
|
+
}
|
139
|
+
}
|
140
|
+
]
|
141
|
+
},
|
142
|
+
"tag_name": {
|
143
|
+
"patterns": [
|
144
|
+
{
|
145
|
+
"begin": "(NAME)",
|
146
|
+
"end": "(^(?=.{0,1})(?:|))",
|
147
|
+
"patterns": [
|
148
|
+
{
|
149
|
+
"include": "#line_name"
|
150
|
+
}
|
151
|
+
],
|
152
|
+
"beginCaptures": {
|
153
|
+
"1": {
|
154
|
+
"name": "keyword.control.gedcom"
|
155
|
+
}
|
156
|
+
},
|
157
|
+
"endCaptures": {
|
158
|
+
"1": {
|
159
|
+
"name": "text.gedcom"
|
160
|
+
}
|
161
|
+
}
|
162
|
+
}
|
163
|
+
]
|
164
|
+
},
|
165
|
+
"tag_pointers": {
|
166
|
+
"patterns": [
|
167
|
+
{
|
168
|
+
"begin": "(FAMS|FAMC|HUSB|WIFE|CHIL|SUBM|SUMN|REPO|ALIA|ANCI|DESI|ASSO|OBJE|NOTE|SOUR)",
|
169
|
+
"end": "(^(?=.{0,1})(?:|))",
|
170
|
+
"patterns": [
|
171
|
+
{
|
172
|
+
"include": "#pointer"
|
173
|
+
}
|
174
|
+
],
|
175
|
+
"beginCaptures": {
|
176
|
+
"1": {
|
177
|
+
"name": "keyword.control.gedcom"
|
178
|
+
}
|
179
|
+
},
|
180
|
+
"endCaptures": {
|
181
|
+
"1": {
|
182
|
+
"name": "text.gedcom"
|
183
|
+
}
|
184
|
+
}
|
185
|
+
}
|
186
|
+
]
|
187
|
+
},
|
188
|
+
"xref": {
|
189
|
+
"patterns": [
|
190
|
+
{
|
191
|
+
"include": "#pointer"
|
192
|
+
}
|
193
|
+
]
|
194
|
+
}
|
195
|
+
}
|
196
|
+
}
|