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,24 +1,14 @@
1
1
  {
2
- "comment": "This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.",
3
2
  "name": "ECLiPSe Prolog",
4
3
  "scopeName": "source.prolog.eclipse",
5
- "fileTypes": [
6
- "ecl"
7
- ],
8
- "uuid": "a933e734-8345-407e-90af-9f7647f5ebf8",
9
4
  "patterns": [
10
5
  {
11
6
  "include": "#comments"
12
7
  },
13
8
  {
14
9
  "name": "meta.clause.body.prolog",
15
- "begin": "(?<=:-)\\s*",
10
+ "begin": "(?\u003c=:-)\\s*",
16
11
  "end": "(\\.)[^(\\.\\.)]",
17
- "endCaptures": {
18
- "1": {
19
- "name": "keyword.control.clause.bodyend.prolog"
20
- }
21
- },
22
12
  "patterns": [
23
13
  {
24
14
  "include": "#comments"
@@ -42,17 +32,17 @@
42
32
  "name": "meta.clause.body.prolog",
43
33
  "match": "."
44
34
  }
45
- ]
35
+ ],
36
+ "endCaptures": {
37
+ "1": {
38
+ "name": "keyword.control.clause.bodyend.prolog"
39
+ }
40
+ }
46
41
  },
47
42
  {
48
43
  "name": "meta.dcg.body.prolog",
49
- "begin": "(?<=-->)\\s*",
44
+ "begin": "(?\u003c=--\u003e)\\s*",
50
45
  "end": "(\\.)[^(\\.\\.)]",
51
- "endCaptures": {
52
- "1": {
53
- "name": "keyword.control.dcg.bodyend.prolog"
54
- }
55
- },
56
46
  "patterns": [
57
47
  {
58
48
  "include": "#comments"
@@ -73,7 +63,12 @@
73
63
  "name": "meta.dcg.body.prolog",
74
64
  "match": "."
75
65
  }
76
- ]
66
+ ],
67
+ "endCaptures": {
68
+ "1": {
69
+ "name": "keyword.control.dcg.bodyend.prolog"
70
+ }
71
+ }
77
72
  },
