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,16 +1,10 @@
1
1
  {
2
- "fileTypes": [
3
- "fy",
4
- "fancypack",
5
- "Fakefile"
6
- ],
7
- "firstLineMatch": "^#!/.*\\bfancy\\b",
8
- "foldingStartMarker": "/\\*\\*|\\{\\s*$",
9
- "foldingStopMarker": "\\*\\*/|^\\s*\\}",
10
- "keyEquivalent": "^~F",
11
2
  "name": "Fancy",
3
+ "scopeName": "source.fancy",
12
4
  "patterns": [
13
5
  {
6
+ "name": "meta.class.fancy",
7
+ "match": "^\\s*(class)\\s+(([.a-zA-Z0-9_:]+(\\s*(:)\\s*[.a-zA-Z0-9_:\\s]+)?))",
14
8
  "captures": {
15
9
  "1": {
16
10
  "name": "keyword.control.class.fancy"
@@ -27,12 +21,20 @@
27
21
  "6": {
28
22
  "name": "variable.other.object.fancy"
29
23
  }
30
- },
31
- "match": "^\\s*(class)\\s+(([.a-zA-Z0-9_:]+(\\s*(:)\\s*[.a-zA-Z0-9_:\\s]+)?))",
32
- "name": "meta.class.fancy"
24
+ }
33
25
  },
34
26
  {
35
- "begin": "(?x)\n (?=def\\b) # an optimization to help Oniguruma fail fast\n (?<=^|\\s)(def)\\s+ # the def keyword\n (self)\\s+ # a method definition prefix in this case self\n (([a-z]?\\w+[?!]?:?)\n |===|>[>=]?|<=>|<[<=]?|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[\\]|=\\?)\\s+ # the method name\n ",
27
+ "name": "meta.function.method.fancy.self",
28
+ "begin": "(?x)\n (?=def\\b) # an optimization to help Oniguruma fail fast\n (?\u003c=^|\\s)(def)\\s+ # the def keyword\n (self)\\s+ # a method definition prefix in this case self\n (([a-z]?\\w+[?!]?:?)\n |===|\u003e[\u003e=]?|\u003c=\u003e|\u003c[\u003c=]?|[%\u0026`/\\|]|\\*\\*?|=?~|[-+]@?|\\[\\]|=\\?)\\s+ # the method name\n ",
29
+ "end": "$",
30
+ "patterns": [
31
+ {
32
+ "include": "$self"
33
+ },
34
+ {
35
+ "include": "#arg_name"
36
+ }
37
+ ],
36
38
  "beginCaptures": {
37
39
  "1": {
38
40
  "name": "keyword.control.def.fancy"
@@ -43,10 +45,12 @@
43
45
  "3": {
44
46
  "name": "entity.name.function.fancy"
45
47
  }
46
- },
47
- "comment": "fancy method definition, with self as prefix, this rule must be here",
48
+ }
49
+ },
50
+ {
51
+ "name": "meta.function.method.fancy",
52
+ "begin": "(?x)\n (?=def\\b) # an optimization to help Oniguruma fail fast\n (?\u003c=^|\\s)(def)\\s+ # the def keyword\n (((?\u003e[A-Z_-]\\w*(?\u003e\\s+))?)+) # a method definition prefix\n (([a-z]?\\w+[?!]?:?)\n |===|\u003e[\u003e=]?|\u003c=\u003e|\u003c[\u003c=]?|[%\u0026`/\\|]|\\*\\*?|=?~|[-+]@?|\\[\\]|=\\?)\\s+ # the method name\n ",
48
53
  "end": "$",
49
- "name": "meta.function.method.fancy.self",
50
54
  "patterns": [
51
55
  {
52
56
  "include": "$self"
@@ -54,10 +58,7 @@
54
58
  {
55
59
  "include": "#arg_name"
56
60
  }
57
- ]
58
- },
59
- {
60
- "begin": "(?x)\n (?=def\\b) # an optimization to help Oniguruma fail fast\n (?<=^|\\s)(def)\\s+ # the def keyword\n (((?>[A-Z_-]\\w*(?>\\s+))?)+) # a method definition prefix\n (([a-z]?\\w+[?!]?:?)\n |===|>[>=]?|<=>|<[<=]?|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[\\]|=\\?)\\s+ # the method name\n ",
61
+ ],
61
62
  "beginCaptures": {
62
63
  "1": {
63
64
  "name": "keyword.control.def.fancy"
@@ -68,203 +69,177 @@
68
69
  "4": {
69
70
  "name": "entity.name.function.fancy"
70
71
  }
71
- },
72
- "comment": "same as the previous, but with other prefixes class and variable names",
73
- "end": "$",
74
- "name": "meta.function.method.fancy",
75
- "patterns": [
76
- {
77
- "include": "$self"
78
- },
79
- {
80
- "include": "#arg_name"
81
- }
82
- ]
72
+ }
83
73
  },
84
74
  {
75
+ "name": "meta.require.fancy",
85
76
  "begin": "\\b(require:)",
86
- "captures": {
87
- "1": {
88
- "name": "keyword.other.special-method.fancy"
89
- }
90
- },
91
77
  "end": "$|(?=#)",
92
- "name": "meta.require.fancy",
93
78
  "patterns": [
94
79
  {
95
80
  "include": "$self"
96
81
  }
97
- ]
98
- },
99
- {
100
- "begin": "\\b(include:)",
82
+ ],
101
83
  "captures": {
102
84
  "1": {
103
85
  "name": "keyword.other.special-method.fancy"
104
86
  }
105
- },
106
- "end": "$|(?=#)",
87
+ }
88
+ },
89
+ {
107
90
  "name": "meta.include.fancy",
91
+ "begin": "\\b(include:)",
92
+ "end": "$|(?=#)",
108
93
  "patterns": [
109
94
  {
110
95
  "include": "$self"
111
96
  }
112
- ]
97
+ ],
98
+ "captures": {
99
+ "1": {
100
+ "name": "keyword.other.special-method.fancy"
101
+ }
102
+ }
113
103
  },
