github-linguist 5.3.3 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +5 -2
  3. data/ext/linguist/linguist.c +18 -7
  4. data/grammars/annotation.liquidhaskell.haskell.json +969 -862
  5. data/grammars/config.xcompose.json +22 -25
  6. data/grammars/file.lasso.json +296 -309
  7. data/grammars/hint.haskell.json +867 -766
  8. data/grammars/hint.message.haskell.json +867 -766
  9. data/grammars/hint.type.haskell.json +867 -766
  10. data/grammars/objdump.x86asm.json +20 -24
  11. data/grammars/source.Kotlin.json +220 -225
  12. data/grammars/source.LS.json +36 -55
  13. data/grammars/source.MCPOST.json +24 -38
  14. data/grammars/source.MOD.json +26 -41
  15. data/grammars/source.SASLog.json +9 -16
  16. data/grammars/source.abap.json +48 -56
  17. data/grammars/source.abl.json +8 -14
  18. data/grammars/source.abnf.json +88 -98
  19. data/grammars/source.actionscript.3.json +398 -429
  20. data/grammars/source.acucobol.json +5 -8
  21. data/grammars/source.ada.json +46 -53
  22. data/grammars/source.afm.json +548 -554
  23. data/grammars/source.agc.json +34 -37
  24. data/grammars/source.agda.json +79 -91
  25. data/grammars/source.ahk.json +62 -66
  26. data/grammars/source.alloy.json +16 -20
  27. data/grammars/source.ampl.json +41 -47
  28. data/grammars/source.angelscript.json +71 -80
  29. data/grammars/source.antlr.json +131 -136
  30. data/grammars/source.apache-config.json +93 -99
  31. data/grammars/source.apache-config.mod_perl.json +19 -24
  32. data/grammars/source.apl.json +1038 -1029
  33. data/grammars/source.applescript.json +501 -523
  34. data/grammars/source.apt.json +9 -16
  35. data/grammars/source.asn.json +27 -31
  36. data/grammars/source.asp.json +61 -67
  37. data/grammars/source.aspectj.json +385 -391
  38. data/grammars/source.assembly.json +49 -55
  39. data/grammars/source.ats.json +45 -121
  40. data/grammars/source.autoit.json +64 -69
  41. data/grammars/source.awk.json +172 -176
  42. data/grammars/source.ballerina.json +48 -395
  43. data/grammars/source.batchfile.json +269 -269
  44. data/grammars/source.befunge.json +17 -21
  45. data/grammars/source.bf.json +5 -11
  46. data/grammars/source.bison.json +10 -14
  47. data/grammars/source.blitzmax.json +300 -305
  48. data/grammars/source.boo.json +189 -193
  49. data/grammars/source.brightauthorproject.json +8 -13
  50. data/grammars/source.brightscript.json +37 -47
  51. data/grammars/source.bro.json +134 -140
  52. data/grammars/source.bsl.json +152 -193
  53. data/grammars/source.bsv.json +96 -102
  54. data/grammars/source.c++.json +176 -193
  55. data/grammars/source.c++.qt.json +13 -21
  56. data/grammars/source.c.ec.json +15 -21
  57. data/grammars/source.c.json +237 -251
  58. data/grammars/source.c.platform.json +153 -159
  59. data/grammars/source.c2hs.json +3 -6
  60. data/grammars/source.cabal.json +17 -20
  61. data/grammars/source.cache.cmake.json +18 -23
  62. data/grammars/source.cake.json +4 -7
  63. data/grammars/source.camlp4.ocaml.json +24 -27
  64. data/grammars/source.capnp.json +33 -38
  65. data/grammars/source.ceylon.json +44 -50
  66. data/grammars/source.cfscript.cfc.json +78 -86
  67. data/grammars/source.cfscript.json +513 -520
  68. data/grammars/source.changelogs.rpm-spec.json +8 -16
  69. data/grammars/source.chapel.json +109 -87
  70. data/grammars/source.cirru.json +25 -30
  71. data/grammars/source.clarion.json +41 -54
  72. data/grammars/source.clean.json +90 -95
  73. data/grammars/source.click.json +25 -28
  74. data/grammars/source.clips.json +10 -23
  75. data/grammars/source.clojure.json +151 -168
  76. data/grammars/source.cm.json +14 -19
  77. data/grammars/source.cmake.json +53 -61
  78. data/grammars/source.cobol.json +165 -180
  79. data/grammars/source.coffee.json +454 -462
  80. data/grammars/source.cool.json +36 -43
  81. data/grammars/source.coq.json +17 -21
  82. data/grammars/source.crystal.json +889 -983
  83. data/grammars/source.cs.json +739 -740
  84. data/grammars/source.csound-document.json +69 -73
  85. data/grammars/source.csound-score.json +52 -55
  86. data/grammars/source.csound.json +167 -171
  87. data/grammars/source.css.json +683 -688
  88. data/grammars/source.css.less.json +211 -511
  89. data/grammars/source.css.mss.json +94 -101
  90. data/grammars/source.css.postcss.sugarss.json +260 -0
  91. data/grammars/source.csx.json +4 -7
  92. data/grammars/source.cuda-c++.json +47 -81
  93. data/grammars/source.cwl.json +103 -0
  94. data/grammars/source.cython.json +536 -582
  95. data/grammars/source.d.json +243 -252
  96. data/grammars/source.dart.json +161 -166
  97. data/grammars/source.data-weave.json +901 -905
  98. data/grammars/source.desktop.json +29 -33
  99. data/grammars/source.diff.json +43 -52
  100. data/grammars/source.disasm.json +15 -16
  101. data/grammars/source.ditroff.desc.json +73 -84
  102. data/grammars/source.ditroff.json +60 -61
  103. data/grammars/source.dm.json +202 -213
  104. data/grammars/source.dmf.json +44 -47
  105. data/grammars/source.dockerfile.json +29 -34
  106. data/grammars/source.dot.json +46 -55
  107. data/grammars/source.dylan.json +63 -68
  108. data/grammars/source.ebnf.json +55 -62
  109. data/grammars/source.eiffel.json +57 -62
  110. data/grammars/source.elixir.json +321 -366
  111. data/grammars/source.emacs.lisp.json +458 -249
  112. data/grammars/source.erazor.json +49 -57
  113. data/grammars/source.erlang.json +508 -515
  114. data/grammars/source.essl.json +17 -30
  115. data/grammars/source.factor.json +85 -91
  116. data/grammars/source.fan.json +92 -96
  117. data/grammars/source.fancy.json +93 -118
  118. data/grammars/source.fish.json +74 -98
  119. data/grammars/source.fontforge.json +142 -146
  120. data/grammars/source.forth.json +42 -57
  121. data/grammars/source.fortran.json +193 -231
  122. data/grammars/source.fortran.modern.json +77 -103
  123. data/grammars/source.fsharp.fsi.json +1 -6
  124. data/grammars/source.fsharp.fsl.json +1 -6
  125. data/grammars/source.fsharp.fsx.json +1 -6
  126. data/grammars/source.fsharp.json +148 -153
  127. data/grammars/source.gap.json +60 -70
  128. data/grammars/source.gcode.json +9 -16
  129. data/grammars/source.gdb.json +63 -79
  130. data/grammars/source.gdb.session.json +27 -28
  131. data/grammars/source.gdbregs.json +7 -8
  132. data/grammars/source.gdscript.json +92 -96
  133. data/grammars/source.gerber.json +38 -56
  134. data/grammars/source.gfm.json +447 -462
  135. data/grammars/source.glsl.json +58 -83
  136. data/grammars/source.gn.json +188 -193
  137. data/grammars/source.gnuplot.json +104 -120
  138. data/grammars/source.go.json +169 -181
  139. data/grammars/source.golo.json +82 -87
  140. data/grammars/source.gosu.2.json +58 -68
  141. data/grammars/source.grace.json +266 -270
  142. data/grammars/source.graphql.json +586 -596
  143. data/grammars/source.groovy.gradle.json +18 -22
  144. data/grammars/source.groovy.json +422 -433
  145. data/grammars/source.harbour.json +129 -173
  146. data/grammars/source.haskell.json +871 -772
  147. data/grammars/source.haxe.2.json +402 -413
  148. data/grammars/source.hlsl.json +6 -16
  149. data/grammars/source.hsc2hs.json +1 -4
  150. data/grammars/source.hsig.json +871 -770
  151. data/grammars/source.hss.1.json +122 -144
  152. data/grammars/source.httpspec.json +119 -123
  153. data/grammars/source.hxml.json +8 -15
  154. data/grammars/source.ideal.json +125 -125
  155. data/grammars/source.idl-dlm.json +25 -32
  156. data/grammars/source.idl.json +59 -80
  157. data/grammars/source.idris.json +171 -185
  158. data/grammars/source.inform7.json +117 -121
  159. data/grammars/source.ini.json +37 -43
  160. data/grammars/source.io.json +65 -73
  161. data/grammars/source.ioke.json +72 -78
  162. data/grammars/source.isabelle.root.json +26 -30
  163. data/grammars/source.isabelle.theory.json +46 -50
  164. data/grammars/source.j.json +18 -21
  165. data/grammars/source.jasmin.json +45 -50
  166. data/grammars/source.java-properties.json +31 -41
  167. data/grammars/source.java.json +333 -342
  168. data/grammars/source.jcl.json +15 -18
  169. data/grammars/source.jflex.json +166 -172
  170. data/grammars/source.jison.json +331 -334
  171. data/grammars/source.jisonlex-injection.json +1 -2
  172. data/grammars/source.jisonlex.json +148 -151
  173. data/grammars/source.jolie.json +37 -43
  174. data/grammars/source.jq.json +80 -87
  175. data/grammars/source.js.json +798 -818
  176. data/grammars/source.js.jsx.json +2115 -2225
  177. data/grammars/source.js.objj.json +167 -172
  178. data/grammars/source.js.regexp.json +50 -50
  179. data/grammars/source.js.regexp.replacement.json +7 -7
  180. data/grammars/source.jsdoc.json +94 -94
  181. data/grammars/source.json.json +61 -71
  182. data/grammars/source.julia.console.json +5 -6
  183. data/grammars/source.julia.json +237 -234
  184. data/grammars/source.lean.json +55 -67
  185. data/grammars/source.lid.json +6 -10
  186. data/grammars/source.lilypond.json +181 -195
  187. data/grammars/source.lisp.json +40 -50
  188. data/grammars/source.litcoffee.json +169 -183
  189. data/grammars/source.livescript.json +207 -220
  190. data/grammars/source.llvm.json +28 -38
  191. data/grammars/source.logos.json +7 -14
  192. data/grammars/source.logtalk.json +136 -141
  193. data/grammars/source.loomscript.json +77 -83
  194. data/grammars/source.lsl.json +90 -106
  195. data/grammars/source.lua.json +100 -109
  196. data/grammars/source.makefile.json +181 -188
  197. data/grammars/source.makegen.json +3 -7
  198. data/grammars/source.mask.json +260 -265
  199. data/grammars/source.mata.json +38 -46
  200. data/grammars/source.mathematica.json +155 -167
  201. data/grammars/source.matlab.json +407 -684
  202. data/grammars/source.maxscript.json +293 -281
  203. data/grammars/source.mercury.json +179 -184
  204. data/grammars/source.meson.json +52 -58
  205. data/grammars/source.meta-info.json +64 -74
  206. data/grammars/source.ml.json +107 -113
  207. data/grammars/source.modelica.json +51 -59
  208. data/grammars/source.modula2.json +33 -42
  209. data/grammars/source.monkey.json +234 -241
  210. data/grammars/source.moonscript.json +51 -56
  211. data/grammars/source.mql5.json +74 -101
  212. data/grammars/source.mupad.json +30 -72
  213. data/grammars/source.ncl.json +1 -14
  214. data/grammars/source.ne.json +39 -42
  215. data/grammars/source.nemerle.json +58 -63
  216. data/grammars/source.nesc.json +9 -15
  217. data/grammars/source.netlinx.erb.json +13 -25
  218. data/grammars/source.netlinx.json +231 -292
  219. data/grammars/source.nextflow-groovy.json +1360 -0
  220. data/grammars/source.nextflow.json +74 -0
  221. data/grammars/source.nginx.json +274 -287
  222. data/grammars/source.nim.json +442 -483
  223. data/grammars/source.nim_filter.json +6 -26
  224. data/grammars/source.nimcfg.json +38 -51
  225. data/grammars/source.ninja.json +64 -70
  226. data/grammars/source.nit.json +60 -64
  227. data/grammars/source.nix.json +269 -273
  228. data/grammars/source.nmml.json +31 -37
  229. data/grammars/source.nsis.json +66 -72
  230. data/grammars/source.nu.json +129 -139
  231. data/grammars/source.nut.json +129 -133
  232. data/grammars/source.objc++.json +3 -10
  233. data/grammars/source.objc.json +303 -314
  234. data/grammars/source.objc.platform.json +145 -151
  235. data/grammars/source.ocaml.json +506 -514
  236. data/grammars/source.ocamllex.json +108 -115
  237. data/grammars/source.ocamlyacc.json +116 -123
  238. data/grammars/source.ooc.json +148 -155
  239. data/grammars/source.opa.json +39 -49
  240. data/grammars/source.opal.json +84 -89
  241. data/grammars/source.opalsysdefs.json +9 -13
  242. data/grammars/source.opencobol.json +22 -25
  243. data/grammars/source.opentype.json +148 -152
  244. data/grammars/source.ox.json +36 -44
  245. data/grammars/source.oz.json +31 -38
  246. data/grammars/source.p4.json +49 -59
  247. data/grammars/source.pan.json +273 -278
  248. data/grammars/source.papyrus.skyrim.json +705 -781
  249. data/grammars/source.parrot.pir.json +59 -65
  250. data/grammars/source.pascal.json +54 -61
  251. data/grammars/source.pawn.json +835 -849
  252. data/grammars/source.pcb.board.json +153 -158
  253. data/grammars/source.pcb.schematic.json +134 -138
  254. data/grammars/source.pcb.sexp.json +64 -74
  255. data/grammars/source.pep8.json +28 -32
  256. data/grammars/source.perl.6.json +83 -92
  257. data/grammars/source.perl.json +711 -737
  258. data/grammars/source.perl6fe.json +1204 -1218
  259. data/grammars/source.php.zephir.json +80 -89
  260. data/grammars/source.pic.json +137 -142
  261. data/grammars/source.pig_latin.json +76 -80
  262. data/grammars/source.pike.json +23 -36
  263. data/grammars/source.po.json +74 -84
  264. data/grammars/source.pogoscript.json +23 -29
  265. data/grammars/source.pony.json +98 -108
  266. data/grammars/source.postcss.json +370 -0
  267. data/grammars/source.postscript.json +88 -97
  268. data/grammars/source.pov-ray sdl.json +36 -42
  269. data/grammars/source.powershell.json +175 -197
  270. data/grammars/source.processing.json +236 -249
  271. data/grammars/source.prolog.eclipse.json +33 -38
  272. data/grammars/source.prolog.json +66 -72
  273. data/grammars/source.protobuf.json +88 -94
  274. data/grammars/source.puppet.json +144 -151
  275. data/grammars/source.purescript.json +268 -289
  276. data/grammars/source.pyjade.json +256 -281
  277. data/grammars/source.python.django.json +13 -18
  278. data/grammars/source.python.json +3319 -3367
  279. data/grammars/source.python.salt.json +3 -7
  280. data/grammars/source.qmake.json +83 -90
  281. data/grammars/source.qml.json +57 -78
  282. data/grammars/source.quoting.perl6fe.json +666 -669
  283. data/grammars/source.r.json +75 -84
  284. data/grammars/source.racket.json +17 -38
  285. data/grammars/source.rascal.json +77 -80
  286. data/grammars/source.reason.hover.type.json +1 -1
  287. data/grammars/source.reason.json +1025 -1080
  288. data/grammars/source.rebol.json +167 -177
  289. data/grammars/source.red.json +169 -177
  290. data/grammars/source.regexp.babel.json +74 -77
  291. data/grammars/source.regexp.extended.json +4 -5
  292. data/grammars/source.regexp.json +260 -264
  293. data/grammars/source.regexp.perl6fe.json +108 -111
  294. data/grammars/source.regexp.python.json +210 -215
  295. data/grammars/source.regexp.spin.json +63 -72
  296. data/grammars/source.renpy.json +617 -687
  297. data/grammars/source.rexx.json +25 -32
  298. data/grammars/source.ring.json +84 -114
  299. data/grammars/source.rpm-spec.json +392 -401
  300. data/grammars/source.ruby.gemfile.json +9 -12
  301. data/grammars/source.ruby.json +862 -952
  302. data/grammars/source.ruby.rspec.cucumber.steps.json +90 -103
  303. data/grammars/source.rust.json +223 -281
  304. data/grammars/source.sas.json +88 -105
  305. data/grammars/source.sass.json +100 -108
  306. data/grammars/source.sbt.json +16 -23
  307. data/grammars/source.scad.json +60 -67
  308. data/grammars/source.scala.json +215 -228
  309. data/grammars/source.scaml.json +120 -135
  310. data/grammars/source.scheme.json +119 -136
  311. data/grammars/source.scilab.json +40 -47
  312. data/grammars/source.scss.json +369 -403
  313. data/grammars/source.sdbl.json +14 -25
  314. data/grammars/source.shaderlab.json +24 -27
  315. data/grammars/source.shell.json +409 -440
  316. data/grammars/source.shen.json +75 -94
  317. data/grammars/source.smali.json +232 -293
  318. data/grammars/source.smalltalk.json +60 -75
  319. data/grammars/source.smt.json +67 -82
  320. data/grammars/source.solidity.json +35 -54
  321. data/grammars/source.sp.json +40 -45
  322. data/grammars/source.sparql.json +3 -8
  323. data/grammars/source.spin.json +277 -297
  324. data/grammars/source.sqf.json +34 -44
  325. data/grammars/source.sql.json +142 -156
  326. data/grammars/source.stan.json +201 -160
  327. data/grammars/source.stata.json +57 -68
  328. data/grammars/source.strings.json +26 -30
  329. data/grammars/source.stylus.json +558 -565
  330. data/grammars/source.supercollider.json +33 -40
  331. data/grammars/source.swift.json +999 -1077
  332. data/grammars/source.systemverilog.json +351 -365
  333. data/grammars/source.tcl.json +77 -94
  334. data/grammars/source.tea.json +61 -67
  335. data/grammars/source.terra.json +25 -32
  336. data/grammars/source.terraform.json +68 -88
  337. data/grammars/source.thrift.json +300 -306
  338. data/grammars/source.tl.json +112 -117
  339. data/grammars/source.tla.json +65 -69
  340. data/grammars/source.toc.json +21 -25
  341. data/grammars/source.toml.json +117 -122
  342. data/grammars/source.ts.json +2838 -2774
  343. data/grammars/source.tsx.json +180 -184
  344. data/grammars/source.turing.json +970 -974
  345. data/grammars/source.turtle.json +124 -140
  346. data/grammars/source.txl.json +23 -37
  347. data/grammars/source.ucfconstraints.json +16 -21
  348. data/grammars/source.ur.json +15 -27
  349. data/grammars/source.vala.json +221 -235
  350. data/grammars/source.varnish.vcl.json +117 -129
  351. data/grammars/source.vbnet.json +69 -106
  352. data/grammars/source.verilog.json +101 -107
  353. data/grammars/source.vhdl.json +437 -445
  354. data/grammars/source.viml.json +540 -550
  355. data/grammars/source.wavefront.mtl.json +274 -277
  356. data/grammars/source.wavefront.obj.json +781 -784
  357. data/grammars/source.wdl.json +66 -46
  358. data/grammars/source.webassembly.json +97 -102
  359. data/grammars/source.webidl.json +311 -326
  360. data/grammars/source.x10.json +28 -32
  361. data/grammars/source.x86asm.json +21 -26
  362. data/grammars/source.xc.json +164 -172
  363. data/grammars/source.xq.json +81 -92
  364. data/grammars/source.xtend.json +199 -208
  365. data/grammars/source.yaml-ext.json +118 -124
  366. data/grammars/source.yaml.json +155 -174
  367. data/grammars/source.yaml.salt.json +113 -116
  368. data/grammars/source.yang.json +10 -13
  369. data/grammars/source.yara.json +98 -0
  370. data/grammars/text.bibtex.json +95 -100
  371. data/grammars/text.cfml.basic.json +403 -404
  372. data/grammars/text.elixir.json +18 -23
  373. data/grammars/text.error-list.json +15 -16
  374. data/grammars/text.find-refs.json +487 -488
  375. data/grammars/text.gherkin.feature.json +45 -53
  376. data/grammars/text.haml.json +176 -189
  377. data/grammars/text.hamlc.json +82 -88
  378. data/grammars/text.html.abl.json +16 -21
  379. data/grammars/text.html.asciidoc.json +139 -153
  380. data/grammars/text.html.asdoc.json +145 -155
  381. data/grammars/text.html.asp.json +23 -28
  382. data/grammars/text.html.basic.json +323 -338
  383. data/grammars/text.html.cfm.json +316 -325
  384. data/grammars/text.html.creole.json +177 -189
  385. data/grammars/text.html.django.json +27 -33
  386. data/grammars/text.html.ecr.json +21 -25
  387. data/grammars/text.html.elixir.json +3 -9
  388. data/grammars/text.html.erb.json +81 -85
  389. data/grammars/text.html.erlang.yaws.json +24 -29
  390. data/grammars/text.html.factor.json +5 -11
  391. data/grammars/text.html.ftl.json +16 -25
  392. data/grammars/text.html.handlebars.json +579 -598
  393. data/grammars/text.html.javadoc.json +426 -0
  394. data/grammars/text.html.js.json +11 -17
  395. data/grammars/text.html.jsp.json +377 -384
  396. data/grammars/text.html.liquid.json +8 -18
  397. data/grammars/text.html.mako.json +257 -275
  398. data/grammars/text.html.markdown.source.gfm.apib.json +419 -427
  399. data/grammars/text.html.markdown.source.gfm.mson.json +405 -414
  400. data/grammars/text.html.mediawiki.json +318 -344
  401. data/grammars/text.html.php.blade.json +2134 -2140
  402. data/grammars/text.html.php.json +980 -1013
  403. data/grammars/text.html.slash.json +101 -107
  404. data/grammars/text.html.smarty.json +75 -83
  405. data/grammars/text.html.soy.json +250 -253
  406. data/grammars/text.html.ssp.json +18 -24
  407. data/grammars/text.html.tcl.json +17 -24
  408. data/grammars/text.html.twig.json +712 -718
  409. data/grammars/text.idl-idldoc.json +5 -9
  410. data/grammars/text.jade.json +213 -235
  411. data/grammars/text.junit-test-report.json +25 -28
  412. data/grammars/text.log.latex.json +44 -46
  413. data/grammars/text.marko.json +370 -401
  414. data/grammars/text.python.console.json +3 -7
  415. data/grammars/text.python.traceback.json +2 -5
  416. data/grammars/text.rdoc.json +15 -19
  417. data/grammars/text.restructuredtext.clean.json +8 -11
  418. data/grammars/text.restructuredtext.json +886 -873
  419. data/grammars/text.robot.json +26 -36
  420. data/grammars/text.roff.json +2852 -2915
  421. data/grammars/text.runoff.json +56 -69
  422. data/grammars/text.sfd.json +151 -155
  423. data/grammars/text.shell-session.json +5 -8
  424. data/grammars/text.slim.json +184 -210
  425. data/grammars/text.srt.json +54 -57
  426. data/grammars/text.tex.json +98 -105
  427. data/grammars/text.tex.latex.beamer.json +14 -20
  428. data/grammars/text.tex.latex.haskell.json +883 -782
  429. data/grammars/text.tex.latex.json +281 -291
  430. data/grammars/text.tex.latex.memoir.json +39 -46
  431. data/grammars/text.tex.latex.rd.json +32 -38
  432. data/grammars/text.xml.ant.json +62 -69
  433. data/grammars/text.xml.flex-config.json +1009 -1013
  434. data/grammars/text.xml.genshi.json +10 -16
  435. data/grammars/text.xml.json +117 -130
  436. data/grammars/text.xml.pom.json +235 -240
  437. data/grammars/text.xml.xsl.json +31 -37
  438. data/grammars/text.zone_file.json +24 -29
  439. data/lib/linguist/blob.rb +10 -1
  440. data/lib/linguist/blob_helper.rb +4 -1
  441. data/lib/linguist/file_blob.rb +5 -0
  442. data/lib/linguist/generated.rb +16 -0
  443. data/lib/linguist/heuristics.rb +23 -11
  444. data/lib/linguist/language.rb +3 -6
  445. data/lib/linguist/languages.json +1 -1
  446. data/lib/linguist/languages.yml +74 -12
  447. data/lib/linguist/lazy_blob.rb +15 -1
  448. data/lib/linguist/linguist.bundle +0 -0
  449. data/lib/linguist/samples.json +1666 -3381
  450. data/lib/linguist/shebang.rb +2 -0
  451. data/lib/linguist/strategy/modeline.rb +2 -0
  452. data/lib/linguist/vendor.yml +5 -6
  453. data/lib/linguist/version.rb +1 -1
  454. metadata +12 -11
  455. data/grammars/source.elm.json +0 -381
  456. data/grammars/source.nant-build.json +0 -86
  457. data/grammars/source.octave.json +0 -451
  458. data/grammars/text.html.mediawiki.elm-build-output.json +0 -111
  459. data/grammars/text.html.mediawiki.elm-documentation.json +0 -22
  460. data/grammars/text.html.vue.json +0 -936