78
73
  {
79
74
  "include": "source.prolog"
@@ -84,7 +79,7 @@
84
79
  "patterns": [
85
80
  {
86
81
  "name": "constant.other.atom.simple.prolog",
87
- "match": "(?<![a-zA-Z0-9_])[a-z][a-zA-Z0-9_]*(?!\\s*\\(|[a-zA-Z0-9_])"
82
+ "match": "(?\u003c![a-zA-Z0-9_])[a-z][a-zA-Z0-9_]*(?!\\s*\\(|[a-zA-Z0-9_])"
88
83
  },
89
84
  {
90
85
  "name": "constant.other.atom.quoted.prolog",
@@ -130,7 +125,7 @@
130
125
  "patterns": [
131
126
  {
132
127
  "name": "constant.numeric.integer.prolog",
133
- "match": "(?<![a-zA-Z]|/)(\\d+|(\\d+\\.\\d+))"
128
+ "match": "(?\u003c![a-zA-Z]|/)(\\d+|(\\d+\\.\\d+))"
134
129
  },
135
130
  {
136
131
  "name": "string.quoted.double.prolog",
@@ -142,18 +137,8 @@
142
137
  "patterns": [
143
138
  {
144
139
  "name": "meta.if.prolog",
145
- "begin": "(->)",
146
- "beginCaptures": {
147
- "1": {
148
- "name": "keyword.control.if.prolog"
149
- }
150
- },
140
+ "begin": "(-\u003e)",
151
141
  "end": "(;)",
152
- "endCaptures": {
153
- "1": {
154
- "name": "keyword.control.else.prolog"
155
- }
156
- },
157
142
  "patterns": [
158
143
  {
159
144
  "include": "$self"
@@ -174,7 +159,17 @@
174
159
  "name": "meta.if.body.prolog",
175
160
  "match": "."
176
161
  }
177
- ]
162
+ ],
163
+ "beginCaptures": {
164
+ "1": {
165
+ "name": "keyword.control.if.prolog"
166
+ }
167
+ },
168
+ "endCaptures": {
169
+ "1": {
170
+ "name": "keyword.control.else.prolog"
171
+ }
172
+ }
178
173
  },
179
174
  {
180
175
  "name": "keyword.control.cut.prolog",
@@ -182,11 +177,11 @@
182
177
  },
183
178
  {
184
179
  "name": "keyword.operator.prolog",
185
- "match": "(\\s(is)\\s)|=:=|=?\\\\?=|\\\\\\+|@?>|@?=?<|\\+|\\*|\\-"
180
+ "match": "(\\s(is)\\s)|=:=|=?\\\\?=|\\\\\\+|@?\u003e|@?=?\u003c|\\+|\\*|\\-"
186
181
  },
187
182
  {
188
183
  "name": "keyword.operator.prolog.eclipse",
189
- "match": "(#|&|\\$)(<|>|=)|(#|&|\\$)?(::)|\\.\\.|or|and|(#|&|\\$)\\\\="
184
+ "match": "(#|\u0026|\\$)(\u003c|\u003e|=)|(#|\u0026|\\$)?(::)|\\.\\.|or|and|(#|\u0026|\\$)\\\\="
190
185
  }
191
186
  ]
192
187
  },
@@ -194,13 +189,13 @@
194
189
  "patterns": [
195
190
  {
196
191
  "name": "variable.parameter.uppercase.prolog",
197
- "match": "(?<![a-zA-Z0-9_])[A-Z][a-zA-Z0-9_]*"
192
+ "match": "(?\u003c![a-zA-Z0-9_])[A-Z][a-zA-Z0-9_]*"
198
193
  },
199
194
  {
200
195
  "name": "variable.language.anonymous.prolog",
201
- "match": "(?<!\\w)_"
196
+ "match": "(?\u003c!\\w)_"
202
197
  }
203
198
  ]
204
199
  }
205
200
  }
206
- }
201
+ }
@@ -1,25 +1,14 @@
1
1
  {
2
- "comment": "This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.",
3
2
  "name": "SWI-Prolog",
4
3
  "scopeName": "source.prolog",
5
- "fileTypes": [
6
- "pl",
7
- "pro"
8
- ],
9
- "uuid": "df89928b-6612-475a-b414-f319d9b98664",
10
4
  "patterns": [
11
5
  {
12
6
  "include": "#comments"
13
7
  },
14
8
  {
15
9
  "name": "meta.clause.body.prolog",
16
- "begin": "(?<=:-)\\s*",
10
+ "begin": "(?\u003c=:-)\\s*",
17
11
  "end": "(\\.)",
18
- "endCaptures": {
19
- "1": {
20
- "name": "keyword.control.clause.bodyend.prolog"
21
- }
22
- },
23
12
  "patterns": [
24
13
  {
25
14
  "include": "#comments"
@@ -43,11 +32,28 @@
43
32
  "name": "meta.clause.body.prolog",
44
33
  "match": "."
45
34
  }
46
- ]
35
+ ],
36
+ "endCaptures": {
37
+ "1": {
38
+ "name": "keyword.control.clause.bodyend.prolog"
39
+ }
40
+ }
47
41
  },
48
42
  {
49
43
  "name": "meta.clause.head.prolog",
50
44
  "begin": "^\\s*([a-z][a-zA-Z0-9_]*)(\\(?)(?=.*:-.*)",
45
+ "end": "((\\)?))\\s*(:-)",
46
+ "patterns": [
47
+ {
48
+ "include": "#atom"
49
+ },
50
+ {
51
+ "include": "#variable"
52
+ },
53
+ {
54
+ "include": "#constants"
55
+ }
56
+ ],
51
57
  "beginCaptures": {
52
58
  "1": {
53
59
  "name": "entity.name.function.clause.prolog"
@@ -56,7 +62,6 @@
56
62
  "name": "punctuation.definition.parameters.begin"
57
63
  }
58
64
  },
59
- "end": "((\\)?))\\s*(:-)",
60
65
  "endCaptures": {
61
66
  "1": {
62
67
  "name": "punctuation.definition.parameters.end"
@@ -64,7 +69,12 @@
64
69
  "3": {
65
70
  "name": "keyword.control.clause.bodybegin.prolog"
66
71
  }
67
- },
72
+ }
73
+ },
74
+ {
75
+ "name": "meta.dcg.head.prolog",
76
+ "begin": "^\\s*([a-z][a-zA-Z0-9_]*)(\\(?)(?=.*--\u003e.*)",
77
+ "end": "((\\)?))\\s*(--\u003e)",
68
78
  "patterns": [
69
79
  {
70
80
  "include": "#atom"
@@ -75,11 +85,7 @@
75
85
  {
76
86
  "include": "#constants"
77
87
  }
78
- ]
79
- },
80
- {
81
- "name": "meta.dcg.head.prolog",
82
- "begin": "^\\s*([a-z][a-zA-Z0-9_]*)(\\(?)(?=.*-->.*)",
88
+ ],
83
89
  "beginCaptures": {
84
90
  "1": {
85
91
  "name": "entity.name.function.dcg.prolog"
@@ -88,7 +94,6 @@
88
94
  "name": "punctuation.definition.parameters.begin"
89
95
  }
90
96
  },
91
- "end": "((\\)?))\\s*(-->)",
92
97
  "endCaptures": {
93
98
  "1": {
94
99
  "name": "punctuation.definition.parameters.end"
@@ -96,28 +101,12 @@
96
101
  "3": {
97
102
  "name": "keyword.control.dcg.bodybegin.prolog"
98
103
  }
99
- },
100
- "patterns": [
101
- {
102
- "include": "#atom"
103
- },
104
- {
105
- "include": "#variable"
106
- },
107
- {
108
- "include": "#constants"
109
- }
110
- ]
104
+ }
111
105
  },
112
106
  {
113
107
  "name": "meta.dcg.body.prolog",
114
- "begin": "(?<=-->)\\s*",
108
+ "begin": "(?\u003c=--\u003e)\\s*",
115
109
  "end": "(\\.)",
116
- "endCaptures": {
117
- "1": {
118
- "name": "keyword.control.dcg.bodyend.prolog"
119
- }
120
- },
121
110
  "patterns": [
122
111
  {
123
112
  "include": "#comments"
@@ -138,11 +127,28 @@
138
127
  "name": "meta.dcg.body.prolog",
139
128
  "match": "."
140
129
  }
141
- ]
130
+ ],
131
+ "endCaptures": {
132
+ "1": {
133
+ "name": "keyword.control.dcg.bodyend.prolog"
134
+ }
135
+ }
142
136
  },