114
104
  {
115
- "comment": "Control flow keywords that aren't regular messages.",
116
- "match": "\\b(return|return_local|match|case|try|catch|finally|retry)\\b:?",
117
- "name": "keyword.control.fancy"
105
+ "name": "keyword.control.fancy",
106
+ "match": "\\b(return|return_local|match|case|try|catch|finally|retry)\\b:?"
118
107
  },
119
108
  {
109
+ "name": "meta.message.fancy",
110
+ "match": "([a-z_-]\\w*[?!]?:)",
120
111
  "captures": {
121
112
  "0": {
122
113
  "name": "entity.name.function.fancy"
123
114
  }
124
- },
125
- "match": "([a-z_-]\\w*[?!]?:)",
126
- "name": "meta.message.fancy"
115
+ }
127
116
  },
128
117
  {
129
- "match": "\\b(false|nil|true)\\b(?![?!])",
130
- "name": "constant.language.fancy"
118
+ "name": "constant.language.fancy",
119
+ "match": "\\b(false|nil|true)\\b(?![?!])"
131
120
  },
132
121
  {
122
+ "name": "constant.other.symbol.fancy",
123
+ "match": "'([^'\\s\\[\\]\\(\\)\\{\\},]+|\\[\\])",
133
124
  "captures": {
134
125
  "0": {
135
126
  "name": "punctuation.definition.constant.fancy"
136
127
  }
137
- },
138
- "comment": "Symbol literals",
139
- "match": "'([^'\\s\\[\\]\\(\\)\\{\\},]+|\\[\\])",
140
- "name": "constant.other.symbol.fancy"
128
+ }
141
129
  },
142
130
  {
131
+ "name": "constant.other.dynvar.fancy",
132
+ "match": "\\*[a-zA-Z0-9_-]+\\*",
143
133
  "captures": {
144
134
  "0": {
145
135
  "name": "punctuation.definition.constant.fancy"
146
136
  }
147
- },
148
- "comment": "Dynamic variable literals",
149
- "match": "\\*[a-zA-Z0-9_-]+\\*",
150
- "name": "constant.other.dynvar.fancy"
137
+ }
151
138
  },
152
139
  {
153
- "comment": "Pseudo variables",
154
- "match": "\\b(__(FILE|LINE)__|self|super)\\b(?![?!])",
155
- "name": "constant.language.fancy"
140
+ "name": "constant.language.fancy",
141
+ "match": "\\b(__(FILE|LINE)__|self|super)\\b(?![?!])"
156
142
  },
157
143
  {
158
- "comment": "Constant names like class names, constants",
159
- "match": "\\b[A-Z]\\w*\\b",
160
- "name": "variable.other.constant.fancy"
144
+ "name": "variable.other.constant.fancy",
145
+ "match": "\\b[A-Z]\\w*\\b"
161
146
  },
162
147
  {
148
+ "name": "variable.other.readwrite.instance.fancy",
149
+ "match": "(@)[a-zA-Z_]\\w*",
163
150
  "captures": {
164
151
  "1": {
165
152
  "name": "punctuation.definition.variable.fancy"
166
153
  }
167
- },
168
- "comment": "Instance variables",
169
- "match": "(@)[a-zA-Z_]\\w*",
170
- "name": "variable.other.readwrite.instance.fancy"
154
+ }
171
155
  },
172
156
  {
157
+ "name": "variable.other.readwrite.class.fancy",
158
+ "match": "(@@)[a-zA-Z_]\\w*",
173
159
  "captures": {
174
160
  "1": {
175
161
  "name": "punctuation.definition.variable.fancy"
176
162
  }
177
- },
178
- "comment": "Class variables",
179
- "match": "(@@)[a-zA-Z_]\\w*",
180
- "name": "variable.other.readwrite.class.fancy"
163
+ }
181
164
  },