@@ -1,12 +1,6 @@
1
1
  {
2
- "fileTypes": [
3
- "gp",
4
- "gnuplot",
5
- "gnu",
6
- "plot"
7
- ],
8
- "keyEquivalent": "^~G",
9
2
  "name": "gnuplot",
3
+ "scopeName": "source.gnuplot",
10
4
  "patterns": [
11
5
  {
12
6
  "include": "#number"
@@ -18,23 +12,9 @@
18
12
  "include": "#string_double"
19
13
  },
20
14
  {
15
+ "name": "meta.structure.iteration.gnuplot",
21
16
  "begin": "\\b(for)\\b\\s*(\\[)",
22
- "beginCaptures": {
23
- "1": {
24
- "name": "keyword.other.iteration.gnuplot"
25
- },
26
- "2": {
27
- "name": "punctuation.definition.range.begin.gnuplot"
28
- }
29
- },
30
- "comment": "gnuplot iteration statement.\n\t\t\tThere are two forms:\n\t\t\t numeric [n = 1:2{:inc}]\n\t\t\t string based [str in \"x y z\"]\n\t\t\t but both can also iterate over lists etc, so this is kept loose.",
31
17
  "end": "\\]",
32
- "endCaptures": {
33
- "0": {
34
- "name": "punctuation.definition.range.end.gnuplot"
35
- }
36
- },
37
- "name": "meta.structure.iteration.gnuplot",
38
18
  "patterns": [
39
19
  {
40
20
  "include": "#number"
@@ -49,34 +29,36 @@
49
29
  "include": "#string_single"
50
30
  },
51
31
  {
52
- "match": ":",
53
- "name": "punctuation.separator.range.gnuplot"
32
+ "name": "punctuation.separator.range.gnuplot",
33
+ "match": ":"
54
34
  },
55
35
  {
56
- "match": "\\b([a-zA-Z]\\w*)\\b\\s*(=|in)",
57
- "name": "variable-assignment.range.gnuplot"
36
+ "name": "variable-assignment.range.gnuplot",
37
+ "match": "\\b([a-zA-Z]\\w*)\\b\\s*(=|in)"
58
38
  },
59
39
  {
60
- "match": "(?i:[^\\s(pi|e)\\]])",
61
- "name": "invalid.illegal.expected-range-separator.gnuplot"
40
+ "name": "invalid.illegal.expected-range-separator.gnuplot",
41
+ "match": "(?i:[^\\s(pi|e)\\]])"
62
42
  }
63
- ]
64
- },
65
- {
66
- "begin": "\\[",
43
+ ],
67
44
  "beginCaptures": {
68
- "0": {
45
+ "1": {
46
+ "name": "keyword.other.iteration.gnuplot"
47
+ },
48
+ "2": {
69
49
  "name": "punctuation.definition.range.begin.gnuplot"
70
50
  }
71
51
  },
72
- "comment": "gnuplot range statement [a:b]. Lots of things are legal, still more make no sense!",
73
- "end": "\\]",
74
52
  "endCaptures": {
75
53
  "0": {
76
54
  "name": "punctuation.definition.range.end.gnuplot"
77
55
  }
78
- },
56
+ }
57
+ },
58
+ {
79
59
  "name": "meta.structure.range.gnuplot",
60
+ "begin": "\\[",
61
+ "end": "\\]",
80
62
  "patterns": [
81
63
  {
82
64
  "include": "#number"
@@ -85,90 +67,103 @@
85
67
  "include": "#operator"
86
68
  },
87
69
  {
88
- "match": ":",
89
- "name": "punctuation.separator.range.gnuplot"
70
+ "name": "punctuation.separator.range.gnuplot",
71
+ "match": ":"
90
72
  },
91
73
  {
92
- "match": "(?i:[^\\s(pi|e)\\]])",
93
- "name": "invalid.illegal.expected-range-separator.gnuplot"
74
+ "name": "invalid.illegal.expected-range-separator.gnuplot",
75
+ "match": "(?i:[^\\s(pi|e)\\]])"
94
76
  }
95
- ]
77
+ ],
78
+ "beginCaptures": {
79
+ "0": {
80
+ "name": "punctuation.definition.range.begin.gnuplot"
81
+ }
82
+ },
83
+ "endCaptures": {
84
+ "0": {
85
+ "name": "punctuation.definition.range.end.gnuplot"
86
+ }
87
+ }
96
88
  },