143
137
  {
144
138
  "name": "meta.fact.prolog",
145
- "begin": "^\\s*([a-zA-Z][a-zA-Z0-9_]*)(\\(?)(?!.*(:-|-->).*)",
139
+ "begin": "^\\s*([a-zA-Z][a-zA-Z0-9_]*)(\\(?)(?!.*(:-|--\u003e).*)",
140
+ "end": "((\\)?))\\s*(\\.)(?!\\d+)",
141
+ "patterns": [
142
+ {
143
+ "include": "#atom"
144
+ },
145
+ {
146
+ "include": "#variable"
147
+ },
148
+ {
149
+ "include": "#constants"
150
+ }
151
+ ],
146
152
  "beginCaptures": {
147
153
  "1": {
148
154
  "name": "entity.name.function.fact.prolog"
@@ -151,7 +157,6 @@
151
157
  "name": "punctuation.definition.parameters.begin"
152
158
  }
153
159
  },
154
- "end": "((\\)?))\\s*(\\.)(?!\\d+)",
155
160
  "endCaptures": {
156
161
  "1": {
157
162
  "name": "punctuation.definition.parameters.end"
@@ -159,18 +164,7 @@
159
164
  "3": {
160
165
  "name": "keyword.control.fact.end.prolog"
161
166
  }
162
- },
163
- "patterns": [
164
- {
165
- "include": "#atom"
166
- },
167
- {
168
- "include": "#variable"
169
- },
170
- {
171
- "include": "#constants"
172
- }
173
- ]
167
+ }
174
168
  }