182
165
  {
166
+ "name": "punctuation.section.hash.fancy",
167
+ "match": "(\u003c\\[|\\]\u003e)",
183
168
  "captures": {
184
169
  "1": {
185
170
  "name": "punctuation.section.array.fancy"
186
171
  }
187
- },
188
- "comment": "Hash literals, this should be here to take precedence over <> operators",
189
- "match": "(<\\[|\\]>)",
190
- "name": "punctuation.section.hash.fancy"
172
+ }
191
173
  },
192
174
  {
175
+ "name": "string.regexp.classic.fancy",
176
+ "match": "(/[^/]*/)",
193
177
  "captures": {
194
178
  "1": {
195
179
  "name": "string.regexp.classic.fancy"
196
180
  }
197
- },
198
- "comment": "Regexp literals",
199
- "match": "(/[^/]*/)",
200
- "name": "string.regexp.classic.fancy"
181
+ }
201
182
  },
202
183
  {
203
- "comment": "Assingnment operators",
204
- "match": "<<=|%=|&=|\\*=|\\*\\*=|\\+=|\\-=|\\^=|\\|{1,2}=|<<",
205
- "name": "keyword.operator.assignment.augmented.fancy"
184
+ "name": "keyword.operator.assignment.augmented.fancy",
185
+ "match": "\u003c\u003c=|%=|\u0026=|\\*=|\\*\\*=|\\+=|\\-=|\\^=|\\|{1,2}=|\u003c\u003c"
206
186
  },
207
187
  {
208
- "comment": "Comparison operators",
209
- "match": "<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \\t])\\?",
210
- "name": "keyword.operator.comparison.fancy"
188
+ "name": "keyword.operator.comparison.fancy",
189
+ "match": "\u003c=\u003e|\u003c(?!\u003c|=)|\u003e(?!\u003c|=|\u003e)|\u003c=|\u003e=|===|==|=~|!=|!~|(?\u003c=[ \\t])\\?"
211
190
  },
212
191
  {
213
- "comment": "Logical operators",
214
- "match": "\\b(not|and|or)\\b:|(?<=[ \\t])!+|&&|\\|\\||\\^",
215
- "name": "keyword.operator.logical.fancy"
192
+ "name": "keyword.operator.logical.fancy",
193
+ "match": "\\b(not|and|or)\\b:|(?\u003c=[ \\t])!+|\u0026\u0026|\\|\\||\\^"
216
194
  },
217
195
  {
218
- "comment": "Arithmetic operators",
219
- "match": "(%|&|\\*\\*|\\*|\\+|\\-|/)",
220
- "name": "keyword.operator.arithmetic.fancy"
196
+ "name": "keyword.operator.arithmetic.fancy",
197
+ "match": "(%|\u0026|\\*\\*|\\*|\\+|\\-|/)"
221
198
  },
222
199
  {
223
- "match": "=",
224
- "name": "keyword.operator.assignment.fancy"
200
+ "name": "keyword.operator.assignment.fancy",
201
+ "match": "="
225
202
  },
226
203
  {
227
- "match": "\\;",
228
- "name": "punctuation.separator.statement.fancy"
204
+ "name": "punctuation.separator.statement.fancy",
205
+ "match": "\\;"
229
206
  },
230
207
  {
231
- "match": ",",
232
- "name": "punctuation.separator.object.fancy"
208
+ "name": "punctuation.separator.object.fancy",
209
+ "match": ","
233
210
  },
234
211
  {
235
- "match": "\\s",
236
- "name": "punctuation.separator.method.ruby"
212
+ "name": "punctuation.separator.method.ruby",
213
+ "match": "\\s"
237
214
  },
238
215
  {
239
- "match": "\\[|\\]",
240
- "name": "punctuation.section.array.fancy"
216
+ "name": "punctuation.section.array.fancy",
217
+ "match": "\\[|\\]"
241
218
  },
242
219
  {
220
+ "name": "string.quoted.double.fancy",
243
221
  "begin": "\"",
244
222
  "end": "\"",
245
- "name": "string.quoted.double.fancy",
246
223
  "patterns": [
247
224
  {
248
- "match": "\\\\.",
249
- "name": "constant.character.escape.fancy"
225
+ "name": "constant.character.escape.fancy",
226
+ "match": "\\\\."
250
227
  }
251
228
  ]
252
229
  },
253
230
  {
254
- "match": "(?:^[ \\t]+)?(#).*$\\n?",
255
- "name": "comment.line.number-sign.fancy"
231
+ "name": "comment.line.number-sign.fancy",
232
+ "match": "(?:^[ \\t]+)?(#).*$\\n?"
256
233
  },