97
89
  {
98
- "match": "\\\\.",
99
- "name": "constant.character.escape.gnuplot"
90
+ "name": "constant.character.escape.gnuplot",
91
+ "match": "\\\\."
100
92
  },
101
93
  {
94
+ "name": "comment.line.number-sign.gnuplot",
95
+ "match": "(?\u003c!\\$)(#)(?!\\{).*$\\n?",
102
96
  "captures": {
103
97
  "1": {
104
98
  "name": "punctuation.definition.comment.gnuplot"
105
99
  }
106
- },
107
- "match": "(?<!\\$)(#)(?!\\{).*$\\n?",
108
- "name": "comment.line.number-sign.gnuplot"
100
+ }
109
101
  },
110
102
  {
111
- "comment": "introduce in gnuplot 4.3.",
112
- "match": "for",
113
- "name": "keyword.other.iteration.gnuplot"
103
+ "name": "keyword.other.iteration.gnuplot",
104
+ "match": "for"
114
105
  },
115
106
  {
116
- "match": "\\b(angles|arrow|autoscale|bars|border|boxwidth|clabel|clip|cntrparam|colorbox|contour|decimalsign|dgrid3d|dummy|encoding|fit|format|grid|hidden3d|historysize|isosamples|key|label|locale|logscale|macros|bmargin|lmargin|rmargin|tmargin|mapping|mouse|multiplot|offsets|origin|output|palette|parametric|pm3d|pointsize|polar|print|rrange|trange|urange|vrange|samples|size|style|surface|tics|ticscale|ticslevel|timestamp|timefmt|title|view|xyplane|x2data|xdata|y2data|ydata|z2data|zdata|x2label|xlabel|y2label|ylabel|z2label|zlabel|x2range|xrange|y2range|yrange|z2range|zrange|mx2tics|mxtics|my2tics|mytics|mz2tics|mztics|nomx2tics|nomxtics|nomy2tics|nomytics|nomz2tics|nomztics|nox2tics|noxtics|noy2tics|noytics|noz2tics|noztics|x2tics|xtics|y2tics|ytics|z2tics|ztics|x2dtics|x2mtics|xdtics|xmtics|y2dtics|y2mtics|ydtics|ymtics|z2dtics|z2mtics|zdtics|zmtics|x2zeroaxis|xzeroaxis|y2zeroaxis|yzeroaxis|z2zeroaxis|zeroaxis|zzeroaxis|zero)\\b",
117
- "name": "keyword.other.setting.gnuplot"
107
+ "name": "keyword.other.setting.gnuplot",
108
+ "match": "\\b(angles|arrow|autoscale|bars|border|boxwidth|clabel|clip|cntrparam|colorbox|contour|decimalsign|dgrid3d|dummy|encoding|fit|format|grid|hidden3d|historysize|isosamples|key|label|locale|logscale|macros|bmargin|lmargin|rmargin|tmargin|mapping|mouse|multiplot|offsets|origin|output|palette|parametric|pm3d|pointsize|polar|print|rrange|trange|urange|vrange|samples|size|style|surface|tics|ticscale|ticslevel|timestamp|timefmt|title|view|xyplane|x2data|xdata|y2data|ydata|z2data|zdata|x2label|xlabel|y2label|ylabel|z2label|zlabel|x2range|xrange|y2range|yrange|z2range|zrange|mx2tics|mxtics|my2tics|mytics|mz2tics|mztics|nomx2tics|nomxtics|nomy2tics|nomytics|nomz2tics|nomztics|nox2tics|noxtics|noy2tics|noytics|noz2tics|noztics|x2tics|xtics|y2tics|ytics|z2tics|ztics|x2dtics|x2mtics|xdtics|xmtics|y2dtics|y2mtics|ydtics|ymtics|z2dtics|z2mtics|zdtics|zmtics|x2zeroaxis|xzeroaxis|y2zeroaxis|yzeroaxis|z2zeroaxis|zeroaxis|zzeroaxis|zero)\\b"
118
109
  },