175
169
  ],
176
170
  "repository": {
@@ -178,7 +172,7 @@
178
172
  "patterns": [
179
173
  {
180
174
  "name": "constant.other.atom.simple.prolog",
181
- "match": "(?<![a-zA-Z0-9_])[a-z][a-zA-Z0-9_]*(?!\\s*\\(|[a-zA-Z0-9_])"
175
+ "match": "(?\u003c![a-zA-Z0-9_])[a-z][a-zA-Z0-9_]*(?!\\s*\\(|[a-zA-Z0-9_])"
182
176
  },
183
177
  {
184
178
  "name": "constant.other.atom.quoted.prolog",
@@ -220,7 +214,7 @@
220
214
  "patterns": [
221
215
  {
222
216
  "name": "constant.numeric.integer.prolog",
223
- "match": "(?<![a-zA-Z]|/)(\\d+|(\\d+\\.\\d+))"
217
+ "match": "(?\u003c![a-zA-Z]|/)(\\d+|(\\d+\\.\\d+))"
224
218
  },
225
219
  {
226
220
  "name": "string.quoted.double.prolog",
@@ -232,18 +226,8 @@
232
226
  "patterns": [
233
227
  {
234
228
  "name": "meta.if.prolog",
235
- "begin": "(->)",
236
- "beginCaptures": {
237
- "1": {
238
- "name": "keyword.control.if.prolog"
239
- }
240
- },
229
+ "begin": "(-\u003e)",
241
230
  "end": "(;)",
242
- "endCaptures": {
243
- "1": {
244
- "name": "keyword.control.else.prolog"
245
- }
246
- },
247
231
  "patterns": [
248
232
  {
249
233
  "include": "$self"
@@ -264,7 +248,17 @@
264
248
  "name": "meta.if.body.prolog",
265
249
  "match": "."
266
250
  }
267
- ]
251
+ ],
252
+ "beginCaptures": {
253
+ "1": {
254
+ "name": "keyword.control.if.prolog"
255
+ }
256
+ },
257
+ "endCaptures": {
258
+ "1": {
259
+ "name": "keyword.control.else.prolog"
260
+ }
261
+ }
268
262
  },
269
263
  {
270
264
  "name": "keyword.control.cut.prolog",
@@ -272,7 +266,7 @@
272
266
  },
273
267
  {
274
268
  "name": "keyword.operator.prolog",
275
- "match": "(\\s(is)\\s)|=:=|=?\\\\?=|\\\\\\+|@?>|@?=?<|\\+|\\*|\\-"
269
+ "match": "(\\s(is)\\s)|=:=|=?\\\\?=|\\\\\\+|@?\u003e|@?=?\u003c|\\+|\\*|\\-"
276
270
  }
277
271
  ]
278
272
  },
@@ -280,13 +274,13 @@
280
274
  "patterns": [
281
275
  {
282
276
  "name": "variable.parameter.uppercase.prolog",
283
- "match": "(?<![a-zA-Z0-9_])[A-Z][a-zA-Z0-9_]*"
277
+ "match": "(?\u003c![a-zA-Z0-9_])[A-Z][a-zA-Z0-9_]*"
284
278
  },
285
279
  {
286
280
  "name": "variable.language.anonymous.prolog",
287
- "match": "(?<!\\w)_"
281
+ "match": "(?\u003c!\\w)_"
288
282
  }
289
283
  ]
290
284
  }
291
285
  }
292
- }
286
+ }
@@ -1,12 +1,10 @@
1
1
  {
2
- "fileTypes": [
3
- "proto"
4
- ],
5
- "foldingStartMarker": "/\\*\\*|\\{\\s*$",
6
- "foldingStopMarker": "\\*\\*/|^\\s*\\}",
7
2
  "name": "Protocol Buffer",
3
+ "scopeName": "source.protobuf",
8
4
  "patterns": [
9
5
  {
6
+ "name": "meta.import.declaration.protobuf",
7
+ "match": "(import) (\".*\")",
10
8
  "captures": {
11
9
  "1": {
12
10
  "name": "keyword.other.import.protobuf"
@@ -14,22 +12,12 @@
14
12
  "2": {
15
13
  "name": "string.quoted.double.import.protobuf"
16
14
  }
17
- },
18
- "match": "(import) (\".*\")",
19
- "name": "meta.import.declaration.protobuf"
15
+ }
20
16
  },
21
17
  {
18
+ "name": "meta.message-declaration.protobuf",
22
19
  "begin": "\\b(message)\\s+([A-Za-z0-9_]+)\\s*\\{",
23
- "captures": {
24
- "1": {
25
- "name": "storage.type.message.protobuf"
26
- },
27
- "2": {
28
- "name": "entity.name.type.message.protobuf"
29
- }
30
- },
31
20
  "end": "}",
32
- "name": "meta.message-declaration.protobuf",
33
21
  "patterns": [
34
22
  {
35
23
  "include": "$self"
@@ -40,22 +28,24 @@
40
28
  {
41
29
  "include": "#comments"
42
30
  }
43
- ]
44
- },
45
- {
46
- "begin": "\\b(enum)\\s+([A-Za-z0-9_]+)\\s*\\{",
47
- "beginCaptures": {
31
+ ],
32
+ "captures": {
48
33
  "1": {
49
- "name": "storage.type.enum.protobuf"
34
+ "name": "storage.type.message.protobuf"
50
35
  },
51
36
  "2": {
52
- "name": "entity.name.type.enum.protobuf"
37
+ "name": "entity.name.type.message.protobuf"
53
38
  }
54
- },
55
- "end": "}",
39
+ }
40
+ },
41
+ {
56
42
  "name": "meta.enum-declaration.protobuf",
43
+ "begin": "\\b(enum)\\s+([A-Za-z0-9_]+)\\s*\\{",
44
+ "end": "}",
57
45
  "patterns": [
58
46
  {
47
+ "name": "meta.individual-enum-definition.protobuf",
48
+ "match": "\\b([A-Za-z0-9_]+)\\s*=\\s*(\\d+)\\b",
59
49
  "captures": {
60
50
  "1": {
61
51
  "name": "constant.other.user-defined.protobuf"
@@ -63,9 +53,7 @@
63
53
  "2": {
64
54
  "name": "constant.numeric.protobuf"
65
55
  }
66
- },
67
- "match": "\\b([A-Za-z0-9_]+)\\s*=\\s*(\\d+)\\b",
68
- "name": "meta.individual-enum-definition.protobuf"
56
+ }
69
57
  },
70
58
  {
71
59
  "include": "#anywhere_option"
@@ -76,10 +64,7 @@
76
64
  {
77
65
  "include": "#comments"
78
66
  }
79
- ]
80
- },
81
- {
82
- "begin": "\\b(service)\\s+([A-Za-z0-9_]+)\\s*\\{",
67
+ ],
83
68
  "beginCaptures": {
84
69
  "1": {
85
70
  "name": "storage.type.enum.protobuf"
@@ -87,11 +72,16 @@
87
72
  "2": {
88
73
  "name": "entity.name.type.enum.protobuf"
89
74
  }
90
- },
91
- "end": "}",
75
+ }
76
+ },
77
+ {
92
78
  "name": "meta.service-declaration.protobuf",
79
+ "begin": "\\b(service)\\s+([A-Za-z0-9_]+)\\s*\\{",
80
+ "end": "}",
93
81
  "patterns": [
94
82
  {
83
+ "name": "meta.individual-rpc-call.protobuf",
84
+ "match": "\\b(rpc)\\s+([A-Za-z0-9_]+)\\s+\\(([A-Za-z0-9_]+)\\)\\s*(returns)\\s*\\(([A-Za-z0-9_]+)\\)\\s*;",
95
85
  "captures": {
96
86
  "1": {
97
87
  "name": "keyword.other.rpc-definition.protobuf"
@@ -108,22 +98,12 @@
108
98
  "5": {
109
99
  "name": "variable.parameter.response-type.protobuf"
110
100
  }
111
- },
112
- "match": "\\b(rpc)\\s+([A-Za-z0-9_]+)\\s+\\(([A-Za-z0-9_]+)\\)\\s*(returns)\\s*\\(([A-Za-z0-9_]+)\\)\\s*;",
113
- "name": "meta.individual-rpc-call.protobuf"
101
+ }
114
102
  },
115
103
  {
104
+ "name": "meta.method-mofification.protobuf",
116
105
  "begin": "\\b(method)\\s+([A-Za-z0-9_]+)\\s*\\(\\s*\\)\\s*{",
117
- "captures": {
118
- "1": {
119
- "name": "keyword.other.method-modification.protobuf"
120
- },
121
- "2": {
122
- "name": "entity.name.function.protobuf"
123
- }
124
- },
125
106
  "end": "}",
126
- "name": "meta.method-mofification.protobuf",
127
107
  "patterns": [
128
108
  {
129
109
  "include": "#comments"
@@ -134,7 +114,15 @@
134
114
  {
135
115
  "include": "#rpc_primitive_attribute"
136
116
  }
137
- ]
117
+ ],
118
+ "captures": {
119
+ "1": {
120
+ "name": "keyword.other.method-modification.protobuf"
121
+ },
122
+ "2": {
123
+ "name": "entity.name.function.protobuf"
124
+ }
125
+ }
138
126
  },
139
127
  {
140
128
  "include": "#anywhere_option"
@@ -142,9 +130,19 @@
142
130
  {
143
131
  "include": "#comments"
144
132
  }
145
- ]
133
+ ],
134
+ "beginCaptures": {
135
+ "1": {
136
+ "name": "storage.type.enum.protobuf"
137
+ },
138
+ "2": {
139
+ "name": "entity.name.type.enum.protobuf"
140
+ }
141
+ }
146
142
  },
147
143
  {
144
+ "name": "meta.package.protobuf",
145
+ "match": "\\b(package)\\s+([A-Za-z0-9.]+)\\s*;",
148
146
  "captures": {
149
147
  "1": {
150
148
  "name": "keyword.other.package-definition.protobuf"
@@ -152,11 +150,11 @@
152
150
  "2": {
153
151
  "name": "entity.name.section.protobuf"
154
152
  }
155
- },
156
- "match": "\\b(package)\\s+([A-Za-z0-9.]+)\\s*;",
157
- "name": "meta.package.protobuf"
153
+ }
158
154
  },
159
155
  {
156
+ "name": "meta.extension-specification.protobuf",
157
+ "match": "(extensions)\\s+(\\d+)\\s+(to)\\s+(max|\\d+);",
160
158
  "captures": {
161
159
  "1": {
162
160
  "name": "storage.modifier.extensions.protobuf"
@@ -170,9 +168,7 @@
170
168
  "4": {
171
169
  "name": "constant.numeric.protobufs"
172
170
  }
173
- },
174
- "match": "(extensions)\\s+(\\d+)\\s+(to)\\s+(max|\\d+);",
175
- "name": "meta.extension-specification.protobuf"
171
+ }
176
172
  },
177
173
  {
178
174
  "include": "#anywhere_option"
@@ -203,17 +199,17 @@
203
199
  },
204
200
  "anywhere_option": {
205
201
  "begin": "(option)\\s+",
206
- "beginCaptures": {
207
- "1": {
208
- "name": "keyword.other.option.protobuf"
209
- }
210
- },
211
202
  "end": ";",
212
203
  "patterns": [
213
204
  {
214
205
  "include": "#attribute"
215
206
  }
216
- ]
207
+ ],
208
+ "beginCaptures": {
209
+ "1": {
210
+ "name": "keyword.other.option.protobuf"
211
+ }
212
+ }
217
213
  },
218
214
  "attribute": {
219
215
  "patterns": [
@@ -235,12 +231,21 @@
235
231
  ]
236
232
  },
237
233
  "comments": {
234
+ "name": "comment.line.double-slash.protobuf",
238
235
  "begin": "//",
239
- "end": "\\n",
240
- "name": "comment.line.double-slash.protobuf"
236
+ "end": "\\n"
241
237
  },
242
238
  "extend_block": {
243
239
  "begin": "\\b(extend)\\s+([A-Za-z0-9_]+)\\s*\\{",
240
+ "end": "}",
241
+ "patterns": [
242
+ {
243
+ "include": "#any_field"
244
+ },
245
+ {
246
+ "include": "#comments"
247
+ }
248
+ ],
244
249
  "captures": {
245
250
  "1": {
246
251
  "name": "storage.type.extend.protobuf"
@@ -248,7 +253,10 @@
248
253
  "2": {
249
254
  "name": "entity.name.type.message.protobuf"
250
255
  }
251
- },
256
+ }
257
+ },
258
+ "group_field": {
259
+ "begin": "(required|optional|repeated)\\s+(group)\\s+([A-Za-z0-9_]+)\\s*=\\s*(\\d+)\\s*{",
252
260
  "end": "}",
253
261
  "patterns": [
254
262
  {
@@ -257,10 +265,7 @@
257
265
  {
258
266
  "include": "#comments"
259
267
  }
260
- ]
261
- },
262
- "group_field": {
263
- "begin": "(required|optional|repeated)\\s+(group)\\s+([A-Za-z0-9_]+)\\s*=\\s*(\\d+)\\s*{",
268
+ ],
264
269
  "captures": {
265
270
  "1": {
266
271
  "name": "keyword.control.occurrences.protobuf"
@@ -274,18 +279,10 @@
274
279
  "4": {
275
280
  "name": "constant.numeric.field-tag.protobuf"
276
281
  }
277
- },
278
- "end": "}",
279
- "patterns": [
280
- {
281
- "include": "#any_field"
282
- },
283
- {
284
- "include": "#comments"
285
- }
286
- ]
282
+ }
287
283
  },
288
284
  "indiv_attribute": {
285
+ "match": "\\(?([A-Za-z0-9_.]+)\\)?\\s*=\\s*(true|false|\\d+|([A-Z_]+))\\b",
289
286
  "captures": {
290
287
  "1": {
291
288
  "name": "entity.other.attribute-name.protobuf"
@@ -293,10 +290,10 @@
293
290
  "2": {
294
291
  "name": "constant.language.field-option-values.protobuf"
295
292
  }
296
- },
297
- "match": "\\(?([A-Za-z0-9_.]+)\\)?\\s*=\\s*(true|false|\\d+|([A-Z_]+))\\b"
293
+ }
298
294
  },
299
295
  "primitive_field": {
296
+ "match": "(required|optional|repeated)\\s+(((s|u)?int|s?fixed)(32|64)|string|bytes|bool)\\s+(\\S+)\\s*=\\s*(\\d+)",
300
297
  "captures": {
301
298
  "1": {
302
299
  "name": "keyword.control.occurrences.protobuf"
@@ -310,10 +307,10 @@
310
307
  "7": {
311
308
  "name": "constant.numeric.field-tag.protobuf"
312
309
  }
313
- },
314
- "match": "(required|optional|repeated)\\s+(((s|u)?int|s?fixed)(32|64)|string|bytes|bool)\\s+(\\S+)\\s*=\\s*(\\d+)"
310
+ }
315
311
  },
316
312
  "rpc_primitive_attribute": {
313
+ "match": "(option)\\s+\\(?([A-Za-z0-9_.]+)\\)?\\.([A-Za-z0-9.]+)\\s*=\\s*(true|false|\\d+|([A-Z_]+))\\b",
317
314
  "beginCaptures": {
318
315
  "1": {
319
316
  "name": "keyword.other.option.protobuf"
@@ -327,11 +324,12 @@
327
324
  "4": {
328
325
  "name": "constant.numeric.protobuf"
329
326
  }
330
- },
331
- "match": "(option)\\s+\\(?([A-Za-z0-9_.]+)\\)?\\.([A-Za-z0-9.]+)\\s*=\\s*(true|false|\\d+|([A-Z_]+))\\b"
327
+ }
332
328
  },
333
329
  "rpc_string_attribute": {
330
+ "contentName": "string.quoted.double.protobuf",
334
331
  "begin": "(option)\\s+\\(?([A-Za-z0-9_.]+)\\)?\\.([A-Za-z0-9.]+)\\s*=\\s*(\")",
332
+ "end": "(\")",
335
333
  "beginCaptures": {
336
334
  "1": {
337
335
  "name": "keyword.other.option.protobuf"
@@ -346,8 +344,6 @@
346
344
  "name": "string.quoted.double.protobuf"
347
345
  }
348
346
  },
349
- "contentName": "string.quoted.double.protobuf",
350
- "end": "(\")",
351
347
  "endCaptures": {
352
348
  "1": {
353
349
  "name": "string.quoted.double.protobuf"
@@ -355,7 +351,9 @@
355
351
  }
356
352
  },
357
353
  "string_attribute": {
354
+ "contentName": "string.quoted.double.protobuf",
358
355
  "begin": "\\(?([A-Za-z0-9_.]+)\\)?\\s*=\\s*(\")",
356
+ "end": "(\")",
359
357
  "beginCaptures": {
360
358
  "1": {
361
359
  "name": "entity.other.attribute-name.protobuf"
@@ -364,8 +362,6 @@
364
362
  "name": "string.quoted.double.protobuf"
365
363
  }
366
364
  },
367
- "contentName": "string.quoted.double.protobuf",
368
- "end": "(\")",
369
365
  "endCaptures": {
370
366
  "1": {
371
367
  "name": "string.quoted.double.protobuf"
@@ -373,6 +369,7 @@
373
369
  }
374
370
  },
375
371
  "user_defined_message_field": {
372
+ "match": "(required|optional|repeated)\\s+([A-Za-z.]*)\\s+(\\S+)\\s*=\\s*(\\d+)",
376
373
  "captures": {
377
374
  "1": {
378
375
  "name": "keyword.control.occurrences.protobuf"
@@ -386,10 +383,7 @@
386
383
  "4": {
387
384
  "name": "constant.numeric.field-tag.protobuf"
388
385
  }
389
- },
390
- "match": "(required|optional|repeated)\\s+([A-Za-z.]*)\\s+(\\S+)\\s*=\\s*(\\d+)"
386
+ }
391
387
  }
392
- },
393
- "scopeName": "source.protobuf",
394
- "uuid": "D1D0E31F-1807-408E-A184-00F4D0A2619F"
395
- }
388
+ }
389
+ }