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,96 +1,6 @@
1
1
  {
2
2
  "name": "harbour",
3
3
  "scopeName": "source.harbour",
4
- "fileTypes": [
5
- "prg",
6
- "ch",
7
- "hb"
8
- ],
9
- "repository": {
10
- "block_doc_comment": {
11
- "comment": "Block documentation comment",
12
- "name": "comment.block.documentation.harbour",
13
- "begin": "/\\*[!\\*][^\\*]",
14
- "end": "\\*/",
15
- "patterns": [
16
- {
17
- "include": "#block_doc_comment"
18
- },
19
- {
20
- "include": "#block_comment"
21
- }
22
- ]
23
- },
24
- "block_comment": {
25
- "comment": "Block comment",
26
- "name": "comment.block.harbour",
27
- "begin": "/\\*",
28
- "end": "\\*/",
29
- "patterns": [
30
- {
31
- "include": "#block_doc_comment"
32
- },
33
- {
34
- "include": "#block_comment"
35
- }
36
- ]
37
- },
38
- "line_doc_comment": {
39
- "comment": "Single-line documentation comment",
40
- "name": "comment.line.documentation.harbour",
41
- "match": "//[!/][^/].*$"
42
- },
43
- "line_comment": {
44
- "comment": "Single-line comment",
45
- "name": "comment.line.double-slash.harbour",
46
- "match": "//.*$"
47
- },
48
- "line_Ampersand_comment": {
49
- "comment": "Single-line comment",
50
- "name": "comment.line.double-slash.harbour",
51
- "match": "&&.*$"
52
- },
53
- "line_asterisk_comment": {
54
- "comment": "Single-line comment",
55
- "name": "comment.line.star.harbour",
56
- "match": "^\\s*\\*.*$"
57
- },
58
- "line_note_comment": {
59
- "comment": "Single-line note comment",
60
- "name": "comment.line.note.harbour",
61
- "match": "^\\s*NOTE\\s.*$"
62
- },
63
- "escaped_character": {
64
- "name": "constant.character.escape.harbour",
65
- "match": "\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"
66
- },
67
- "sigils": {
68
- "comment": "Sigil",
69
- "name": "keyword.operator.sigil.harbou",
70
- "match": "[@]|[:]{2}|[+]{2}(?=[a-zA-Z0-9_\\(\\[\\|\\\"]+)"
71
- },
72
- "string_literal": {
73
- "comment": "Double-quote string",
74
- "name": "string.quoted.double.harbour",
75
- "begin": "\"",
76
- "end": "\""
77
- },
78
- "std_types": {
79
- "comment": "Standard library type",
80
- "name": "support.class.std.harbour",
81
- "match": "\\b(Vec|StrBuf|Path|Option|Result|Reader|Writer|Stream|Seek|Buffer|IoError|IoResult|Sender|SyncSender|Receiver|Cell|RefCell|Any)\\b"
82
- },
83
- "self": {
84
- "comment": "Self variable",
85
- "name": "variable.self.language.harbour",
86
- "match": "\\b(Self|SELF|self)\\b"
87
- },
88
- "nil": {
89
- "comment": "Nil variable",
90
- "name": "variable.nil.language.harbour",
91
- "match": "\\b(NIL|nil)\\b"
92
- }
93
- },
94
4
  "patterns": [
95
5
  {
96
6
  "include": "#block_doc_comment"
@@ -117,7 +27,6 @@
117
27
  "include": "#sigils"
118
28
  },
119
29
  {
120
- "comment": "Attribute",
121
30
  "name": "meta.attribute.harbour",
122
31
  "begin": "#\\!?\\[",
123
32
  "end": "\\]",
@@ -128,97 +37,79 @@
128
37
  ]
129
38
  },
130
39
  {
131
- "comment": "Single-quote string",
132
40
  "name": "string.quoted.single.harbour",
133
41
  "begin": "'",
134
42
  "end": "'"
135
43
  },
136
44
  {
137
- "comment": "square bracket string",
138
45
  "name": "string.quoted.square.harbour",
139
- "begin": "(?<=\\s|,|\\(|=)\\[",
46
+ "begin": "(?\u003c=\\s|,|\\(|=)\\[",
140
47
  "end": "\\]"
141
48
  },
142
49
  {
143
50
  "include": "#string_literal"
144
51
  },
145
52
  {
146
- "comment": "Floating point number (fraction)",
147
53
  "name": "constant.numeric.float.harbour",
148
54
  "match": "\\b[0-9][0-9_]*\\.[0-9][0-9_]*([eE][+-][0-9_]+)?(f32|f64)?\\b"
149
55
  },
150
56
  {
151
- "comment": "Floating point number (exponent)",
152
57
  "name": "constant.numeric.float.harbour",
153
58
  "match": "\\b[0-9][0-9_]*(\\.[0-9][0-9_]*)?[eE][+-][0-9_]+(f32|f64)?\\b"
154
59
  },
155
60
  {
156
- "comment": "Floating point number (typed)",
157
61
  "name": "constant.numeric.float.harbour",
158
62
  "match": "\\b[0-9][0-9_]*(\\.[0-9][0-9_]*)?([eE][+-][0-9_]+)?(f32|f64)\\b"
159
63
  },
160
64
  {
161
- "comment": "Integer number (decimal)",
162
65
  "name": "constant.numeric.integer.decimal.harbour",
163
66
  "match": "\\b[0-9][0-9_]*([ui](8|16|32|64)?)?\\b"
164
67
  },
165
68
  {
166
- "comment": "Integer number (hexadecimal)",
167
69
  "name": "constant.numeric.integer.hexadecimal.harbour",
168
70
  "match": "\\b0x[a-fA-F0-9_]+([ui](8|16|32|64)?)?\\b"
169
71
  },
170
72
  {
171
- "comment": "Integer number (octal)",
172
73
  "name": "constant.numeric.integer.octal.harbour",
173
74
  "match": "\\b0o[0-7_]+([ui](8|16|32|64)?)?\\b"
174
75
  },
175
76
  {
176
- "comment": "Integer number (binary)",
177
77
  "name": "constant.numeric.integer.binary.harbour",
178
78
  "match": "\\b0b[01_]+([ui](8|16|32|64)?)?\\b"
179
79
  },
180
80
  {
181
- "comment": "Static storage modifier",
182
81
  "name": "storage.modifier.static.harbour",
183
82
  "match": "\\b(static|STATIC|THREAD STATIC)\\b"
184
83
  },
185
84
  {
186
- "comment": "Boolean constant",
187
85
  "name": "constant.language.boolean.harbour",
188
86
  "match": "(TRUE|FALSE|\\.T\\.|\\.F\\.)"
189
87
  },
190
88
  {
191
- "comment": "Keyboard harbour constants",
192
89
  "name": "constant.language.keyboard.harbour",
193
90
  "match": "(K_DOWN|K_PGDN|K_CTRL_PGDN|K_UP|K_PGUP|K_CTRL_PGUP|K_RIGHT|K_LEFT|K_HOME|K_END|K_CTRL_LEFT|K_CTRL_RIGHT|K_CTRL_HOME|K_CTRL_END)"
194
91
  },
195
92
  {
196
- "comment": "variable name hungary notation",
197
93
  "name": "variable.name.hungary.harbour",
198
94
  "match": "\\b(s_)?(mtx)?[a,b,c,d,h,l,n,o,u,x][A-Z][A-Za-z0-9_]*\\b"
199
95
  },
200
96
  {
201
- "comment": "variable name",
202
97
  "name": "variable.name.special.harbour",
203
98
  "match": "\\b_[a-z][A-Za-z0-9_]*|\\s(i|j)\\s\\b"
204
99
  },
205
100
  {
206
- "comment": "Control keyword",
207
101
  "name": "keyword.control.harbour",
208
102
  "match": "\\b(?i)(EXIT|ELSEIF|ELSE|IF|ENDIF|FOR|EACH|IN|TO|STEP|DESCEND|NEXT|LOOP|DO CASE|ENDCASE|SWITCH|CASE|OTHERWISE|ENDSWITCH|RETURN|ENDCLASS|VAR|DATA|INIT|WHILE|DO WHILE|ENDDO|BEGIN SEQUENCE|END SEQUENCE|RECOVER USING|WITH|BREAK|PARAMETERS|END|REQUEST|ANNOUNCE)\\b"
209
103
  },
210
104
  {
211
- "comment": "xBase keywords",
212
105
  "name": "keyword.command.xbase.harbour",
213
106
  "match": "\\b(?i)(GO TOP|SELECT|SAY|GET|PICTURE|SEEK|REPLACE|APPEND BLANK|USE|INDEX ON|TAG)\\b"
214
107
  },
215
108
  {
216
- "comment": "xBase keywords",
217
109
  "name": "keyword.command.xbase.harbour",
218
110
  "match": "\\b(?i)(HSEEK|RREPLACE|START PRINT|ENDPRINT)\\b"
219
111
  },
220
112
  {
221
- "comment": "Keyword",
222
113
  "name": "keyword.other.harbour",
223
114
  "match": "\\b(?i)(LOCAL|PRIVATE|PROTECTED|PUBLIC|FIELD|field|MEMVAR)\\b"
224
115
  },
@@ -241,83 +132,81 @@
241
132
  "include": "#ref_lifetime"
242
133
  },