119
110
  {
120
- "comment": "missuse of scopes alert! Just for pretty colours",
121
- "match": "\\b(cd|call|clear|exit|unset|plot|splot|help|load|pause|quit|fit|replot|ifFIT_LIMIT|FIT_MAXITER|FIT_START_LAMBDA|FIT_LAMBDA_FACTOR|FIT_LOG|FIT_SCRIPT|print|pwd|reread|reset|save|show|test|!|functions|var)\\b",
122
- "name": "keyword.other.command.gnuplot"
111
+ "name": "keyword.other.command.gnuplot",
112
+ "match": "\\b(cd|call|clear|exit|unset|plot|splot|help|load|pause|quit|fit|replot|ifFIT_LIMIT|FIT_MAXITER|FIT_START_LAMBDA|FIT_LAMBDA_FACTOR|FIT_LOG|FIT_SCRIPT|print|pwd|reread|reset|save|show|test|!|functions|var)\\b"
123
113
  },
124
114
  {
125
- "match": "\\b(abs|acos|acosh|arg|asin|asinh|atan|atan2|atanh|besj0|besj1|besy0|besy1|ceil|cos|cosh|erf|erfc|exp|floor|gamma|ibeta|igamma|imag|int|inverf|invnorm|lambertw|lgamma|log|log10|norm|rand|real|sgn|sin|sinh|sqrt|tan|tanh)\\b",
126
- "name": "support.function.gnuplot"
115
+ "name": "support.function.gnuplot",
116
+ "match": "\\b(abs|acos|acosh|arg|asin|asinh|atan|atan2|atanh|besj0|besj1|besy0|besy1|ceil|cos|cosh|erf|erfc|exp|floor|gamma|ibeta|igamma|imag|int|inverf|invnorm|lambertw|lgamma|log|log10|norm|rand|real|sgn|sin|sinh|sqrt|tan|tanh)\\b"
127
117
  },
128
118
  {
129
- "match": "\\b(gprintf|sprintf|strlen|strstrt|substr|system|word|words)\\b",
130
- "name": "support.function.string.gnuplot"
119
+ "name": "support.function.string.gnuplot",
120
+ "match": "\\b(gprintf|sprintf|strlen|strstrt|substr|system|word|words)\\b"
131
121
  },
132
122
  {
133
- "match": "\\b(on|off|default|inside|outside|lmargin|rmargin|tmargin|bmargin|at|left|right|center|top|bottom|center|vertical|horizontal|Left|Right|noreverse|noinvert|samplen|spacing|width|height|noautotitle|columnheader|title|noenhanced|nobox|linestyle|ls|linetype|lt|linewidth|lw)\\b",
134
- "name": "constant.other.type.gnuplot"
123
+ "name": "constant.other.type.gnuplot",
124
+ "match": "\\b(on|off|default|inside|outside|lmargin|rmargin|tmargin|bmargin|at|left|right|center|top|bottom|center|vertical|horizontal|Left|Right|noreverse|noinvert|samplen|spacing|width|height|noautotitle|columnheader|title|noenhanced|nobox|linestyle|ls|linetype|lt|linewidth|lw)\\b"
135
125
  },
