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
data/grammars/source.opts.json
CHANGED
@@ -64,7 +64,7 @@
|
|
64
64
|
"2": {
|
65
65
|
"patterns": [
|
66
66
|
{
|
67
|
-
"include": "
|
67
|
+
"include": "#value"
|
68
68
|
}
|
69
69
|
]
|
70
70
|
}
|
@@ -76,7 +76,7 @@
|
|
76
76
|
"1": {
|
77
77
|
"patterns": [
|
78
78
|
{
|
79
|
-
"include": "
|
79
|
+
"include": "#value"
|
80
80
|
}
|
81
81
|
]
|
82
82
|
}
|
@@ -93,6 +93,16 @@
|
|
93
93
|
}
|
94
94
|
}
|
95
95
|
]
|
96
|
+
},
|
97
|
+
"optionValue": {
|
98
|
+
"patterns": [
|
99
|
+
{
|
100
|
+
"include": "etc"
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"include": "etc#bareword"
|
104
|
+
}
|
105
|
+
]
|
96
106
|
}
|
97
107
|
}
|
98
108
|
}
|
@@ -1,67 +1,91 @@
|
|
1
1
|
{
|
2
|
-
"name": "
|
2
|
+
"name": "PostScript",
|
3
3
|
"scopeName": "source.postscript",
|
4
4
|
"patterns": [
|
5
5
|
{
|
6
|
-
"name": "
|
7
|
-
"begin": "\\(",
|
8
|
-
"end": "
|
6
|
+
"name": "meta.document.pdf",
|
7
|
+
"begin": "\\A(?=%PDF)",
|
8
|
+
"end": "(?=A)B",
|
9
9
|
"patterns": [
|
10
10
|
{
|
11
|
-
"include": "#
|
11
|
+
"include": "#main"
|
12
|
+
}
|
13
|
+
]
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"include": "#main"
|
17
|
+
}
|
18
|
+
],
|
19
|
+
"repository": {
|
20
|
+
"array": {
|
21
|
+
"name": "meta.array.postscript",
|
22
|
+
"begin": "\\[",
|
23
|
+
"end": "\\]",
|
24
|
+
"patterns": [
|
25
|
+
{
|
26
|
+
"include": "#main"
|
12
27
|
}
|
13
28
|
],
|
14
29
|
"beginCaptures": {
|
15
30
|
"0": {
|
16
|
-
"name": "punctuation.definition.
|
31
|
+
"name": "punctuation.definition.array.begin.postscript"
|
17
32
|
}
|
18
33
|
},
|
19
34
|
"endCaptures": {
|
20
35
|
"0": {
|
21
|
-
"name": "punctuation.definition.
|
36
|
+
"name": "punctuation.definition.array.end.postscript"
|
22
37
|
}
|
23
38
|
}
|
24
39
|
},
|
25
|
-
{
|
26
|
-
"name": "
|
27
|
-
"
|
28
|
-
"
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
40
|
+
"base85": {
|
41
|
+
"name": "string.other.base85.postscript",
|
42
|
+
"begin": "\u003c~",
|
43
|
+
"end": "~\u003e",
|
44
|
+
"patterns": [
|
45
|
+
{
|
46
|
+
"name": "invalid.illegal.base85.char.postscript",
|
47
|
+
"match": "(?:[^!-uz\\s]|~(?!\u003e))++"
|
48
|
+
}
|
49
|
+
],
|
50
|
+
"beginCaptures": {
|
51
|
+
"0": {
|
52
|
+
"name": "punctuation.definition.string.begin.postscript"
|
53
|
+
}
|
54
|
+
},
|
55
|
+
"endCaptures": {
|
56
|
+
"0": {
|
57
|
+
"name": "punctuation.definition.string.end.postscript"
|
34
58
|
}
|
35
59
|
}
|
36
60
|
},
|
37
|
-
{
|
38
|
-
"begin": "(^[ \\t]+)?(?=%)",
|
39
|
-
"end": "(?!\\G)",
|
61
|
+
"comment": {
|
40
62
|
"patterns": [
|
63
|
+
{
|
64
|
+
"name": "punctuation.whitespace.comment.leading.postscript",
|
65
|
+
"match": "^[ \\t]+(?=%)"
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"include": "#dsc"
|
69
|
+
},
|
41
70
|
{
|
42
71
|
"name": "comment.line.percentage.postscript",
|
43
72
|
"begin": "%",
|
44
|
-
"end": "
|
73
|
+
"end": "(?=$|\\r|\\f)",
|
45
74
|
"beginCaptures": {
|
46
75
|
"0": {
|
47
76
|
"name": "punctuation.definition.comment.postscript"
|
48
77
|
}
|
49
78
|
}
|
50
79
|
}
|
51
|
-
]
|
52
|
-
"beginCaptures": {
|
53
|
-
"1": {
|
54
|
-
"name": "punctuation.whitespace.comment.leading.postscript"
|
55
|
-
}
|
56
|
-
}
|
80
|
+
]
|
57
81
|
},
|
58
|
-
{
|
82
|
+
"dictionary": {
|
59
83
|
"name": "meta.dictionary.postscript",
|
60
|
-
"begin": "
|
61
|
-
"end": "
|
84
|
+
"begin": "\u003c\u003c",
|
85
|
+
"end": "\u003e\u003e",
|
62
86
|
"patterns": [
|
63
87
|
{
|
64
|
-
"include": "
|
88
|
+
"include": "#main"
|
65
89
|
}
|
66
90
|
],
|
67
91
|
"beginCaptures": {
|
@@ -75,81 +99,252 @@
|
|
75
99
|
}
|
76
100
|
}
|
77
101
|
},
|
78
|
-
{
|
79
|
-
"name": "meta.
|
80
|
-
"
|
81
|
-
"
|
82
|
-
"
|
83
|
-
{
|
84
|
-
"include": "$self"
|
85
|
-
}
|
86
|
-
],
|
102
|
+
"dsc": {
|
103
|
+
"name": "meta.Document-Structuring-Comment.postscript",
|
104
|
+
"contentName": "string.unquoted.DSC.postscript",
|
105
|
+
"begin": "(?x) ^ (%%)\n( BeginBinary\n| BeginCustomColor\n| BeginData\n| BeginDefaults\n| BeginDocument\n| BeginEmulation\n| BeginExitServer\n| BeginFeature\n| BeginFile\n| BeginFont\n| BeginObject\n| BeginPageSetup\n| BeginPaperSize\n| BeginPreview\n| BeginProcSet\n| BeginProcessColor\n| BeginProlog\n| BeginResource\n| BeginSetup\n| BoundingBox\n| CMYKCustomColor\n| ChangeFont\n| Copyright\n| CreationDate\n| Creator\n| DocumentCustomColors\n| DocumentData\n| DocumentFonts\n| DocumentMedia\n| DocumentNeededFiles\n| DocumentNeededFonts\n| DocumentNeededProcSets\n| DocumentNeededResources\n| DocumentPaperColors\n| DocumentPaperForms\n| DocumentPaperSizes\n| DocumentPaperWeights\n| DocumentPrinterRequired\n| DocumentProcSets\n| DocumentProcessColors\n| DocumentSuppliedFiles\n| DocumentSuppliedFonts\n| DocumentSuppliedProcSets\n| DocumentSuppliedResources\n| EOF\n| Emulation\n| EndBinary\n| EndComments\n| EndCustomColor\n| EndData\n| EndDefaults\n| EndDocument\n| EndEmulation\n| EndExitServer\n| EndFeature\n| EndFile\n| EndFont\n| EndObject\n| EndPageSetup\n| EndPaperSize\n| EndPreview\n| EndProcSet\n| EndProcessColor\n| EndProlog\n| EndResource\n| EndSetup\n| ExecuteFile\n| Extensions\n| Feature\n| For\n| IncludeDocument\n| IncludeFeature\n| IncludeFile\n| IncludeFont\n| IncludeProcSet\n| IncludeResource\n| LanguageLevel\n| OperatorIntervention\n| OperatorMessage\n| Orientation\n| Page\n| PageBoundingBox\n| PageCustomColors\n| PageFiles\n| PageFonts\n| PageMedia\n| PageOrder\n| PageOrientation\n| PageProcessColors\n| PageRequirements\n| PageResources\n| PageTrailer\n| Pages\n| PaperColor\n| PaperForm\n| PaperSize\n| PaperWeight\n| ProofMode\n| RGBCustomColor\n| Requirements\n| Routing\n| Title\n| Trailer\n| VMlocation\n| VMusage\n| Version\n| \\+\n| \\?BeginFeatureQuery\n| \\?BeginFileQuery\n| \\?BeginFontListQuery\n| \\?BeginFontQuery\n| \\?BeginPrinterQuery\n| \\?BeginProcSetQuery\n| \\?BeginQuery\n| \\?BeginResourceListQuery\n| \\?BeginResourceQuery\n| \\?BeginVMStatus\n| \\?EndFeatureQuery\n| \\?EndFileQuery\n| \\?EndFontListQuery\n| \\?EndFontQuery\n| \\?EndPrinterQuery\n| \\?EndProcSetQuery\n| \\?EndQuery\n| \\?EndResourceListQuery\n| \\?EndResourceQuery\n| \\?EndVMStatus\n) (:)? [^\\S\\r\\n]*",
|
106
|
+
"end": "(?=$|\\r|\\f)",
|
87
107
|
"beginCaptures": {
|
88
108
|
"0": {
|
89
|
-
"name": "
|
90
|
-
}
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
109
|
+
"name": "keyword.other.DSC.postscript"
|
110
|
+
},
|
111
|
+
"1": {
|
112
|
+
"name": "punctuation.definition.keyword.DSC.postscript"
|
113
|
+
},
|
114
|
+
"3": {
|
115
|
+
"name": "keyword.operator.assignment.key-value.colon.postscript"
|
95
116
|
}
|
96
117
|
}
|
97
118
|
},
|
98
|
-
{
|
99
|
-
"
|
100
|
-
|
101
|
-
|
119
|
+
"embedded": {
|
120
|
+
"patterns": [
|
121
|
+
{
|
122
|
+
"name": "meta.encrypted-source.base85.postscript",
|
123
|
+
"contentName": "string.other.base85.postscript",
|
124
|
+
"begin": "(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s*((/)ASCII85Decode)\\s+(filter)\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])([^}\u003e\\]%]*?(?:exec|image|readstring)\\s*)$\\s*+",
|
125
|
+
"end": "~\u003e|(?=cleartomark|closefile)",
|
126
|
+
"beginCaptures": {
|
127
|
+
"1": {
|
128
|
+
"name": "keyword.operator.postscript"
|
129
|
+
},
|
130
|
+
"2": {
|
131
|
+
"name": "variable.other.literal.postscript"
|
132
|
+
},
|
133
|
+
"3": {
|
134
|
+
"name": "punctuation.definition.name.postscript"
|
135
|
+
},
|
136
|
+
"4": {
|
137
|
+
"name": "keyword.operator.postscript"
|
138
|
+
},
|
139
|
+
"5": {
|
140
|
+
"patterns": [
|
141
|
+
{
|
142
|
+
"include": "#main"
|
143
|
+
}
|
144
|
+
]
|
145
|
+
}
|
146
|
+
},
|
147
|
+
"endCaptures": {
|
148
|
+
"0": {
|
149
|
+
"name": "punctuation.definition.string.end.postscript"
|
150
|
+
}
|
151
|
+
}
|
152
|
+
},
|
153
|
+
{
|
154
|
+
"name": "meta.encrypted-source.eexec.postscript",
|
155
|
+
"begin": "(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s+(eexec)(?:$|(?=.*[\\0-\\x08\\x14-\\x31\\x7F\\x80-\\x9F])(?=.{0,3}?[^A-Fa-f0-9]|\\b[A-Fa-f0-9]))",
|
156
|
+
"end": "(cleartomark|closefile)\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])|(?\u003c=\\G)(?=[^\\s0-9A-Fa-f])",
|
157
|
+
"patterns": [
|
158
|
+
{
|
159
|
+
"begin": "\\G(?=\\s*$)",
|
160
|
+
"end": "(?=\\s*\\S)"
|
161
|
+
},
|
162
|
+
{
|
163
|
+
"begin": "(?:\\G|(?\u003c=\\n|^))\\s*(?=\\S)",
|
164
|
+
"end": "(?!\\G)",
|
165
|
+
"patterns": [
|
166
|
+
{
|
167
|
+
"name": "string.other.raw.binary.postscript",
|
168
|
+
"contentName": "sublimelinter.gutter-mark",
|
169
|
+
"begin": "\\G(?!cleartomark|closefile)(?=.{0,3}?[^A-Fa-f0-9])",
|
170
|
+
"end": "(?=\\s*(?:cleartomark|closefile))"
|
171
|
+
},
|
172
|
+
{
|
173
|
+
"name": "string.other.hexadecimal.postscript",
|
174
|
+
"begin": "\\G(?!cleartomark|closefile)(?=\\s{0,3}?(?:[A-Fa-f0-9]))",
|
175
|
+
"end": "(?=\\s*[^A-Fa-f0-9\\s]|cleartomark|closefile)"
|
176
|
+
}
|
177
|
+
]
|
178
|
+
}
|
179
|
+
],
|
180
|
+
"beginCaptures": {
|
181
|
+
"1": {
|
182
|
+
"name": "keyword.operator.postscript"
|
183
|
+
},
|
184
|
+
"2": {
|
185
|
+
"name": "keyword.operator.postscript"
|
186
|
+
}
|
187
|
+
},
|
188
|
+
"endCaptures": {
|
189
|
+
"1": {
|
190
|
+
"name": "keyword.operator.postscript"
|
191
|
+
}
|
192
|
+
}
|
193
|
+
}
|
194
|
+
]
|
195
|
+
},
|
196
|
+
"embeddedRow": {
|
197
|
+
"patterns": [
|
198
|
+
{
|
199
|
+
"name": "string.other.base85.postscript",
|
200
|
+
"match": "^[!-uz]{0,78}(~\u003e)",
|
201
|
+
"captures": {
|
202
|
+
"1": {
|
203
|
+
"name": "punctuation.definition.string.end.postscript"
|
204
|
+
}
|
205
|
+
}
|
206
|
+
},
|
207
|
+
{
|
208
|
+
"name": "string.other.base85.postscript",
|
209
|
+
"begin": "(?x) ^\n(?= [^%\\[]*? \\]\n| [^%(]*? \\)\n| [^%\u003c]*? \u003e\n| .*? \u003c(?!~|\u003c) [A-Fa-f0-9]* [^~\u003eA-Fa-f0-9]\n) [!-uz]{60,80} [^\\S\\r\\n]* $",
|
210
|
+
"end": "^[!-uz]{0,78}(~\u003e)",
|
211
|
+
"endCaptures": {
|
212
|
+
"0": {
|
213
|
+
"name": "punctuation.definition.string.end.postscript"
|
214
|
+
}
|
215
|
+
}
|
216
|
+
}
|
217
|
+
]
|
218
|
+
},
|
219
|
+
"hex": {
|
220
|
+
"name": "string.other.hexadecimal.postscript",
|
221
|
+
"begin": "\u003c",
|
222
|
+
"end": "\u003e",
|
102
223
|
"patterns": [
|
103
224
|
{
|
104
|
-
"
|
225
|
+
"name": "invalid.illegal.hexadecimal.char.postscript",
|
226
|
+
"match": "[^\u003e0-9A-Fa-f\\s]+"
|
105
227
|
}
|
106
228
|
],
|
107
229
|
"beginCaptures": {
|
108
230
|
"0": {
|
109
|
-
"name": "punctuation.definition.
|
231
|
+
"name": "punctuation.definition.string.begin.postscript"
|
110
232
|
}
|
111
233
|
},
|
112
234
|
"endCaptures": {
|
113
235
|
"0": {
|
114
|
-
"name": "punctuation.definition.
|
236
|
+
"name": "punctuation.definition.string.end.postscript"
|
115
237
|
}
|
116
238
|
}
|
117
239
|
},
|
118
|
-
{
|
119
|
-
"name": "string.other.base85.postscript",
|
120
|
-
"begin": "\\\u003c\\~",
|
121
|
-
"end": "\\~\\\u003e",
|
240
|
+
"main": {
|
122
241
|
"patterns": [
|
123
242
|
{
|
124
|
-
"
|
243
|
+
"include": "#string"
|
125
244
|
},
|
126
245
|
{
|
127
|
-
"
|
128
|
-
|
246
|
+
"include": "#comment"
|
247
|
+
},
|
248
|
+
{
|
249
|
+
"include": "#dictionary"
|
250
|
+
},
|
251
|
+
{
|
252
|
+
"include": "#array"
|
253
|
+
},
|
254
|
+
{
|
255
|
+
"include": "#procedure"
|
256
|
+
},
|
257
|
+
{
|
258
|
+
"include": "#base85"
|
259
|
+
},
|
260
|
+
{
|
261
|
+
"include": "#hex"
|
262
|
+
},
|
263
|
+
{
|
264
|
+
"include": "#radix"
|
265
|
+
},
|
266
|
+
{
|
267
|
+
"include": "#number"
|
268
|
+
},
|
269
|
+
{
|
270
|
+
"include": "#embedded"
|
271
|
+
},
|
272
|
+
{
|
273
|
+
"include": "#operators"
|
274
|
+
},
|
275
|
+
{
|
276
|
+
"include": "#embeddedRow"
|
277
|
+
},
|
278
|
+
{
|
279
|
+
"include": "#names"
|
280
|
+
}
|
281
|
+
]
|
282
|
+
},
|
283
|
+
"names": {
|
284
|
+
"patterns": [
|
285
|
+
{
|
286
|
+
"name": "variable.other.constant.immediately-evaluated.postscript",
|
287
|
+
"match": "(//)[^()\u003c\u003e\\[\\]{}/%\\s]*",
|
288
|
+
"captures": {
|
289
|
+
"1": {
|
290
|
+
"name": "punctuation.definition.name.postscript"
|
291
|
+
}
|
292
|
+
}
|
293
|
+
},
|
294
|
+
{
|
295
|
+
"name": "variable.other.constant.literal.postscript",
|
296
|
+
"match": "(/)[^()\u003c\u003e\\[\\]{}/%\\s]*",
|
297
|
+
"captures": {
|
298
|
+
"1": {
|
299
|
+
"name": "punctuation.definition.name.postscript"
|
300
|
+
}
|
301
|
+
}
|
302
|
+
},
|
303
|
+
{
|
304
|
+
"name": "variable.other.executable.postscript",
|
305
|
+
"match": "[^()\u003c\u003e\\[\\]{}/%\\s]+"
|
306
|
+
}
|
307
|
+
]
|
308
|
+
},
|
309
|
+
"number": {
|
310
|
+
"name": "constant.numeric.postscript",
|
311
|
+
"match": "[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[Ee][-+]?\\d+)?(?=$|[\\s\\[\\]{}(/%\u003c])"
|
312
|
+
},
|
313
|
+
"operators": {
|
314
|
+
"name": "keyword.operator.postscript",
|
315
|
+
"match": "(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( FontDirectory\n| GetHalftoneName\n| GetPageDeviceName\n| GetSubstituteCRD\n| GlobalFontDirectory\n| ISOLatin1Encoding\n| SharedFontDirectory\n| StandardEncoding\n| StartData\n| UserObjects\n| VMerror\n| abs\n| addglyph\n| add\n| aload\n| anchorsearch\n| and\n| arcn\n| arcto\n| arct\n| arc\n| array\n| ashow\n| astore\n| atan\n| awidthshow\n| beginbfchar\n| beginbfrange\n| begincidchar\n| begincidrange\n| begincmap\n| begincodespacerange\n| beginnotdefchar\n| beginnotdefrange\n| beginrearrangedfont\n| beginusematrix\n| begin\n| bind\n| bitshift\n| bytesavailable\n| cachestatus\n| ceiling\n| charpath\n| cleardictstack\n| cleartomark\n| clear\n| clippath\n| cliprestore\n| clipsave\n| clip\n| closefile\n| closepath\n| colorimage\n| composefont\n| concatmatrix\n| concat\n| condition\n| configurationerror\n| copypage\n| copy\n| cos\n| countdictstack\n| countexecstack\n| counttomark\n| count\n| cshow\n| currentblackgeneration\n| currentcacheparams\n| currentcmykcolor\n| currentcolorrendering\n| currentcolorscreen\n| currentcolorspace\n| currentcolortransfer\n| currentcolor\n| currentcontext\n| currentdash\n| currentdevparams\n| currentdict\n| currentfile\n| currentflat\n| currentfont\n| currentglobal\n| currentgray\n| currentgstate\n| currenthalftonephase\n| currenthalftone\n| currenthsbcolor\n| currentlinecap\n| currentlinejoin\n| currentlinewidth\n| currentmatrix\n| currentmiterlimit\n| currentobjectformat\n| currentoverprint\n| currentpacking\n| currentpagedevice\n| currentpoint\n| currentrgbcolor\n| currentscreen\n| currentshared\n| currentsmoothness\n| currentstrokeadjust\n| currentsystemparams\n| currenttransfer\n| currenttrapparams\n| currentundercolorremoval\n| currentuserparams\n| curveto\n| cvi\n| cvlit\n| cvn\n| cvrs\n| cvr\n| cvs\n| cvx\n| defaultmatrix\n| definefont\n| defineresource\n| defineusername\n| defineuserobject\n| def\n| deletefile\n| detach\n| deviceinfo\n| dictfull\n| dictstackoverflow\n| dictstackunderflow\n| dictstack\n| dict\n| div\n| dtransform\n| dup\n| echo\n| eexec\n| endbfchar\n| endbfrange\n| endcidchar\n| endcidrange\n| endcmap\n| endcodespacerange\n| endnotdefchar\n| endnotdefrange\n| endrearrangedfont\n| endusematrix\n| end\n| eoclip\n| eofill\n| eoviewclip\n| eq\n| erasepage\n| errordict\n| exch\n| execform\n| execstackoverflow\n| execstack\n| execuserobject\n| executeonly\n| executive\n| exec\n| exitserver\n| exit\n| exp\n| false\n| filenameforall\n| fileposition\n| file\n| fill\n| filter\n| findcolorrendering\n| findencoding\n| findfont\n| findresource\n| flattenpath\n| floor\n| flushfile\n| flush\n| forall\n| fork\n| for\n| gcheck\n| getinterval\n| get\n| ge\n| globaldict\n| glyphshow\n| grestoreall\n| grestore\n| gsave\n| gstate\n| gt\n| handleerror\n| identmatrix\n| idiv\n| idtransform\n| ifelse\n| if\n| imagemask\n| image\n| index\n| ineofill\n| infill\n| initclip\n| initgraphics\n| initmatrix\n| initviewclip\n| instroke\n| internaldict\n| interrupt\n| inueofill\n| inufill\n| inustroke\n| invalidaccess\n| invalidcontext\n| invalidexit\n| invalidfileaccess\n| invalidfont\n| invalidid\n| invalidrestore\n| invertmatrix\n| ioerror\n| itransform\n| join\n| known\n| kshow\n| languagelevel\n| length\n| le\n| limitcheck\n| lineto\n| ln\n| load\n| lock\n| log\n| loop\n| lt\n| makefont\n| makepattern\n| mark\n| matrix\n| maxlength\n| mod\n| monitor\n| moveto\n| mul\n| neg\n| newpath\n| ne\n| noaccess\n| nocurrentpoint\n| notify\n| not\n| nulldevice\n| null\n| or\n| packedarray\n| pathbbox\n| pathforall\n| pop\n| printobject\n| print\n| product\n| prompt\n| pstack\n| putinterval\n| put\n| quit\n| rand\n| rangecheck\n| rcheck\n| rcurveto\n| readhexstring\n| readline\n| readonly\n| readstring\n| read\n| realtime\n| rectclip\n| rectfill\n| rectstroke\n| rectviewclip\n| removeall\n| removeglyphs\n| renamefile\n| repeat\n| resetfile\n| resourceforall\n| resourcestatus\n| restore\n| reversepath\n| revision\n| rlineto\n| rmoveto\n| roll\n| rootfont\n| rotate\n| round\n| rrand\n| run\n| save\n| scalefont\n| scale\n| scheck\n| search\n| selectfont\n| serialnumber\n| serverdict\n| setbbox\n| setblackgeneration\n| setcachedevice2\n| setcachedevice\n| setcachelimit\n| setcacheparams\n| setcharwidth\n| setcmykcolor\n| setcolorrendering\n| setcolorscreen\n| setcolorspace\n| setcolortransfer\n| setcolor\n| setdash\n| setdevparams\n| setfileposition\n| setflat\n| setfont\n| setglobal\n| setgray\n| setgstate\n| sethalftonephase\n| sethalftone\n| sethsbcolor\n| setlinecap\n| setlinejoin\n| setlinewidth\n| setmatrix\n| setmiterlimit\n| setobjectformat\n| setoverprint\n| setpacking\n| setpagedevice\n| setpattern\n| setrgbcolor\n| setscreen\n| setshared\n| setsmoothness\n| setstrokeadjust\n| setsystemparams\n| settransfer\n| settrapparams\n| settrapzone\n| setucacheparams\n| setundercolorremoval\n| setuserparams\n| setvmthreshold\n| shareddict\n| shfill\n| showpage\n| show\n| sin\n| sqrt\n| srand\n| stackoverflow\n| stackunderflow\n| stack\n| startjob\n| start\n| statusdict\n| status\n| stopped\n| stop\n| store\n| stringwidth\n| string\n| strokepath\n| stroke\n| sub\n| syntaxerror\n| systemdict\n| timeout\n| token\n| transform\n| translate\n| true\n| truncate\n| typecheck\n| type\n| uappend\n| ucachestatus\n| ucache\n| ueofill\n| ufill\n| undefinedfilename\n| undefinedresource\n| undefinedresult\n| undefined\n| undefinefont\n| undefineresource\n| undefineuserobject\n| undef\n| unmatchedmark\n| unregistered\n| upath\n| usecmap\n| usefont\n| userdict\n| usertime\n| ustrokepath\n| ustroke\n| version\n| viewclippath\n| viewclip\n| vmreclaim\n| vmstatus\n| wait\n| wcheck\n| where\n| widthshow\n| writehexstring\n| writeobject\n| writestring\n| write\n| wtranslation\n| xcheck\n| xor\n| xshow\n| xyshow\n| yield\n| yshow\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])\n|\n# Stuff that starts with a non-word character\n(?\u003c=^|[/\\s{}()\u003c\u003e\\[\\]%])\n(=?=|\\$error)\n(?=$|[/\\s{}()\u003c\u003e\\[\\]%])"
|
316
|
+
},
|
317
|
+
"procedure": {
|
318
|
+
"name": "meta.procedure.postscript",
|
319
|
+
"begin": "{",
|
320
|
+
"end": "}",
|
321
|
+
"patterns": [
|
322
|
+
{
|
323
|
+
"include": "#main"
|
129
324
|
}
|
130
325
|
],
|
131
326
|
"beginCaptures": {
|
132
327
|
"0": {
|
133
|
-
"name": "punctuation.definition.
|
328
|
+
"name": "punctuation.definition.procedure.begin.postscript"
|
134
329
|
}
|
135
330
|
},
|
136
331
|
"endCaptures": {
|
137
332
|
"0": {
|
138
|
-
"name": "punctuation.definition.
|
333
|
+
"name": "punctuation.definition.procedure.end.postscript"
|
139
334
|
}
|
140
335
|
}
|
141
336
|
},
|
142
|
-
{
|
143
|
-
"name": "
|
144
|
-
"
|
145
|
-
|
337
|
+
"radix": {
|
338
|
+
"name": "constant.numeric.radix.postscript",
|
339
|
+
"match": "[0-3]?[0-9]#[0-9a-zA-Z]+"
|
340
|
+
},
|
341
|
+
"string": {
|
342
|
+
"name": "string.other.postscript",
|
343
|
+
"begin": "\\(",
|
344
|
+
"end": "\\)",
|
146
345
|
"patterns": [
|
147
346
|
{
|
148
|
-
"
|
149
|
-
},
|
150
|
-
{
|
151
|
-
"name": "invalid.illegal.hexadecimal.char.postscript",
|
152
|
-
"match": "."
|
347
|
+
"include": "#stringInnards"
|
153
348
|
}
|
154
349
|
],
|
155
350
|
"beginCaptures": {
|
@@ -163,37 +358,7 @@
|
|
163
358
|
}
|
164
359
|
}
|
165
360
|
},
|
166
|
-
{
|
167
|
-
"name": "constant.numeric.radix.postscript",
|
168
|
-
"match": "[0-3]?[0-9]#[0-9a-zA-Z]+"
|
169
|
-
},
|
170
|
-
{
|
171
|
-
"name": "constant.numeric.postscript",
|
172
|
-
"match": "(\\-|\\+)?\\d+(\\.\\d*)?([eE](\\-|\\+)?\\d+)?"
|
173
|
-
},
|
174
|
-
{
|
175
|
-
"name": "constant.numeric.postscript",
|
176
|
-
"match": "(\\-|\\+)?\\.\\d+([eE](\\-|\\+)?\\d+)?"
|
177
|
-
},
|
178
|
-
{
|
179
|
-
"name": "keyword.operator.postscript",
|
180
|
-
"match": "\\b(abs|add|aload|anchorsearch|and|arc|arcn|arct|arcto|array|ashow|astore|atan|awidthshow|begin|bind|bitshift|bytesavailable|cachestatus|ceiling|charpath|clear|cleartomark|cleardictstack|clip|clippath|closefile|closepath|colorimage|concat|concatmatrix|condition|configurationerror|copy|copypage|cos|count|countdictstack|countexecstack|counttomark|cshow|currentblackgeneration|currentcacheparams|currentcmykcolor|currentcolor|currentcolorrendering|currentcolorscreen|currentcolorspace|currentcolortransfer|currentcontext|currentdash|currentdevparams|currentdict|currentfile|currentflat|currentfont|currentglobal|currentgray|currentgstate|currenthalftone|currenthalftonephase|currenthsbcolor|currentlinecap|currentlinejoin|currentlinewidth|currentmatrix|currentmiterlimit|currentobjectformat|currentpacking|currentpagedevice|currentpoint|currentrgbcolor|currentscreen|currentshared|currentstrokeadjust|currentsystemparams|currenttransfer|currentundercolorremoval|currentuserparams|curveto|cvi|cvlit|cvn|cvr|cvrs|cvs|cvx|def|defaultmatrix|definefont|defineresource|defineusername|defineuserobject|deletefile|detach|deviceinfo|dict|dictfull|dictstack|dictstackoverflow|dictstackunderflow|div|dtransform|dup|echo|eexec|end|eoclip|eofill|eoviewclip|eq|erasepage|errordict|exch|exec|execform|execstack|execstackoverflow|execuserobject|executeonly|executive|exit|exp|false|file|filenameforall|fileposition|fill|filter|findencoding|findfont|findresource|flattenpath|floor|flush|flushfile|FontDirectory|for|forall|fork|ge|get|getinterval|globaldict|GlobalFontDirectory|glyphshow|grestore|grestoreall|gsave|gstate|gt|handleerror|identmatrix|idiv|idtransform|if|ifelse|image|imagemask|index|ineofill|infill|initclip|initgraphics|initmatrix|initviewclip|instroke|internaldict|interrupt|inueofill|inufill|inustroke|invalidaccess|invalidcontext|invalidexit|invalidfileaccess|invalidfont|invalidid|invalidrestore|invertmatrix|ioerror|ISOLatin1Encoding|itransform|join|kshow|known|languagelevel|le|length|limitcheck|lineto|ln|load|lock|log|loop|lt|makefont|makepattern|mark|matrix|maxlength|mod|monitor|moveto|mul|ne|neg|newpath|noaccess|nocurrentpoint|not|notify|null|nulldevice|or|packedarray|pathbbox|pathforall|pop|print|printobject|product|prompt|pstack|put|putinterval|quit|rand|rangecheck|rcurveto|read|readhexstring|readline|readonly|readstring|realtime|rectclip|rectfill|rectstroke|rectviewclip|renamefile|repeat|resetfile|resourceforall|resourcestatus|restore|reversepath|revision|rlineto|rmoveto|roll|rootfont|rotate|round|rrand|run|save|scale|scalefont|scheck|search|selectfont|serialnumber|setbbox|setblackgeneration|setcachedevice|setcachedevice2|setcachelimit|setcacheparams|setcharwidth|setcmykcolor|setcolor|setcolorrendering|setcolorscreen|setcolorspace|setcolortransfer|setdash|setdevparams|setfileposition|setflat|setfont|setglobal|setgray|setgstate|sethalftone|sethalftonephase|sethsbcolor|setlinecap|setlinejoin|setlinewidth|setmatrix|setmiterlimit|setobjectformat|setoverprint|setpacking|setpagedevice|setpattern|setrgbcolor|setscreen|setshared|setstrokeadjust|setsystemparams|settransfer|setucacheparams|setundercolorremoval|setuserparams|setvmthreshold|shareddict|show|showpage|sin|sqrt|srand|stack|stackoverflow|stackunderflow|StandardEncoding|start|startjob|status|statusdict|stop|stopped|store|string|stringwidth|stroke|strokepath|sub|syntaxerror|systemdict|timeout|transform|translate|true|truncate|type|typecheck|token|uappend|ucache|ucachestatus|ueofill|ufill|undef|undefined|undefinedfilename|undefineresource|undefinedresult|undefinefont|undefineresource|undefinedresource|undefineuserobject|unmatchedmark|unregistered|upath|userdict|UserObjects|usertime|ustroke|ustrokepath|version|viewclip|viewclippath|VMerror|vmreclaim|vmstatus|wait|wcheck|where|widthshow|write|writehexstring|writeobject|writestring|wtranslation|xcheck|xor|xshow|xyshow|yield|yshow)\\b"
|
181
|
-
},
|
182
|
-
{
|
183
|
-
"name": "variable.other.immediately-evaluated.postscript",
|
184
|
-
"match": "//[^\\(\\)\\\u003c\\\u003e\\[\\]\\{\\}\\/\\%\\s]+"
|
185
|
-
},
|
186
|
-
{
|
187
|
-
"name": "variable.other.literal.postscript",
|
188
|
-
"match": "/[^\\(\\)\\\u003c\\\u003e\\[\\]\\{\\}\\/\\%\\s]+"
|
189
|
-
},
|
190
|
-
{
|
191
|
-
"name": "variable.other.name.postscript",
|
192
|
-
"match": "[^\\(\\)\\\u003c\\\u003e\\[\\]\\{\\}\\/\\%\\s]+"
|
193
|
-
}
|
194
|
-
],
|
195
|
-
"repository": {
|
196
|
-
"string_content": {
|
361
|
+
"stringInnards": {
|
197
362
|
"patterns": [
|
198
363
|
{
|
199
364
|
"name": "constant.numeric.octal.postscript",
|
@@ -201,7 +366,7 @@
|
|
201
366
|
},
|
202
367
|
{
|
203
368
|
"name": "constant.character.escape.postscript",
|
204
|
-
"match": "\\\\(\\\\|[
|
369
|
+
"match": "\\\\(\\\\|[bfnrt()]|[0-7]{1,3}|\\r?\\n)"
|
205
370
|
},
|
206
371
|
{
|
207
372
|
"name": "invalid.illegal.unknown-escape.postscript.ignored",
|
@@ -212,11 +377,101 @@
|
|
212
377
|
"end": "\\)",
|
213
378
|
"patterns": [
|
214
379
|
{
|
215
|
-
"include": "#
|
380
|
+
"include": "#stringInnards"
|
216
381
|
}
|
217
382
|
]
|
218
383
|
}
|
219
384
|
]
|
220
385
|
}
|
386
|
+
},
|
387
|
+
"injections": {
|
388
|
+
"L:source.postscript meta.document.pdf - (meta.encrypted-source | text.embedded)": {
|
389
|
+
"patterns": [
|
390
|
+
{
|
391
|
+
"name": "meta.encrypted-source.stream.pdf",
|
392
|
+
"begin": "(?:^|(?\u003c=\u003e\u003e)\\s*)(?=stream$)",
|
393
|
+
"end": "endstream|(?=endobj\\b)",
|
394
|
+
"patterns": [
|
395
|
+
{
|
396
|
+
"begin": "\\G(stream)\\s*$\\s*",
|
397
|
+
"end": "(?=endstream|(?=endobj\\b))",
|
398
|
+
"patterns": [
|
399
|
+
{
|
400
|
+
"contentName": "text.embedded.xml",
|
401
|
+
"begin": "(\u003c\\?xpacket(?=\\s)[^\u003e]+\\?\u003e)(?=$|\u003cx:xmpmeta)",
|
402
|
+
"end": "(\u003c\\?xpacket(?=\\s)[^\u003e]*end\\b[^\u003e]*\\?\u003e)|(?=\\s*(?:endstream|endobj\\b))",
|
403
|
+
"patterns": [
|
404
|
+
{
|
405
|
+
"include": "text.xml"
|
406
|
+
}
|
407
|
+
],
|
408
|
+
"beginCaptures": {
|
409
|
+
"1": {
|
410
|
+
"name": "text.embedded.xml",
|
411
|
+
"patterns": [
|
412
|
+
{
|
413
|
+
"include": "text.xml"
|
414
|
+
}
|
415
|
+
]
|
416
|
+
}
|
417
|
+
},
|
418
|
+
"endCaptures": {
|
419
|
+
"1": {
|
420
|
+
"name": "text.embedded.xml",
|
421
|
+
"patterns": [
|
422
|
+
{
|
423
|
+
"include": "text.xml"
|
424
|
+
}
|
425
|
+
]
|
426
|
+
}
|
427
|
+
}
|
428
|
+
},
|
429
|
+
{
|
430
|
+
"name": "string.other.base85.pdf",
|
431
|
+
"begin": "(?!endstream)[!-uz]{50,80}\\s*$",
|
432
|
+
"end": "~\u003e|(?=\\s*(?:endstream|endobj\\b))",
|
433
|
+
"endCaptures": {
|
434
|
+
"0": {
|
435
|
+
"name": "punctuation.definition.string.end.pdf"
|
436
|
+
}
|
437
|
+
}
|
438
|
+
},
|
439
|
+
{
|
440
|
+
"name": "string.other.raw.binary.pdf",
|
441
|
+
"contentName": "sublimelinter.gutter-mark",
|
442
|
+
"begin": "(?!endstream|[!-uz]{50,80}\\s*$)(?:(?\u003c=[\\n\\r]|\\G|^))(?=.)",
|
443
|
+
"end": "(?=\\s*(?:endstream|endobj\\b))"
|
444
|
+
}
|
445
|
+
],
|
446
|
+
"beginCaptures": {
|
447
|
+
"1": {
|
448
|
+
"name": "keyword.control.stream.begin.pdf"
|
449
|
+
}
|
450
|
+
}
|
451
|
+
}
|
452
|
+
],
|
453
|
+
"endCaptures": {
|
454
|
+
"0": {
|
455
|
+
"name": "keyword.control.stream.end.pdf"
|
456
|
+
}
|
457
|
+
}
|
458
|
+
},
|
459
|
+
{
|
460
|
+
"match": "(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(obj)\\s*(?=\u003c\u003c|$)|(?\u003c=^|\\n|\u003e\u003e)(endobj)",
|
461
|
+
"captures": {
|
462
|
+
"1": {
|
463
|
+
"name": "keyword.control.object.begin.pdf"
|
464
|
+
},
|
465
|
+
"2": {
|
466
|
+
"name": "keyword.control.object.end.pdf"
|
467
|
+
}
|
468
|
+
}
|
469
|
+
},
|
470
|
+
{
|
471
|
+
"name": "keyword.control.$1.pdf",
|
472
|
+
"match": "(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(trailer|startxref)(?![^/\\s{}()\u003c\u003e\\[\\]%])"
|
473
|
+
}
|
474
|
+
]
|
475
|
+
}
|
221
476
|
}
|
222
477
|
}
|