243
134
  {
244
- "begin": "^\\s*#\\s*(error|warning|stdout)\\b",
245
- "captures": {
246
- "1": {
247
- "name": "keyword.control.import.error.harbour"
248
- }
249
- },
250
- "end": "(?<!\\\\)(?=\\n)",
251
135
  "name": "meta.preprocessor.diagnostic.harbour",
136
+ "begin": "^\\s*#\\s*(error|warning|stdout)\\b",
137
+ "end": "(?\u003c!\\\\)(?=\\n)",
252
138
  "patterns": [
253
139
  {
254
- "match": "(?>\\\\\\s*\\n)",
255
- "name": "punctuation.separator.continuation.harbour"
140
+ "name": "punctuation.separator.continuation.harbour",
141
+ "match": "(?\u003e\\\\\\s*\\n)"
256
142
  }
257
- ]
258
- },
259
- {
260
- "begin": "^\\s*#\\s*(include|require)\\b\\s+",
143
+ ],
261
144
  "captures": {
262
145
  "1": {
263
- "name": "keyword.control.import.include.harbour"
146
+ "name": "keyword.control.import.error.harbour"
264
147
  }
265
- },
266
- "end": "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",
148
+ }
149
+ },
150
+ {
267
151
  "name": "meta.preprocessor.harbour.include",
152
+ "begin": "^\\s*#\\s*(include|require)\\b\\s+",
153
+ "end": "(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)",
268
154
  "patterns": [
269
155
  {
270
- "match": "(?>\\\\\\s*\\n)",
271
- "name": "punctuation.separator.continuation.harbour"
156
+ "name": "punctuation.separator.continuation.harbour",
157
+ "match": "(?\u003e\\\\\\s*\\n)"
272
158
  },
273
159
  {
160
+ "name": "string.quoted.double.include.harbour",
274
161
  "begin": "\"",
162
+ "end": "\"",
275
163
  "beginCaptures": {
276
164
  "0": {
277
165
  "name": "punctuation.definition.string.begin.harbour"
278
166
  }
279
167
  },
280
- "end": "\"",
281
168
  "endCaptures": {
282
169
  "0": {
283
170
  "name": "punctuation.definition.string.end.harbour"
284
171
  }
285
- },
286
- "name": "string.quoted.double.include.harbour"
172
+ }
287
173
  }
288
- ]
289
- },
290
- {
291
- "begin": "(?i)^\\s*#\\s*(define|defined|elif|else|if|ifdef|ifndef|endif|line|pragma|undef|command|xcommand|translate|xtranslate)\\b",
174
+ ],
292
175
  "captures": {
293
176
  "1": {
294
- "name": "keyword.control.import.harbour"
177
+ "name": "keyword.control.import.include.harbour"
295
178
  }
296
- },
297
- "end": "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",
179
+ }
180
+ },
181
+ {
298
182
  "name": "meta.preprocessor.harbour",
183
+ "begin": "(?i)^\\s*#\\s*(define|defined|elif|else|if|ifdef|ifndef|endif|line|pragma|undef|command|xcommand|translate|xtranslate)\\b",
184
+ "end": "(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)",
299
185
  "patterns": [
300
186
  {
301
- "match": "(?>\\\\\\s*\\n)",
302
- "name": "punctuation.separator.continuation.harbour"
187
+ "name": "punctuation.separator.continuation.harbour",
188
+ "match": "(?\u003e\\\\\\s*\\n)"
303
189
  }
304
- ]
190
+ ],
191
+ "captures": {
192
+ "1": {
193
+ "name": "keyword.control.import.harbour"
194
+ }
195
+ }
305
196
  },