136
126
  {
137
- "comments": "These are the terminal types available on my system -- there are probably a lot more",
138
- "match": "\\b(aed512|aed767|aifm|aqua|bitgraph|cgm|corel|dumb|dxf|eepic|emf|emtex|epslatex|epson_180dpi|epson_60dpi|epson_lx800|fig|gif|gpic|hp2623A|hp2648|hp500c|hpdj|hpgl|hpljii|hppj|imagen|jpeg|kc_tek40xx|km_tek40xx|latex|mf|mif|mp|nec_cp6|okidata|pbm|pcl5|pdf|png|postscript|pslatex|pstex|pstricks|qms|regis|selanar|starc|svg|tandy_60dpi|tek40xx|tek410x|texdraw|tgif|tkcanvas|tpic|unknown|vttek)\\b",
139
- "name": "constant.other.terminal.gnuplot"
127
+ "name": "constant.other.terminal.gnuplot",
128
+ "match": "\\b(aed512|aed767|aifm|aqua|bitgraph|cgm|corel|dumb|dxf|eepic|emf|emtex|epslatex|epson_180dpi|epson_60dpi|epson_lx800|fig|gif|gpic|hp2623A|hp2648|hp500c|hpdj|hpgl|hpljii|hppj|imagen|jpeg|kc_tek40xx|km_tek40xx|latex|mf|mif|mp|nec_cp6|okidata|pbm|pcl5|pdf|png|postscript|pslatex|pstex|pstricks|qms|regis|selanar|starc|svg|tandy_60dpi|tek40xx|tek410x|texdraw|tgif|tkcanvas|tpic|unknown|vttek)\\b"
140
129
  },
141
130
  {
142
- "match": "\\b(u(sing)?|t(it(le)?)?|notit(le)?|w(i(th)?)?|steps|fs(teps)?|notitle|l(i(nes)?)?|linespoints|via)\\b",
143
- "name": "keyword.modifier.gnuplot"
131
+ "name": "keyword.modifier.gnuplot",
132
+ "match": "\\b(u(sing)?|t(it(le)?)?|notit(le)?|w(i(th)?)?|steps|fs(teps)?|notitle|l(i(nes)?)?|linespoints|via)\\b"
144
133
  },
145
134
  {
146
- "comment": "user defined function / variable",
147
- "match": "(?x:\n\t\t\t\t\\b # Start with a word boundary\n\t\t\t\t(?=\\b[\\w$]*(\\(|.*=))\t# Look-ahead for a bracket or equals\n\t\t\t\t(?![^(]*\\))\t# negative look ahead for a closing bracket without an opening one. This stops a from matching in f(a)\n\t\t\t\t(\t\t\t\t\t# Group variable name\n\t\t\t\t\t[A-Za-z] \t\t\t# A letter\n\t\t\t\t\t[\\w$]*\t \t\t# Any word chars or $\n\t\t\t\t)\t\t\t\t\t# That is it for the name.\n\t\t\t)",
148
- "name": "variable.other.gnuplot"
135
+ "name": "variable.other.gnuplot",
136
+ "match": "(?x:\n\t\t\t\t\\b # Start with a word boundary\n\t\t\t\t(?=\\b[\\w$]*(\\(|.*=))\t# Look-ahead for a bracket or equals\n\t\t\t\t(?![^(]*\\))\t# negative look ahead for a closing bracket without an opening one. This stops a from matching in f(a)\n\t\t\t\t(\t\t\t\t\t# Group variable name\n\t\t\t\t\t[A-Za-z] \t\t\t# A letter\n\t\t\t\t\t[\\w$]*\t \t\t# Any word chars or $\n\t\t\t\t)\t\t\t\t\t# That is it for the name.\n\t\t\t)"
149
137
  },
150
138
  {
151
- "match": "\\b(if)\\b",
152
- "name": "keyword.control.gnuplot"
139
+ "name": "keyword.control.gnuplot",
140
+ "match": "\\b(if)\\b"
153
141
  },
154
142
  {
143
+ "name": "keyword.line.show.gnuplot",
144
+ "contentName": "keyword.line.show.gnuplot",
155
145
  "begin": "\\b(show)\\b",
146
+ "end": "(?!\\#)($\\n?)",
147
+ "patterns": [
148
+ {
149
+ "include": "$self"
150
+ }
151
+ ],
156
152
  "beginCaptures": {
157
153
  "0": {
158
154
  "name": "keyword.other.command.gnuplot"
159
155
  }
160
- },
161
- "contentName": "keyword.line.show.gnuplot",
156
+ }
157
+ },
158
+ {
159
+ "name": "keyword.line.set.terminal.gnuplot",
160
+ "begin": "\\b(set)\\b\\s*\\b(terminal)\\b",
162
161
  "end": "(?!\\#)($\\n?)",
163
- "name": "keyword.line.show.gnuplot",
164
162
  "patterns": [
165
163
  {
166
164
  "include": "$self"
167
165
  }
168
- ]
169
- },
170
- {
171
- "begin": "\\b(set)\\b\\s*\\b(terminal)\\b",
166
+ ],
172
167
  "beginCaptures": {
173
168
  "1": {
174
169
  "name": "keyword.other.command.gnuplot"
@@ -176,17 +171,17 @@
176
171
  "2": {
177
172
  "name": "keyword.other.setting.gnuplot"
178
173
  }
179
- },
174
+ }
175
+ },
176
+ {
177
+ "name": "keyword.line.set.key.gnuplot",
178
+ "begin": "\\b(set)\\b\\s*\\b(key)\\b",
180
179
  "end": "(?!\\#)($\\n?)",
181
- "name": "keyword.line.set.terminal.gnuplot",
182
180
  "patterns": [
183
181
  {
184
182
  "include": "$self"
185
183
  }
186
- ]
187
- },
188
- {
189
- "begin": "\\b(set)\\b\\s*\\b(key)\\b",
184
+ ],
190
185
  "beginCaptures": {
191
186
  "1": {
192
187
  "name": "keyword.other.command.gnuplot"
@@ -194,17 +189,18 @@
194
189
  "2": {
195
190
  "name": "keyword.other.setting.gnuplot"
196
191
  }
197
- },
192
+ }
193
+ },
194
+ {
195
+ "name": "keyword.line.set.gnuplot",
196
+ "contentName": "keyword.line.set.gnuplot",
197
+ "begin": "\\b(set)\\b\\s*(?!\\b(terminal|key|for)\\b)",
198
198
  "end": "(?!\\#)($\\n?)",
199
- "name": "keyword.line.set.key.gnuplot",
200
199
  "patterns": [
201
200
  {
202
201
  "include": "$self"
203
202
  }
204
- ]
205
- },
206
- {
207
- "begin": "\\b(set)\\b\\s*(?!\\b(terminal|key|for)\\b)",
203
+ ],
208
204
  "beginCaptures": {
209
205
  "1": {
210
206
  "name": "keyword.other.command.gnuplot"
@@ -212,65 +208,53 @@
212
208
  "2": {
213
209
  "name": "keyword.other.setting.gnuplot"
214
210
  }
215
- },
216
- "contentName": "keyword.line.set.gnuplot",
217
- "end": "(?!\\#)($\\n?)",
218
- "name": "keyword.line.set.gnuplot",
219
- "patterns": [
220
- {
221
- "include": "$self"
222
- }
223
- ]
211
+ }
224
212
  }
225
213
  ],
226
214
  "repository": {
227
215
  "number": {
228
- "comment": "borrowed from textmate book",
229
- "match": "(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )",
230
- "name": "constant.numeric.gnuplot"
216
+ "name": "constant.numeric.gnuplot",
217
+ "match": "(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"
231
218
  },
232
219
  "operator": {
233
- "comment": "Operator symbols",
234
- "match": "\\s*(==|~=|>|>=|<|<=|&|&&|:|\\||\\|\\||\\+|-|\\*|\\.\\*|/|\\./|\\\\|\\.\\\\|\\^|\\.\\^)\\s*",
235
- "name": "keyword.operator.symbols.matlab"
220
+ "name": "keyword.operator.symbols.matlab",
221
+ "match": "\\s*(==|~=|\u003e|\u003e=|\u003c|\u003c=|\u0026|\u0026\u0026|:|\\||\\|\\||\\+|-|\\*|\\.\\*|/|\\./|\\\\|\\.\\\\|\\^|\\.\\^)\\s*"
236
222
  },
237
223
  "string_double": {
224
+ "name": "string.quoted.double.gnuplot",
238
225
  "begin": "\"",
226
+ "end": "\"",
227
+ "patterns": [
228
+ {
229
+ "name": "constant.character.escape.gnuplot",
230
+ "match": "\\\\[\\$`\"\\\\\\n]"
231
+ }
232
+ ],
239
233
  "beginCaptures": {
240
234
  "0": {
241
235
  "name": "punctuation.definition.string.begin.gnuplot"
242
236
  }
243
237
  },
244
- "end": "\"",
245
238
  "endCaptures": {
246
239
  "0": {
247
240
  "name": "punctuation.definition.string.end.gnuplot"
248
241
  }
249
- },
250
- "name": "string.quoted.double.gnuplot",
251
- "patterns": [
252
- {
253
- "match": "\\\\[\\$`\"\\\\\\n]",
254
- "name": "constant.character.escape.gnuplot"
255
- }
256
- ]
242
+ }
257
243
  },