257
234
  {
258
- "match": "\\b(0[xX][0-9A-Fa-f](?>_?[0-9A-Fa-f])*|\\d(?>_?\\d)*(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)?([eE][-+]?\\d(?>_?\\d)*)?|0[bB][01]+)\\b",
259
- "name": "constant.numeric.fancy"
235
+ "name": "constant.numeric.fancy",
236
+ "match": "\\b(0[xX][0-9A-Fa-f](?\u003e_?[0-9A-Fa-f])*|\\d(?\u003e_?\\d)*(\\.(?![^[:space:][:digit:]])(?\u003e_?\\d)*)?([eE][-+]?\\d(?\u003e_?\\d)*)?|0[bB][01]+)\\b"
260
237
  }
261
238
  ],
262
239
  "repository": {
263
240
  "arg_name": {
264
- "match": "([a-z_-]\\w*:)",
265
- "name": "entity.name.function.fancy"
241
+ "name": "entity.name.function.fancy",
242
+ "match": "([a-z_-]\\w*:)"
266
243
  }
267
- },
268
- "scopeName": "source.fancy",
269
- "uuid": "866B0ECA-ACF9-480B-A724-F20E966AA3BF"
270
- }
244
+ }
245
+ }
@@ -1,57 +1,39 @@
1
1
  {
2
- "fileTypes": [
3
- "fish"
4
- ],
5
- "firstLineMatch": "^#!.*(fish)",
6
- "foldingStartMarker": "^\\s*(function|while|if|switch|for)\\s.*$",
7
- "foldingStopMarker": "^\\s*end\\s*$",
8
- "keyEquivalent": "^~F",
9
2
  "name": "fish",
3
+ "scopeName": "source.fish",
10
4
  "patterns": [
11
5
  {
6
+ "name": "string.quoted.double.fish",
12
7
  "begin": "\"",
13
- "beginCaptures": {
14
- "0": {
15
- "name": "punctuation.definition.string.begin.fish"
16
- }
17
- },
18
- "comment": "Single quoted string",
19
8
  "end": "\"",
20
- "endCaptures": {
21
- "0": {
22
- "name": "punctuation.definition.string.end.fish"
23
- }
24
- },
25
- "name": "string.quoted.double.fish",
26
9
  "patterns": [
27
10
  {
28
- "match": "\\\\\\\"|\\\\\\$|\\\\\\\\",
29
- "name": "constant.character.escape.fish"
11
+ "name": "constant.character.escape.fish",
12
+ "match": "\\\\\\\"|\\\\\\$|\\\\\\\\"
30
13
  },
31
14
  {
32
15
  "include": "#variable"
33
16
  }
34
- ]
35
- },
36
- {
37
- "begin": "'",
17
+ ],
38
18
  "beginCaptures": {
39
19
  "0": {
40
20
  "name": "punctuation.definition.string.begin.fish"
41
21
  }
42
22
  },
43
- "comment": "single quoted string",
44
- "end": "'",
45
23
  "endCaptures": {
46
24
  "0": {
47
25
  "name": "punctuation.definition.string.end.fish"
48
26
  }
49
- },
27
+ }
28
+ },
29
+ {
50
30
  "name": "string.quoted.single.fish",
31
+ "begin": "'",
32
+ "end": "'",
51
33
  "patterns": [
52
34
  {
53
- "match": "\\\\'|\\\\",
54
- "name": "constant.character.escape.fish"
35
+ "name": "constant.character.escape.fish",
36
+ "match": "\\\\'|\\\\"
55
37
  },
56
38
  {
57
39
  "include": "#variable"
@@ -59,67 +41,70 @@
59
41
  {
60
42
  "include": "#escape"
61
43
  }
62
- ]
44
+ ],
45
+ "beginCaptures": {
46
+ "0": {
47
+ "name": "punctuation.definition.string.begin.fish"
48
+ }
49
+ },
50
+ "endCaptures": {
51
+ "0": {
52
+ "name": "punctuation.definition.string.end.fish"
53
+ }
54
+ }
63
55
  },
64
56
  {
57
+ "name": "comment.line.number-sign.fish",
58
+ "match": "(?\u003c!\\$)(#)(?!\\{).*$\\n?",
65
59
  "captures": {
66
60
  "1": {
67
61
  "name": "punctuation.definition.comment.fish"
68
62
  }
69
- },
70
- "comment": "line comment",
71
- "match": "(?<!\\$)(#)(?!\\{).*$\\n?",
72
- "name": "comment.line.number-sign.fish"
63
+ }
73
64
  },
74
65
  {
75
- "comment": "control structures requiring an end",
76
- "match": "(?<!\\.)\\b(function|while|if|else|switch|for|in|end)\\b(?![?!])",
77
- "name": "keyword.control.fish"
66
+ "name": "keyword.control.fish",
67
+ "match": "(?\u003c!\\.)\\b(function|while|if|else|switch|for|in|end)\\b(?![?!])"
78
68
  },
79
69
  {
80
- "match": "(?<!\\.)\\bfunction\\b(?![?!])",
81
- "name": "storage.type.fish"
70
+ "name": "storage.type.fish",
71
+ "match": "(?\u003c!\\.)\\bfunction\\b(?![?!])"
82
72
  },