306
197
  {
307
- "match": "(:=|-\\>|\\+=|-=)",
308
- "name": "keyword.operator.assignment.harbour"
198
+ "name": "keyword.operator.assignment.harbour",
199
+ "match": "(:=|-\\\u003e|\\+=|-=)"
309
200
  },
310
201
  {
311
- "match": "(\\<|\\<=|\\>=|==|!=|!|\\<\\>|\\>|\\$|\\s\\.OR\\.\\s|\\s\\.AND\\.\\s|\\s\\.NOT\\.\\s)",
312
- "name": "keyword.operator.comparison.harbour"
202
+ "name": "keyword.operator.comparison.harbour",
203
+ "match": "(\\\u003c|\\\u003c=|\\\u003e=|==|!=|!|\\\u003c\\\u003e|\\\u003e|\\$|\\s\\.OR\\.\\s|\\s\\.AND\\.\\s|\\s\\.NOT\\.\\s)"
313
204
  },
314
205
  {
315
- "comment": "Standard library macro",
316
206
  "name": "support.function.std.harbour",
317
207
  "match": "\\b(?i)(log_write|pp|to_str|RTrim|TRIM|Trim|PadR|Padr|PADR|PadC|PadL|Space)!"
318
208
  },
319
209
  {
320
- "comment": "Function call",
321
210
  "match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\(",
322
211
  "captures": {
323
212
  "1": {
@@ -326,7 +215,6 @@
326
215
  }
327
216
  },
328
217
  {
329
- "comment": "Method call",
330
218
  "match": "\\b([a-zA-Z_][a-zA-Z0-9_]*):([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\(",
331
219
  "captures": {
332
220
  "1": {
@@ -335,7 +223,6 @@
335
223
  }
336
224
  },
337
225
  {
338
- "comment": "Class variable usage",
339
226
  "match": "\\b([a-zA-Z_][a-zA-Z0-9_]*):([a-zA-Z_][a-zA-Z0-9_]*)",
340
227
  "captures": {
341
228
  "1": {
@@ -347,9 +234,16 @@
347
234
  }
348
235
  },
349
236
  {
350
- "comment": "Function definition",
351
237
  "begin": "\\b(?i)((?:(?:static|init|exit)\\s+)?(?:func(?:t(?:i(?:o(?:n)?)?)?)?|PROC(?:E(?:D(?:U(?:R(?:E)?)?)?)?)?))\\s+([a-zA-Z_][a-zA-Z0-9_]*)",
352
238
  "end": "[\\n]",
239
+ "patterns": [
240
+ {
241
+ "include": "#type_params"
242
+ },
243
+ {
244
+ "include": "$self"
245
+ }
246
+ ],
353
247
  "beginCaptures": {
354
248
  "1": {
355
249
  "name": "keyword.other.fn.harbour"
@@ -357,7 +251,11 @@
357
251
  "2": {
358
252
  "name": "entity.name.function.harbour"
359
253
  }
360
- },
254
+ }
255
+ },
256
+ {
257
+ "begin": "\\b(?i)((?:CREATE\\s+)?(?:CLASS))\\s+([a-zA-Z_][a-zA-Z0-9_]*)(?:\\s+(INHERIT)\\s+([a-zA-Z_][a-zA-Z0-9_]*))?",
258
+ "end": "[\\n]",
361
259
  "patterns": [
362
260
  {
363
261
  "include": "#type_params"
@@ -365,12 +263,7 @@
365
263
  {
366
264
  "include": "$self"
367
265
  }
368
- ]
369
- },
370
- {
371
- "comment": "CLASS definition",
372
- "begin": "\\b(?i)((?:CREATE\\s+)?(?:CLASS))\\s+([a-zA-Z_][a-zA-Z0-9_]*)(?:\\s+(INHERIT)\\s+([a-zA-Z_][a-zA-Z0-9_]*))?",
373
- "end": "[\\n]",
266
+ ],
374
267
  "beginCaptures": {
375
268
  "1": {
376
269
  "name": "keyword.class.harbour"
@@ -384,7 +277,11 @@
384
277
  "4": {
385
278
  "name": "entity.name.parent.class.harbour"
386
279
  }
387
- },
280
+ }
281
+ },
282
+ {
283
+ "begin": "\\b(?i)(METHOD|STATIC METHOD|METHOD PROCEDURE)\\s+((?:(?:[a-zA-Z_][a-zA-Z0-9_]*):)?(?:[a-zA-Z_][a-zA-Z0-9_]*))",
284
+ "end": "[\\n]",
388
285
  "patterns": [
389
286
  {
390
287
  "include": "#type_params"
@@ -392,12 +289,7 @@
392
289
  {
393
290
  "include": "$self"
394
291
  }
395
- ]
396
- },
397
- {
398
- "comment": "Method definition",
399
- "begin": "\\b(?i)(METHOD|STATIC METHOD|METHOD PROCEDURE)\\s+((?:(?:[a-zA-Z_][a-zA-Z0-9_]*):)?(?:[a-zA-Z_][a-zA-Z0-9_]*))",
400
- "end": "[\\n]",
292
+ ],
401
293
  "beginCaptures": {
402
294
  "1": {
403
295
  "name": "keyword.method.fn.harbour"
@@ -405,7 +297,11 @@
405
297
  "2": {
406
298
  "name": "entity.name.method.harbour"
407
299
  }
408
- },
300
+ }
301
+ },
302
+ {
303
+ "begin": ":",
304
+ "end": "[=;,\\)\\|]",
409
305
  "patterns": [
410
306
  {
411
307
  "include": "#type_params"
@@ -414,19 +310,79 @@
414
310
  "include": "$self"
415
311
  }
416
312
  ]
313
+ }
314
+ ],
315
+ "repository": {
316
+ "block_comment": {
317
+ "name": "comment.block.harbour",
318
+ "begin": "/\\*",
319
+ "end": "\\*/",
320
+ "patterns": [
321
+ {
322
+ "include": "#block_doc_comment"
323
+ },
324
+ {
325
+ "include": "#block_comment"
326
+ }
327
+ ]
417
328
  },
418
- {
419
- "comment": "Variable declaration",
420
- "begin": ":",
421
- "end": "[=;,\\)\\|]",
329
+ "block_doc_comment": {
330
+ "name": "comment.block.documentation.harbour",
331
+ "begin": "/\\*[!\\*][^\\*]",
332
+ "end": "\\*/",
422
333
  "patterns": [
423
334
  {
424
- "include": "#type_params"
335
+ "include": "#block_doc_comment"
425
336
  },
426
337
  {
427
- "include": "$self"
338
+ "include": "#block_comment"
428
339
  }
429
340
  ]
341
+ },
342
+ "escaped_character": {
343
+ "name": "constant.character.escape.harbour",
344
+ "match": "\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"
345
+ },
346
+ "line_Ampersand_comment": {
347
+ "name": "comment.line.double-slash.harbour",
348
+ "match": "\u0026\u0026.*$"
349
+ },
350
+ "line_asterisk_comment": {
351
+ "name": "comment.line.star.harbour",
352
+ "match": "^\\s*\\*.*$"
353
+ },
354
+ "line_comment": {
355
+ "name": "comment.line.double-slash.harbour",
356
+ "match": "//.*$"
357
+ },
358
+ "line_doc_comment": {
359
+ "name": "comment.line.documentation.harbour",
360
+ "match": "//[!/][^/].*$"
361
+ },
362
+ "line_note_comment": {
363
+ "name": "comment.line.note.harbour",
364
+ "match": "^\\s*NOTE\\s.*$"
365
+ },
366
+ "nil": {
367
+ "name": "variable.nil.language.harbour",
368
+ "match": "\\b(NIL|nil)\\b"
369
+ },
370
+ "self": {
371
+ "name": "variable.self.language.harbour",
372
+ "match": "\\b(Self|SELF|self)\\b"
373
+ },
374
+ "sigils": {
375
+ "name": "keyword.operator.sigil.harbou",
376
+ "match": "[@]|[:]{2}|[+]{2}(?=[a-zA-Z0-9_\\(\\[\\|\\\"]+)"
377
+ },
378
+ "std_types": {
379
+ "name": "support.class.std.harbour",
380
+ "match": "\\b(Vec|StrBuf|Path|Option|Result|Reader|Writer|Stream|Seek|Buffer|IoError|IoResult|Sender|SyncSender|Receiver|Cell|RefCell|Any)\\b"
381
+ },
382
+ "string_literal": {
383
+ "name": "string.quoted.double.harbour",
384
+ "begin": "\"",
385
+ "end": "\""
430
386
  }
431
- ]
432
- }
387
+ }
388
+ }