258
244
  "string_single": {
245
+ "name": "string.quoted.single.gnuplot",
259
246
  "begin": "'",
247
+ "end": "'",
260
248
  "beginCaptures": {
261
249
  "0": {
262
250
  "name": "punctuation.definition.string.begin.gnuplot"
263
251
  }
264
252
  },
265
- "end": "'",
266
253
  "endCaptures": {
267
254
  "0": {
268
255
  "name": "punctuation.definition.string.end.gnuplot"
269
256
  }
270
- },
271
- "name": "string.quoted.single.gnuplot"
257
+ }
272
258
  }
273
- },
274
- "scopeName": "source.gnuplot",
275
- "uuid": "A27F93D4-2AE3-4950-851E-8FA19D3CF999"
276
- }
259
+ }
260
+ }
@@ -1,11 +1,6 @@
1
1
  {
2
- "comment": "Go allows any Unicode character to be used in identifiers, so our identifier regex is: \\b([[:alpha:]_]+[[:alnum:]_]*)\\b\n\tcf. The Go Programming Language Specification <http://golang.org/doc/go_spec.html>",
3
- "fileTypes": [
4
- "go"
5
- ],
6
- "firstLineMatch": "(?i)-[*]-\\s*(mode:)?\\s*go\\s*-[*]-",
7
- "keyEquivalent": "^~G",
8
2
  "name": "Go",
3
+ "scopeName": "source.go",
9
4
  "patterns": [
10
5
  {
11
6
  "include": "#receiver_function_declaration"
@@ -20,31 +15,31 @@
20
15
  "include": "#exported_variables"
21
16
  },
22
17
  {
18
+ "name": "meta.preprocessor.go.import",
23
19
  "begin": "^[[:blank:]]*(import)\\b\\s+",
24
- "beginCaptures": {
25
- "1": {
26
- "name": "keyword.control.import.go"
27
- }
28
- },
29
20
  "end": "(?=(?://|/\\*))|$",
30
- "name": "meta.preprocessor.go.import",
31
21
  "patterns": [
32
22
  {
23
+ "name": "string.quoted.double.import.go",
33
24
  "begin": "\"",
25
+ "end": "\"",
34
26
  "beginCaptures": {
35
27
  "0": {
36
28
  "name": "punctuation.definition.string.begin.go"
37
29
  }
38
30
  },
39
- "end": "\"",
40
31
  "endCaptures": {
41
32
  "0": {
42
33
  "name": "punctuation.definition.string.end.go"
43
34
  }
44
- },
45
- "name": "string.quoted.double.import.go"
35
+ }
46
36
  }
47
- ]
37
+ ],
38
+ "beginCaptures": {
39
+ "1": {
40
+ "name": "keyword.control.import.go"
41
+ }
42
+ }
48
43
  },
49
44
  {
50
45
  "include": "#block"
@@ -58,8 +53,8 @@
58
53
  ],
59
54
  "repository": {
60
55
  "access": {
61
- "match": "(?<=\\.)[[:alpha:]_][[:alnum:]_]*\\b(?!\\s*\\()",
62
- "name": "variable.other.dot-access.go"
56
+ "name": "variable.other.dot-access.go",
57
+ "match": "(?\u003c=\\.)[[:alpha:]_][[:alnum:]_]*\\b(?!\\s*\\()"
63
58
  },
64
59
  "basic_things": {
65
60
  "patterns": [
@@ -81,24 +76,24 @@
81
76
  ]
82
77
  },
83
78
  "block": {
79
+ "name": "meta.block.go",
84
80
  "begin": "\\{",
81
+ "end": "\\}",
82
+ "patterns": [
83
+ {
84
+ "include": "#block_innards"
85
+ }
86
+ ],
85
87
  "beginCaptures": {
86
88
  "0": {
87
89
  "name": "punctuation.section.block.begin.go"
88
90
  }
89
91
  },
90
- "end": "\\}",
91
92
  "endCaptures": {
92
93
  "0": {
93
94
  "name": "punctuation.section.block.end.go"
94
95
  }
95
- },
96
- "name": "meta.block.go",
97
- "patterns": [
98
- {
99
- "include": "#block_innards"
100
- }
101
- ]
96
+ }
102
97
  },
103
98
  "block_innards": {
104
99
  "patterns": [
@@ -113,29 +108,31 @@
113
108
  "comments": {
114
109
  "patterns": [
115
110
  {
111
+ "name": "comment.block.go",
112
+ "match": "^/\\* =(\\s*.*?)\\s*= \\*/$\\n?",
116
113
  "captures": {
117
114
  "1": {
118
115
  "name": "meta.toc-list.banner.block.go"
119
116
  }
120
- },
121
- "match": "^/\\* =(\\s*.*?)\\s*= \\*/$\\n?",
122
- "name": "comment.block.go"
117
+ }
123
118
  },
124
119
  {
120
+ "name": "comment.block.go",
125
121
  "begin": "/\\*",
122
+ "end": "\\*/",
126
123
  "captures": {
127
124
  "0": {
128
125
  "name": "punctuation.definition.comment.go"
129
126
  }
130
- },
131
- "end": "\\*/",
132
- "name": "comment.block.go"
127
+ }
133
128
  },
134
129
  {
135
- "match": "\\*/.*\\n",
136
- "name": "invalid.illegal.stray-comment-end.go"
130
+ "name": "invalid.illegal.stray-comment-end.go",
131
+ "match": "\\*/.*\\n"
137
132
  },
138
133
  {
134
+ "name": "comment.line.double-slash.banner.go",
135
+ "match": "^(//) =(\\s*.*?)\\s*=\\s*$\\n?",
139
136
  "captures": {
140
137
  "1": {
141
138
  "name": "punctuation.definition.comment.go"
@@ -143,86 +140,83 @@
143
140
  "2": {
144
141
  "name": "meta.toc-list.banner.line.go"
145
142
  }
146
- },
147
- "match": "^(//) =(\\s*.*?)\\s*=\\s*$\\n?",
148
- "name": "comment.line.double-slash.banner.go"
143
+ }
149
144
  },
150
145
  {
151
146
  "begin": "(^[ \\t]+)?(?=//)",
152
- "beginCaptures": {
153
- "1": {
154
- "name": "punctuation.whitespace.comment.leading.go"
155
- }
156
- },
157
147
  "end": "(?!\\G)",
158
148
  "patterns": [
159
149
  {
150
+ "name": "comment.line.double-slash.go",
160
151
  "begin": "//",
161
- "beginCaptures": {
162
- "0": {
163
- "name": "punctuation.definition.comment.go"
164
- }
165
- },
166
152
  "end": "\\n",
167
- "name": "comment.line.double-slash.go",
168
153
  "patterns": [
169
154
  {
170
- "match": "(?>\\\\\\s*\\n)",
171
- "name": "punctuation.separator.continuation.go"
155
+ "name": "punctuation.separator.continuation.go",
156
+ "match": "(?\u003e\\\\\\s*\\n)"
172
157
  }
173
- ]
158
+ ],
159
+ "beginCaptures": {
160
+ "0": {
161
+ "name": "punctuation.definition.comment.go"
162
+ }
163
+ }
174
164
  }
175
- ]
165
+ ],
166
+ "beginCaptures": {
167
+ "1": {
168
+ "name": "punctuation.whitespace.comment.leading.go"
169
+ }
170
+ }
176
171
  }
177
172
  ]
178
173
  },
179
174
  "exported_variables": {
180
- "comment": "This is kinda hacky, in order to get the 'var' scoped the right way again.",
181
- "match": "(?<=\\s|\\[\\])([[:upper:]][[:alnum:]_]*)(?=\\W+)",
182
- "name": "variable.exported.go"
175
+ "name": "variable.exported.go",
176
+ "match": "(?\u003c=\\s|\\[\\])([[:upper:]][[:alnum:]_]*)(?=\\W+)"
183
177
  },
184
178
  "fn_parens": {
179
+ "name": "meta.parens.go",
185
180
  "begin": "\\(",
181
+ "end": "\\)",
182
+ "patterns": [
183
+ {
184
+ "include": "#basic_things"
185
+ },
186
+ {
187
+ "include": "#function_calls"
188
+ }
189
+ ],
186
190
  "beginCaptures": {
187
191
  "0": {
188
192
  "name": "punctuation.section.parens.begin.go"
189
193
  }
190
194
  },
191
- "end": "\\)",
192
195
  "endCaptures": {
193
196
  "0": {
194
197
  "name": "punctuation.section.parens.end.go"
195
198
  }
196
- },
197
- "name": "meta.parens.go",
198
- "patterns": [
199
- {
200
- "include": "#basic_things"
201
- },
202
- {
203
- "include": "#function_calls"
204
- }
205
- ]
199
+ }
206
200
  },