83
73
  {
84
- "match": "\\|",
85
- "name": "keyword.operator.pipe.fish"
74
+ "name": "keyword.operator.pipe.fish",
75
+ "match": "\\|"
86
76
  },
87
77
  {
88
- "comment": "IO Redirection",
89
- "match": "(?x:\n\t\t\t<|\t\t\t\t# Standard Input\n\t\t\t(>|\\^|>>|\\^\\^)(&[012\\-])?| # Redirection of stdout/stderr\n\t\t\t[012](<|>|>>)(&[012\\-])? # Redirect input/output of file descriptors\n\t\t\t)",
90
- "name": "keyword.operator.redirect.fish"
78
+ "name": "keyword.operator.redirect.fish",
79
+ "match": "(?x:\n\t\t\t\u003c|\t\t\t\t# Standard Input\n\t\t\t(\u003e|\\^|\u003e\u003e|\\^\\^)(\u0026[012\\-])?| # Redirection of stdout/stderr\n\t\t\t[012](\u003c|\u003e|\u003e\u003e)(\u0026[012\\-])? # Redirect input/output of file descriptors\n\t\t\t)"
91
80
  },
92
81
  {
93
- "match": "&",
94
- "name": "keyword.operator.background.fish"
82
+ "name": "keyword.operator.background.fish",
83
+ "match": "\u0026"
95
84
  },
96
85
  {
97
- "match": "\\*\\*|\\*|\\?",
98
- "name": "keyword.operator.glob.fish"
86
+ "name": "keyword.operator.glob.fish",
87
+ "match": "\\*\\*|\\*|\\?"
99
88
  },
100
89
  {
90
+ "match": "\\s(-{1,2}[a-zA-Z_\\-0-9]+|-\\w)\\b",
101
91
  "captures": {
102
92
  "1": {
103
93
  "name": "string.other.option.fish"
104
94
  }
105
- },
106
- "comment": "command short/long options",
107
- "match": "\\s(-{1,2}[a-zA-Z_\\-0-9]+|-\\w)\\b"
95
+ }
108
96
  },
109
97
  {
110
- "comment": "builtin shellscript functions",
111
- "match": "(?x)\\b(\n\t\t\t_|__fish_append|__fish_bind_test1|__fish_bind_test2|__fish_commandline_test|\n\t\t\t__fish_complete_ant_targets|__fish_complete_bittorrent|__fish_complete_cd|\n\t\t\t__fish_complete_command|__fish_complete_directories|__fish_complete_file_url|\n\t\t\t__fish_complete_groups|__fish_complete_ls|__fish_complete_man|\n\t\t\t__fish_complete_mime|__fish_complete_pids|__fish_complete_ssh|\n\t\t\t__fish_complete_subcommand|__fish_complete_subcommand_root|\n\t\t\t__fish_complete_suffix|__fish_complete_tar|__fish_complete_tex|\n\t\t\t__fish_complete_unrar|__fish_complete_users|__fish_complete_vi|\n\t\t\t__fish_config_interactive|__fish_contains_opt|__fish_crux_packages|\n\t\t\t__fish_describe_command|__fish_filter_ant_targets|__fish_filter_mime|\n\t\t\t__fish_gnu_complete|__fish_is_first_token|__fish_list_current_token|\n\t\t\t__fish_move_last|__fish_no_arguments|__fish_not_contain_opt|__fish_paginate|\n\t\t\t__fish_ports_dirs|__fish_print_addresses|__fish_print_encodings|\n\t\t\t__fish_print_filesystems|__fish_print_function_prototypes|__fish_print_help|\n\t\t\t__fish_print_hostnames|__fish_print_interfaces|__fish_print_make_targets|\n\t\t\t__fish_print_packages|__fish_print_users|__fish_prt_no_subcommand|\n\t\t\t__fish_prt_packages|__fish_prt_ports|__fish_prt_use_package|\n\t\t\t__fish_prt_use_port|__fish_reload_key_bindings|__fish_repaint|\n\t\t\t__fish_repaint_root|__fish_seen_subcommand_from|__fish_test_arg|\n\t\t\t__fish_use_subcommand|__fish_winch_handler|alias|cd|delete-or-exit|dirh|\n\t\t\tdirs|down-or-search|eval|fish_default_key_bindings|fish_on_exit|\n\t\t\tfish_prompt|fish_sigtrap_handler|funced|funcsave|grep|help|isatty|la|ll|\n\t\t\tls|math|N_|nextd|nextd-or-forward-word|open|popd|prevd|\n\t\t\tprevd-or-backward-word|prompt_pwd|psub|pushd|pwd|setenv|sgrep|trap|type|\n\t\t\tumask|up-or-search|vared\n\t\t\t)\\b",
112
- "name": "support.function.script.fish"
98
+ "name": "support.function.script.fish",
99
+ "match": "(?x)\\b(\n\t\t\t_|__fish_append|__fish_bind_test1|__fish_bind_test2|__fish_commandline_test|\n\t\t\t__fish_complete_ant_targets|__fish_complete_bittorrent|__fish_complete_cd|\n\t\t\t__fish_complete_command|__fish_complete_directories|__fish_complete_file_url|\n\t\t\t__fish_complete_groups|__fish_complete_ls|__fish_complete_man|\n\t\t\t__fish_complete_mime|__fish_complete_pids|__fish_complete_ssh|\n\t\t\t__fish_complete_subcommand|__fish_complete_subcommand_root|\n\t\t\t__fish_complete_suffix|__fish_complete_tar|__fish_complete_tex|\n\t\t\t__fish_complete_unrar|__fish_complete_users|__fish_complete_vi|\n\t\t\t__fish_config_interactive|__fish_contains_opt|__fish_crux_packages|\n\t\t\t__fish_describe_command|__fish_filter_ant_targets|__fish_filter_mime|\n\t\t\t__fish_gnu_complete|__fish_is_first_token|__fish_list_current_token|\n\t\t\t__fish_move_last|__fish_no_arguments|__fish_not_contain_opt|__fish_paginate|\n\t\t\t__fish_ports_dirs|__fish_print_addresses|__fish_print_encodings|\n\t\t\t__fish_print_filesystems|__fish_print_function_prototypes|__fish_print_help|\n\t\t\t__fish_print_hostnames|__fish_print_interfaces|__fish_print_make_targets|\n\t\t\t__fish_print_packages|__fish_print_users|__fish_prt_no_subcommand|\n\t\t\t__fish_prt_packages|__fish_prt_ports|__fish_prt_use_package|\n\t\t\t__fish_prt_use_port|__fish_reload_key_bindings|__fish_repaint|\n\t\t\t__fish_repaint_root|__fish_seen_subcommand_from|__fish_test_arg|\n\t\t\t__fish_use_subcommand|__fish_winch_handler|alias|cd|delete-or-exit|dirh|\n\t\t\tdirs|down-or-search|eval|fish_default_key_bindings|fish_on_exit|\n\t\t\tfish_prompt|fish_sigtrap_handler|funced|funcsave|grep|help|isatty|la|ll|\n\t\t\tls|math|N_|nextd|nextd-or-forward-word|open|popd|prevd|\n\t\t\tprevd-or-backward-word|prompt_pwd|psub|pushd|pwd|setenv|sgrep|trap|type|\n\t\t\tumask|up-or-search|vared\n\t\t\t)\\b"
113
100
  },