207
201
  "function_block": {
202
+ "name": "meta.block.go",
208
203
  "begin": "\\{",
204
+ "end": "\\}",
205
+ "patterns": [
206
+ {
207
+ "include": "#function_block_innards"
208
+ }
209
+ ],
209
210
  "beginCaptures": {
210
211
  "0": {
211
212
  "name": "punctuation.section.function-block.begin.go"
212
213
  }
213
214
  },
214
- "end": "\\}",
215
215
  "endCaptures": {
216
216
  "0": {
217
217
  "name": "punctuation.section.function-block.end.go"
218
218
  }
219
- },
220
- "name": "meta.block.go",
221
- "patterns": [
222
- {
223
- "include": "#function_block_innards"
224
- }
225
- ]
219
+ }
226
220
  },
227
221
  "function_block_innards": {
228
222
  "patterns": [
@@ -230,6 +224,7 @@
230
224
  "include": "#basic_things"
231
225
  },
232
226
  {
227
+ "match": "(\\s*)\\b(new|c(lose|ap)|p(anic|rint(ln)?)|len|make|append)(?:\\b|\\()",
233
228
  "captures": {
234
229
  "1": {
235
230
  "name": "punctuation.whitespace.support.function.leading.go"
@@ -237,8 +232,7 @@
237
232
  "2": {
238
233
  "name": "support.function.builtin.go"
239
234
  }
240
- },
241
- "match": "(\\s*)\\b(new|c(lose|ap)|p(anic|rint(ln)?)|len|make|append)(?:\\b|\\()"
235
+ }
242
236
  },
243
237
  {
244
238
  "include": "#function_block"
@@ -252,6 +246,8 @@
252
246
  ]
253
247
  },
254
248
  "function_calls": {
249
+ "name": "meta.function-call.go",
250
+ "match": "(?x)\n (?: (?= \\s ) (?:(?\u003c=else|new|return) | (?\u003c!\\w)) (\\s+) )?\n (\\b\n (?!(for|if|else|switch|return)\\s*\\()\n (?:[[:alpha:]_][[:alnum:]_]*+\\b) # method name\n )\n \\s*(\\()\n ",
255
251
  "captures": {
256
252
  "1": {
257
253
  "name": "punctuation.whitespace.function-call.leading.go"
@@ -262,13 +258,13 @@
262
258
  "3": {
263
259
  "name": "punctuation.definition.parameters.go"
264
260
  }
265
- },
266
- "match": "(?x)\n (?: (?= \\s ) (?:(?<=else|new|return) | (?<!\\w)) (\\s+) )?\n (\\b\n (?!(for|if|else|switch|return)\\s*\\()\n (?:[[:alpha:]_][[:alnum:]_]*+\\b) # method name\n )\n \\s*(\\()\n ",
267
- "name": "meta.function-call.go"
261
+ }
268
262
  },
269
263
  "initializers": {
270
264
  "patterns": [
271
265
  {
266
+ "name": "meta.initialization.explicit.go",
267
+ "match": "^[[:blank:]]*(var)\\s+((?:[[:alpha:]_][[:alnum:]_]*)(?:,\\s+[[:alpha:]_][[:alnum:]_]*)*)",
272
268
  "captures": {
273
269
  "1": {
274
270
  "name": "keyword.control.go"
@@ -276,66 +272,78 @@
276
272
  "2": {
277
273
  "patterns": [
278
274
  {
279
- "match": "[[:alpha:]_][[:alnum:]_]*",
280
- "name": "variable.other.go"
275
+ "name": "variable.other.go",
276
+ "match": "[[:alpha:]_][[:alnum:]_]*"
281
277
  }
282
278
  ]
283
279
  }
284
- },
285
- "comment": "This matches the 'var x' style of variable declaration.",
286
- "match": "^[[:blank:]]*(var)\\s+((?:[[:alpha:]_][[:alnum:]_]*)(?:,\\s+[[:alpha:]_][[:alnum:]_]*)*)",
287
- "name": "meta.initialization.explicit.go"
280
+ }
288
281
  },
289
282
  {
283
+ "name": "meta.initialization.short.go",
284
+ "match": "((?:[[:alpha:]_][[:alnum:]_]*)(?:\\s*,\\s+[[:alpha:]_][[:alnum:]_]*)*)\\s*(:=)",
290
285
  "captures": {
291
286
  "1": {
292
287
  "patterns": [
293
288
  {
294
- "match": "[[:alpha:]_][[:alnum:]_]*",
295
- "name": "variable.other.go"
289
+ "name": "variable.other.go",
290
+ "match": "[[:alpha:]_][[:alnum:]_]*"
296
291
  }
297
292
  ]
298
293
  },
299
294
  "2": {
300
295
  "name": "keyword.operator.go"
301
296
  }
302
- },
303
- "comment": "This matches the 'x :=' style of variable declaration.",
304
- "match": "((?:[[:alpha:]_][[:alnum:]_]*)(?:\\s*,\\s+[[:alpha:]_][[:alnum:]_]*)*)\\s*(:=)",
305
- "name": "meta.initialization.short.go"
297
+ }
306
298
  }
307
299
  ]
308
300
  },
309
301
  "keywords": {
310
302
  "patterns": [
311
303
  {
312
- "match": "\\b(s(elect|witch)|c(ontinue|ase)|type|i(nterface|f|mport)|def(er|ault)|package|else|var|f(or|unc|allthrough)|r(eturn|ange)|go(to)?|break)\\b",
313
- "name": "keyword.control.go"
304
+ "name": "keyword.control.go",
305
+ "match": "\\b(s(elect|witch)|c(ontinue|ase)|type|i(nterface|f|mport)|def(er|ault)|package|else|var|f(or|unc|allthrough)|r(eturn|ange)|go(to)?|break)\\b"
314
306
  },
315
307
  {
316
- "match": "(\\b|(?<=\\]))(int(16|8|32|64)?|uint(16|8|32|64|ptr)?|float(32|64)|complex(64|128)|b(yte|ool)|string|error|struct)\\b",
317
- "name": "storage.type.go"
308
+ "name": "storage.type.go",
309
+ "match": "(\\b|(?\u003c=\\]))(int(16|8|32|64)?|uint(16|8|32|64|ptr)?|float(32|64)|complex(64|128)|b(yte|ool)|string|error|struct)\\b"
318
310
  },
319
311
  {
320
- "match": "\\b(c(onst|han)|map)\\b",
321
- "name": "storage.modifier.go"
312
+ "name": "storage.modifier.go",
313
+ "match": "\\b(c(onst|han)|map)\\b"
322
314
  },
323
315
  {
324
- "match": "\\b(nil|true|false|iota)\\b",
325
- "name": "constant.language.go"
316
+ "name": "constant.language.go",
317
+ "match": "\\b(nil|true|false|iota)\\b"
326
318
  },
327
319
  {
328
- "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b",
329
- "name": "constant.numeric.go"
320
+ "name": "constant.numeric.go",
321
+ "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"
330
322
  },
331
323
  {
332
- "match": "\\<\\-",
333
- "name": "keyword.operator.channel.go"
324
+ "name": "keyword.operator.channel.go",
325
+ "match": "\\\u003c\\-"
334
326
  }
335
327
  ]
336
328
  },