114
101
  {
115
- "comment": "builtin commands listed by builtin -n",
116
- "match": "(?x)\\b(\n\t\t\t\\s\\.\\s|and|begin|bg|bind|block|break|breakpoint|builtin|case|cd|command|\n\t\t\tcommandline|complete|contains|continue|count|else|emit|end|exec|exit|\n\t\t\tfg|for|function|functions|if|jobs|not|or|random|read|return|set|\n\t\t\tstatus|switch|ulimit|while\n\t\t\t)\\b",
117
- "name": "support.function.builtin.fish"
102
+ "name": "support.function.builtin.fish",
103
+ "match": "(?x)\\b(\n\t\t\t\\s\\.\\s|and|begin|bg|bind|block|break|breakpoint|builtin|case|cd|command|\n\t\t\tcommandline|complete|contains|continue|count|else|emit|end|exec|exit|\n\t\t\tfg|for|function|functions|if|jobs|not|or|random|read|return|set|\n\t\t\tstatus|switch|ulimit|while\n\t\t\t)\\b"
118
104
  },
119
105
  {
120
- "comment": "standard Unix utilities as specified in IEEE Std 1003.1 (2004 edition)",
121
- "match": "(?x)\\b(\n\t\t\tadmin|alias|ar|asa|at|awk|basename|batch|bc|bg|break|c99|cal|cat|\n\t\t\tcd|cflow|chgrp|chmod|chown|cksum|cmp|colon|comm|command|compress|\n\t\t\tcontinue|cp|crontab|csplit|ctags|cut|cxref|date|dd|delta|df|diff|\n\t\t\tdirname|dot|du|echo|ed|env|eval|ex|exec|exit|expand|export|expr|\n\t\t\tfalse|fc|fg|file|find|fold|fort77|fuser|gencat|get|getconf|getopts|\n\t\t\tgrep|hash|head|iconv|id|ipcrm|ipcs|jobs|join|kill|lex|link|ln|\n\t\t\tlocale|localedef|logger|logname|lp|ls|m4|mailx|make|man|mesg|mkdir|\n\t\t\tmkfifo|more|mv|newgrp|nice|nl|nm|nohup|od|paste|patch|pathchk|pax|\n\t\t\tpr|printf|prs|ps|pwd|qalter|qdel|qhold|qmove|qmsg|qrerun|qrls|\n\t\t\tqselect|qsig|qstat|qsub|read|readonly|renice|return|rm|rmdel|rmdir|\n\t\t\tsact|sccs|sed|set|sh|shift|sleep|sort|split|strings|strip|stty|tabs|\n\t\t\ttail|talk|tee|test|time|times|touch|tput|tr|trap|true|tsort|tty|\n\t\t\ttype|ulimit|umask|unalias|uname|uncompress|unexpand|unget|uniq|unlink|\n\t\t\tunset|uucp|uudecode|uuencode|uustat|uux|val|vi|wait|wc|what|who|\n\t\t\twrite|xargs|yacc|zcat\n\t\t\t)\\b",
122
- "name": "support.function.unix.fish"
106
+ "name": "support.function.unix.fish",
107
+ "match": "(?x)\\b(\n\t\t\tadmin|alias|ar|asa|at|awk|basename|batch|bc|bg|break|c99|cal|cat|\n\t\t\tcd|cflow|chgrp|chmod|chown|cksum|cmp|colon|comm|command|compress|\n\t\t\tcontinue|cp|crontab|csplit|ctags|cut|cxref|date|dd|delta|df|diff|\n\t\t\tdirname|dot|du|echo|ed|env|eval|ex|exec|exit|expand|export|expr|\n\t\t\tfalse|fc|fg|file|find|fold|fort77|fuser|gencat|get|getconf|getopts|\n\t\t\tgrep|hash|head|iconv|id|ipcrm|ipcs|jobs|join|kill|lex|link|ln|\n\t\t\tlocale|localedef|logger|logname|lp|ls|m4|mailx|make|man|mesg|mkdir|\n\t\t\tmkfifo|more|mv|newgrp|nice|nl|nm|nohup|od|paste|patch|pathchk|pax|\n\t\t\tpr|printf|prs|ps|pwd|qalter|qdel|qhold|qmove|qmsg|qrerun|qrls|\n\t\t\tqselect|qsig|qstat|qsub|read|readonly|renice|return|rm|rmdel|rmdir|\n\t\t\tsact|sccs|sed|set|sh|shift|sleep|sort|split|strings|strip|stty|tabs|\n\t\t\ttail|talk|tee|test|time|times|touch|tput|tr|trap|true|tsort|tty|\n\t\t\ttype|ulimit|umask|unalias|uname|uncompress|unexpand|unget|uniq|unlink|\n\t\t\tunset|uucp|uudecode|uuencode|uustat|uux|val|vi|wait|wc|what|who|\n\t\t\twrite|xargs|yacc|zcat\n\t\t\t)\\b"
123
108
  },