337
329
  "plain_function_declaration": {
338
- "begin": "(?x)\n \t (^[[:blank:]]*(func)\\s*\n \t (?: ([[:alpha:]_][[:alnum:]_]*)? ) # name of function is optional\n \t (?: \\( ((?:[\\[\\]\\w\\d\\s\\/,._*&<>-]|(?:interface\\{\\}))*)? \\) ) # required braces for parameters (even if empty)\n \t \\s*\n \t (?: \\(? ((?:[\\[\\]\\w\\d\\s,._*&<>-]|(?:interface\\{\\}))*) \\)? )? # optional return types, optionally within braces\n )\n \t ",
330
+ "name": "meta.function.plain.go",
331
+ "begin": "(?x)\n \t (^[[:blank:]]*(func)\\s*\n \t (?: ([[:alpha:]_][[:alnum:]_]*)? ) # name of function is optional\n \t (?: \\( ((?:[\\[\\]\\w\\d\\s\\/,._*\u0026\u003c\u003e-]|(?:interface\\{\\}))*)? \\) ) # required braces for parameters (even if empty)\n \t \\s*\n \t (?: \\(? ((?:[\\[\\]\\w\\d\\s,._*\u0026\u003c\u003e-]|(?:interface\\{\\}))*) \\)? )? # optional return types, optionally within braces\n )\n \t ",
332
+ "end": "(?\u003c=\\})",
333
+ "patterns": [
334
+ {
335
+ "include": "#comments"
336
+ },
337
+ {
338
+ "include": "#storage_type"
339
+ },
340
+ {
341
+ "include": "#storage_modifier"
342
+ },
343
+ {
344
+ "include": "#function_block"
345
+ }
346
+ ],
339
347
  "beginCaptures": {
340
348
  "1": {
341
349
  "name": "meta.function.declaration.go"
@@ -349,23 +357,25 @@
349
357
  "4": {
350
358
  "patterns": [
351
359
  {
352
- "match": "[[:alpha:]_][[:alnum:]_]*",
353
- "name": "variable.parameters.go"
360
+ "name": "variable.parameters.go",
361
+ "match": "[[:alpha:]_][[:alnum:]_]*"
354
362
  }
355
363
  ]
356
364
  },
357
365
  "5": {
358
366
  "patterns": [
359
367
  {
360
- "match": "[[:alpha:]_][[:alnum:]_]*",
361
- "name": "variable.return-types.go"
368
+ "name": "variable.return-types.go",
369
+ "match": "[[:alpha:]_][[:alnum:]_]*"
362
370
  }
363
371
  ]
364
372
  }
365
- },
366
- "comment": "We scope all parenthesized alpha-numeric text as variable.parameters.go and variable.return-types.go, which is a bit lazy, as some of it is storage.type.",
367
- "end": "(?<=\\})",
368
- "name": "meta.function.plain.go",
373
+ }
374
+ },
375
+ "receiver_function_declaration": {
376
+ "name": "meta.function.receiver.go",
377
+ "begin": "(?x)\n \t (\n (func)\\s*\n \t (\n \t (?: \\( ((?:[\\[\\]\\w\\d\\s,._*\u0026\u003c\u003e-]|(?:interface\\{\\}))*) \\)\\s+ ) # receiver variable declarations, in brackets\n \t (?: ([[:alpha:]_][[:alnum:]_]*)? ) # name of function is optional\n \t )\n \t (?: \\( ((?:[\\[\\]\\w\\d\\s,._*\u0026\u003c\u003e-]|(?:interface\\{\\}))*)? \\) ) # required braces for parameters (even if empty)\n \t \\s*\n \t (?: \\(? ((?:[\\[\\]\\w\\d\\s,._*\u0026\u003c\u003e-]|(?:interface\\{\\}))*) \\)? )? # optional return types, optionally within braces\n )\n \t ",
378
+ "end": "(?\u003c=\\})",
369
379
  "patterns": [
370
380
  {
371
381
  "include": "#comments"
@@ -379,10 +389,7 @@
379
389
  {
380
390
  "include": "#function_block"
381
391
  }
382
- ]
383
- },
384
- "receiver_function_declaration": {
385
- "begin": "(?x)\n \t (\n (func)\\s*\n \t (\n \t (?: \\( ((?:[\\[\\]\\w\\d\\s,._*&<>-]|(?:interface\\{\\}))*) \\)\\s+ ) # receiver variable declarations, in brackets\n \t (?: ([[:alpha:]_][[:alnum:]_]*)? ) # name of function is optional\n \t )\n \t (?: \\( ((?:[\\[\\]\\w\\d\\s,._*&<>-]|(?:interface\\{\\}))*)? \\) ) # required braces for parameters (even if empty)\n \t \\s*\n \t (?: \\(? ((?:[\\[\\]\\w\\d\\s,._*&<>-]|(?:interface\\{\\}))*) \\)? )? # optional return types, optionally within braces\n )\n \t ",
392
+ ],
386
393
  "beginCaptures": {
387
394
  "1": {
388
395
  "name": "meta.function.receiver.declaration.go"
@@ -396,8 +403,8 @@
396
403
  "4": {
397
404
  "patterns": [
398
405
  {
399
- "match": "[[:alpha:]_][[:alnum:]_]*",
400
- "name": "variable.receiver.go"
406
+ "name": "variable.receiver.go",
407
+ "match": "[[:alpha:]_][[:alnum:]_]*"
401
408
  }
402
409
  ]
403
410
  },
@@ -407,47 +414,25 @@
407
414
  "6": {
408
415
  "patterns": [
409
416
  {
410
- "match": "[[:alpha:]_][[:alnum:]_]*",
411
- "name": "variable.parameters.go"
417
+ "name": "variable.parameters.go",
418
+ "match": "[[:alpha:]_][[:alnum:]_]*"
412
419
  }
413
420
  ]
414
421
  },
415
422
  "7": {
416
423
  "patterns": [
417
424
  {
418
- "match": "[[:alpha:]_][[:alnum:]_]*",
419
- "name": "variable.return-types.go"
425
+ "name": "variable.return-types.go",
426
+ "match": "[[:alpha:]_][[:alnum:]_]*"
420
427
  }
421
428
  ]
422
429
  }
423
- },
424
- "comment": "Version of above with support for declaring a receiver variable.",
425
- "end": "(?<=\\})",
426
- "name": "meta.function.receiver.go",
427
- "patterns": [
428
- {
429
- "include": "#comments"
430
- },
431
- {
432
- "include": "#storage_type"
433
- },
434
- {
435
- "include": "#storage_modifier"
436
- },
437
- {
438
- "include": "#function_block"
439
- }
440
- ]
430
+ }
441
431
  },
442
432
  "root_parens": {
443
- "begin": "\\(",
444
- "end": "(?<=\\()(\\))?|(?:\\))",
445
- "endCaptures": {
446
- "1": {
447
- "name": "meta.parens.empty.go"
448
- }
449
- },
450
433
  "name": "meta.parens.go",
434
+ "begin": "\\(",
435
+ "end": "(?\u003c=\\()(\\))?|(?:\\))",
451
436
  "patterns": [
452
437
  {
453
438
  "include": "#basic_things"
@@ -458,48 +443,43 @@
458
443
  {
459
444
  "include": "#function_calls"
460
445
  }
461
- ]
446
+ ],
447
+ "endCaptures": {
448
+ "1": {
449
+ "name": "meta.parens.empty.go"
450
+ }
451
+ }
462
452
  },
463
453
  "string_escaped_char": {
464
454
  "patterns": [
465
455
  {
466
- "match": "\\\\(\\\\|[abfnrutv'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|[0-7]{3})",
467
- "name": "constant.character.escape.go"
456
+ "name": "constant.character.escape.go",
457
+ "match": "\\\\(\\\\|[abfnrutv'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|[0-7]{3})"
468
458
  },
469
459
  {
470
- "match": "\\\\.",
471
- "name": "invalid.illegal.unknown-escape.go"
460
+ "name": "invalid.illegal.unknown-escape.go",
461
+ "match": "\\\\."
472
462
  }
473
463
  ]
474
464
  },
475
465
  "string_placeholder": {
476
466
  "patterns": [
477
467
  {
478
- "match": "(?x)%\n (\\d+\\$)? # field (argument #)\n [#0\\- +']* # flags\n [,;:_]? # separator character (AltiVec)\n ((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width\n (\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision\n [diouxXDOUeEfFgGaAcCsSpnvtTbyYhHmMzZq%] # conversion type\n ",
479
- "name": "constant.other.placeholder.go"
468
+ "name": "constant.other.placeholder.go",
469
+ "match": "(?x)%\n (\\d+\\$)? # field (argument #)\n [#0\\- +']* # flags\n [,;:_]? # separator character (AltiVec)\n ((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width\n (\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision\n [diouxXDOUeEfFgGaAcCsSpnvtTbyYhHmMzZq%] # conversion type\n "
480
470
  },
481
471
  {
482
- "match": "%",
483
- "name": "invalid.illegal.placeholder.go"
472
+ "name": "invalid.illegal.placeholder.go",
473
+ "match": "%"
484
474
  }
485
475
  ]
486
476
  },
487
477
  "strings": {
488
478
  "patterns": [
489
479
  {
480
+ "name": "string.quoted.double.go",
490
481
  "begin": "\"",
491
- "beginCaptures": {
492
- "0": {
493
- "name": "punctuation.definition.string.begin.go"
494
- }
495
- },
496
482
  "end": "\"",
497
- "endCaptures": {
498
- "0": {
499
- "name": "punctuation.definition.string.end.go"
500
- }
501
- },
502
- "name": "string.quoted.double.go",
503
483
  "patterns": [
504
484
  {
505
485
  "include": "#string_placeholder"
@@ -507,46 +487,54 @@
507
487
  {
508
488
  "include": "#string_escaped_char"
509
489
  }
510
- ]
511
- },
512
- {
513
- "begin": "'",
490
+ ],
514
491
  "beginCaptures": {
515
492
  "0": {
516
493
  "name": "punctuation.definition.string.begin.go"
517
494
  }
518
495
  },
519
- "end": "'",
520
496
  "endCaptures": {
521
497
  "0": {
522
498
  "name": "punctuation.definition.string.end.go"
523
499
  }
524
- },
500
+ }
501
+ },
502
+ {
525
503
  "name": "string.quoted.single.go",
504
+ "begin": "'",
505
+ "end": "'",
526
506
  "patterns": [
527
507
  {
528
508
  "include": "#string_escaped_char"
529
509
  }
530
- ]
510
+ ],
511
+ "beginCaptures": {
512
+ "0": {
513
+ "name": "punctuation.definition.string.begin.go"
514
+ }
515
+ },
516
+ "endCaptures": {
517
+ "0": {
518
+ "name": "punctuation.definition.string.end.go"
519
+ }
520
+ }
531
521
  },
532
522
  {
523
+ "name": "string.quoted.raw.go",
533
524
  "begin": "`",
525
+ "end": "`",
534
526
  "beginCaptures": {
535
527
  "0": {
536
528
  "name": "punctuation.definition.string.begin.go"
537
529
  }
538
530
  },
539
- "end": "`",
540
531
  "endCaptures": {
541
532
  "0": {
542
533
  "name": "punctuation.definition.string.end.go"
543
534
  }
544
- },
545
- "name": "string.quoted.raw.go"
535
+ }
546
536
  }
547
537
  ]
548
538
  }
549
- },
550
- "scopeName": "source.go",
551
- "uuid": "33100200-8916-4F78-8522-4362628C6889"
552
- }
539
+ }
540
+ }