124
109
  {
125
110
  "include": "#variable"
@@ -132,83 +117,74 @@
132
117
  "escape": {
133
118
  "patterns": [
134
119
  {
135
- "comment": "single character character escape sequences",
136
- "match": "\\\\(a|b|e|f|n|r|t|v|\\s|\\$|\\\\|\\*|\\?|~|\\%|#|(|)|{|}|\\[|\\]|<|>|\\^)",
137
- "name": "constant.character.escape.single.fish"
120
+ "name": "constant.character.escape.single.fish",
121
+ "match": "\\\\(a|b|e|f|n|r|t|v|\\s|\\$|\\\\|\\*|\\?|~|\\%|#|(|)|{|}|\\[|\\]|\u003c|\u003e|\\^)"
138
122
  },
139
123
  {
140
- "comment": "escapes the ascii character with the specified value (hexadecimal)",
141
- "match": "\\\\x[0-9a-fA-F]{2}",
142
- "name": "constant.character.escape.hex-ascii.fish"
124
+ "name": "constant.character.escape.hex-ascii.fish",
125
+ "match": "\\\\x[0-9a-fA-F]{2}"
143
126
  },
144
127
  {
145
- "comment": "escapes a byte of data with the specified value (hexadecimal). \n\t\t\t\t\tIf you are using a mutibyte encoding, this can be used to enter invalid strings. \n\t\t\t\t\tOnly use this if you know what you are doing.",
146
- "match": "\\\\X[0-9a-fA-F]{2}",
147
- "name": "constant.character.escape.hex-byte.fish"
128
+ "name": "constant.character.escape.hex-byte.fish",
129
+ "match": "\\\\X[0-9a-fA-F]{2}"
148
130
  },
149
131
  {
150
- "comment": "escapes the ascii character with the specified value (octal)",
151
- "match": "\\\\[0-9]{3}",
152
- "name": "constant.character.escape.octal.fish"
132
+ "name": "constant.character.escape.octal.fish",
133
+ "match": "\\\\[0-9]{3}"
153
134
  },
154
135
  {
155
- "comment": "escapes the 16-bit unicode character with the specified value (hexadecimal)",
156
- "match": "\\\\u[0-9a-fA-F]{4}",
157
- "name": "constant.character.escape.unicode-16-bit.fish"
136
+ "name": "constant.character.escape.unicode-16-bit.fish",
137
+ "match": "\\\\u[0-9a-fA-F]{4}"
158
138
  },
159
139
  {
160
- "comment": "escapes the 32-bit unicode character with the specified value (hexadecimal)",
161
- "match": "\\\\U[0-9a-fA-F]{8}",
162
- "name": "constant.character.escape.unicode-32-bit.fish"
140
+ "name": "constant.character.escape.unicode-32-bit.fish",
141
+ "match": "\\\\U[0-9a-fA-F]{8}"
163
142
  },
164
143
  {
165
- "comment": "escapes the control sequence generated by pressing the control key and the specified letter",
166
- "match": "\\\\c[a-zA-Z]",
167
- "name": "constant.character.escape.control.fish"
144
+ "name": "constant.character.escape.control.fish",
145
+ "match": "\\\\c[a-zA-Z]"
168
146
  }
169
147
  ]
170
148
  },
171
149
  "variable": {
172
150
  "patterns": [
173
151
  {
152
+ "name": "variable.other.special.fish",
153
+ "match": "(?x)(\\$)(BROWSER|CDPATH|fish_greeting|LANG|LC_ALL|LC_COLLATE|\n\t\t\t\t\t\t\t\t\tLC_CTYPE|LC_MESSAGES|LC_MONETARY|LC_NUMERIC|LC_TIME|PATH|\n\t\t\t\t\t\t\t\t\tumask|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|\n\t\t\t\t\t\t\t\t\tfish_color_error|fish_color_escape|fish_color_history_current|\n\t\t\t\t\t\t\t\t\tfish_color_match|fish_color_normal|fish_color_operator|fish_color_quote|\n\t\t\t\t\t\t\t\t\tfish_color_redirection|fish_color_search_match|fish_color_valid_path|\n\t\t\t\t\t\t\t\t\tfish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|\n\t\t\t\t\t\t\t\t\tfish_pager_color_completion|fish_pager_color_description|\n\t\t\t\t\t\t\t\t\tfish_pager_color_prefix|fish_pager_color_progress)",
174
154
  "captures": {
175
155
  "1": {
176
156
  "name": "punctuation.definition.variable.fish"
177
157
  }
178
- },
179
- "match": "(?x)(\\$)(BROWSER|CDPATH|fish_greeting|LANG|LC_ALL|LC_COLLATE|\n\t\t\t\t\t\t\t\t\tLC_CTYPE|LC_MESSAGES|LC_MONETARY|LC_NUMERIC|LC_TIME|PATH|\n\t\t\t\t\t\t\t\t\tumask|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|\n\t\t\t\t\t\t\t\t\tfish_color_error|fish_color_escape|fish_color_history_current|\n\t\t\t\t\t\t\t\t\tfish_color_match|fish_color_normal|fish_color_operator|fish_color_quote|\n\t\t\t\t\t\t\t\t\tfish_color_redirection|fish_color_search_match|fish_color_valid_path|\n\t\t\t\t\t\t\t\t\tfish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|\n\t\t\t\t\t\t\t\t\tfish_pager_color_completion|fish_pager_color_description|\n\t\t\t\t\t\t\t\t\tfish_pager_color_prefix|fish_pager_color_progress)",
180
- "name": "variable.other.special.fish"
158
+ }
181
159
  },
182
160
  {
161
+ "name": "variable.other.fixed.fish",
162
+ "match": "(\\$)(_|argv|history|HOME|PWD|status|USER)",
183
163
  "captures": {
184
164
  "1": {
185
165
  "name": "punctuation.definition.variable.fish"
186
166
  }
187
- },
188
- "match": "(\\$)(_|argv|history|HOME|PWD|status|USER)",
189
- "name": "variable.other.fixed.fish"
167
+ }
190
168
  },
191
169
  {
170
+ "name": "variable.other.fish.fish",
171
+ "match": "(\\$)__(fish|FISH)[a-zA-Z_][a-zA-Z0-9_]*",
192
172
  "captures": {
193
173
  "1": {
194
174
  "name": "punctuation.definition.variable.fish"
195
175
  }
196
- },
197
- "match": "(\\$)__(fish|FISH)[a-zA-Z_][a-zA-Z0-9_]*",
198
- "name": "variable.other.fish.fish"
176
+ }
199
177
  },
200
178
  {
179
+ "name": "variable.other.normal.fish",
180
+ "match": "(\\$)[a-zA-Z_][a-zA-Z0-9_]*",
201
181
  "captures": {
202
182
  "1": {
203
183
  "name": "punctuation.definition.variable.fish"
204
184
  }
205
- },
206
- "match": "(\\$)[a-zA-Z_][a-zA-Z0-9_]*",
207
- "name": "variable.other.normal.fish"
185
+ }
208
186
  }
209
187
  ]
210
188
  }
211
- },
212
- "scopeName": "source.fish",
213
- "uuid": "9CA6DB6F-A16F-4836-A058-617C7378775D"
214
- }
189
+ }
190
+ }