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,13 @@
1
1
  {
2
- "scopeName": "source.csx",
3
2
  "name": "C# Script File",
4
- "fileTypes": [
5
- "csx"
6
- ],
3
+ "scopeName": "source.csx",
7
4
  "patterns": [
8
5
  {
9
6
  "include": "source.cs"
10
7
  },
11
8
  {
12
- "match": "^#(load|r)",
13
- "name": "preprocessor.source.csx"
9
+ "name": "preprocessor.source.csx",
10
+ "match": "^#(load|r)"
14
11
  }
15
12
  ]
16
- }
13
+ }
@@ -1,108 +1,82 @@
1
1
  {
2
- "fileTypes": [
3
- "cu",
4
- "cuh",
5
- "h"
6
- ],
7
- "firstLineMatch": "-\\*- C\\+\\+ -\\*-",
8
- "foldingStartMarker": "(?x)\n\t\t /\\*\\*(?!\\*)\n\t\t|^(?![^{]*?//|[^{]*?/\\*(?!.*?\\*/.*?\\{)).*?\\{\\s*($|//|/\\*(?!.*?\\*/.*\\S))\n\t",
9
- "foldingStopMarker": "(?<!\\*)\\*\\*/|^\\s*\\}",
10
- "keyEquivalent": "^~C",
11
2
  "name": "CUDA C++",
3
+ "scopeName": "source.cuda-c++",
12
4
  "patterns": [
13
5
  {
14
6
  "include": "source.c++"
15
7
  },
16
8
  {
17
- "comment": "B.1 FUNCTION TYPE QUALIFIERS",
18
- "match": "\\b__(global|device|host|noinline|forceinline)__\\b",
19
- "name": "keyword.function.qualifier.cuda-c++"
9
+ "name": "keyword.function.qualifier.cuda-c++",
10
+ "match": "\\b__(global|device|host|noinline|forceinline)__\\b"
20
11
  },
21
12
  {
22
- "comment": "B.2 VARIABLE TYPE QUALIFIERS",
23
- "match": "\\b__(device|constant|managed|shared|restrict)__\\b",
24
- "name": "storage.modifier.cuda-c++"
13
+ "name": "storage.modifier.cuda-c++",
14
+ "match": "\\b__(device|constant|managed|shared|restrict)__\\b"
25
15
  },
26
16
  {
27
- "comment": "B.3 BUILT-IN VECTOR TYPES",
28
- "match": "\\b(dim3|char[1-4]|uchar[1-4]|short[1-4]|ushort[1-4]|int[1-4]|uint[1-4]|long[1-4]|ulong[1-4]|longlong[1-4]|ulonglong[1-4]|float[1-4]|double[1-4])\\b",
29
- "name": "support.type.cuda-c++"
17
+ "name": "support.type.cuda-c++",
18
+ "match": "\\b(dim3|char[1-4]|uchar[1-4]|short[1-4]|ushort[1-4]|int[1-4]|uint[1-4]|long[1-4]|ulong[1-4]|longlong[1-4]|ulonglong[1-4]|float[1-4]|double[1-4])\\b"
30
19
  },
31
20
  {
32
- "comment": "B.4 BUILT-IN VARIABLES",
33
- "match": "\\b(gridDim|blockIdx|blockDim|threadIdx|warpSize)\\b",
34
- "name": "variable.language.cuda-c++"
21
+ "name": "variable.language.cuda-c++",
22
+ "match": "\\b(gridDim|blockIdx|blockDim|threadIdx|warpSize)\\b"
35
23
  },
36
24
  {
37
- "comment": "B.5 MEMORY FENCE FUNCTIONS",
38
- "match": "\\b__(threadfence_system|threadfence_block|threadfence)\\b",
39
- "name": "support.function.cuda-c++"
25
+ "name": "support.function.cuda-c++",
26
+ "match": "\\b__(threadfence_system|threadfence_block|threadfence)\\b"
40
27
  },
41
28
  {
42
- "comment": "B.6 SYNCHRONIZATION FUNCTIONS",
43
- "match": "\\b__(syncthreads_count|syncthreads_and|syncthreads_or|syncthreads)\\b",
44
- "name": "support.function.cuda-c++"
29
+ "name": "support.function.cuda-c++",
30
+ "match": "\\b__(syncthreads_count|syncthreads_and|syncthreads_or|syncthreads)\\b"
45
31
  },
46
32
  {
47
- "comment": "B.8 TEXTURE FUNCTIONS",
48
- "match": "\\b(texCubemapLayered|tex1Dlayered|tex2Dlayered|tex2Dgather|tex1Dfetch|texCubemap|tex1D|tex2D|tex3D)\\b",
49
- "name": "support.function.cuda-c++"
33
+ "name": "support.function.cuda-c++",
34
+ "match": "\\b(texCubemapLayered|tex1Dlayered|tex2Dlayered|tex2Dgather|tex1Dfetch|texCubemap|tex1D|tex2D|tex3D)\\b"
50
35
  },
51
36
  {
52
- "comment": "B.9 SURFACE FUNCTIONS",
53
- "match": "\\b(surfCubemapLayeredwrite|surfCubemapLayeredread|surf1DLayeredwrite|surf2DLayeredwrite|surf1DLayeredread|surf2DLayeredread|surfCubemapwrite|surfCubemapread|surf1Dwrite|surf2Dwrite|surf3Dwrite|surf1Dread|surf2Dread|surf3Dread)\\b",
54
- "name": "support.function.cuda-c++"
37
+ "name": "support.function.cuda-c++",
38
+ "match": "\\b(surfCubemapLayeredwrite|surfCubemapLayeredread|surf1DLayeredwrite|surf2DLayeredwrite|surf1DLayeredread|surf2DLayeredread|surfCubemapwrite|surfCubemapread|surf1Dwrite|surf2Dwrite|surf3Dwrite|surf1Dread|surf2Dread|surf3Dread)\\b"
55
39
  },
56
40
  {
57
- "comment": "B.10 READ-ONLY DATA CACHE LOAD FUNCTION",
58
- "match": "\\b__ldg\\b",
59
- "name": "support.function.cuda-c++"
41
+ "name": "support.function.cuda-c++",
42
+ "match": "\\b__ldg\\b"
60
43
  },
61
44
  {
62
- "comment": "B.11 TIME FUNCTION",
63
- "match": "\\b(clock|clock64)\\b",
64
- "name": "support.function.cuda-c++"
45
+ "name": "support.function.cuda-c++",
46
+ "match": "\\b(clock|clock64)\\b"
65
47
  },
66
48
  {
67
- "comment": "B.12 ATOMIC FUNCTIONS",
68
- "match": "\\b(atomicExch|atomicAdd|atomicSub|atomicMin|atomicMax|atomicInc|atomicDec|atomicCAS|atomicAnd|atomicXor|atomicOr)\\b",
69
- "name": "support.function.cuda-c++"
49
+ "name": "support.function.cuda-c++",
50
+ "match": "\\b(atomicExch|atomicAdd|atomicSub|atomicMin|atomicMax|atomicInc|atomicDec|atomicCAS|atomicAnd|atomicXor|atomicOr)\\b"
70
51
  },
71
52
  {
72
- "comment": "B.13 WARP VOTE FUNCTIONS",
73
- "match": "\\b__(ballot|all|any)\\b",
74
- "name": "support.function.cuda-c++"
53
+ "name": "support.function.cuda-c++",
54
+ "match": "\\b__(ballot|all|any)\\b"
75
55
  },
76
56
  {
77
- "comment": "B.14 WARP SHUFFLE FUNCTIONS",
78
- "match": "\\b__(shfl_down|shfl_xor|shfl_up|shfl)\\b",
79
- "name": "support.function.cuda-c++"
57
+ "name": "support.function.cuda-c++",
58
+ "match": "\\b__(shfl_down|shfl_xor|shfl_up|shfl)\\b"
80
59
  },
81
60
  {
82
- "comment": "B.15 PROFILER COUNTER FUNCTION",
83
- "match": "\\b__(prof_trigger)\\b",
84
- "name": "support.function.cuda-c++"
61
+ "name": "support.function.cuda-c++",
62
+ "match": "\\b__(prof_trigger)\\b"
85
63
  },
86
64
  {
87
- "comment": "B.16 ASSERTION",
88
- "match": "\\bassert\\b",
89
- "name": "support.function.cuda-c++"
65
+ "name": "support.function.cuda-c++",
66
+ "match": "\\bassert\\b"
90
67
  },
91
68
  {
92
- "comment": "B.17 FORMATTED OUTPUT",
93
- "match": "\\printf\\b",
94
- "name": "support.function.cuda-c++"
69
+ "name": "support.function.cuda-c++",
70
+ "match": "\\bprintf\\b"
95
71
  },
96
72
  {
97
- "comment": "B.18 DYNAMIC GLOBAL MEMORY ALLOCATION AND OPERATIONS",
98
- "match": "\\b(malloc|free|memcpy|memset)\\b",
99
- "name": "support.function.cuda-c++"
73
+ "name": "support.function.cuda-c++",
74
+ "match": "\\b(malloc|free|memcpy|memset)\\b"
100
75
  },
101
76
  {
102
- "begin": "(<<<)",
103
- "comment": "B.19 EXECUTION CONFIGURATION",
104
- "end": "(>>>)",
105
77
  "name": "keyword.operator.cuda-c++",
78
+ "begin": "(\u003c\u003c\u003c)",
79
+ "end": "(\u003e\u003e\u003e)",
106
80
  "patterns": [
107
81
  {
108
82
  "include": "$base"
@@ -110,28 +84,20 @@
110
84
  ]
111
85
  },
112
86
  {
113
- "comment": "B.20 LAUNCH BOUNDS",
114
- "match": "\\b__launch_bounds__\\b",
115
- "name": "support.function.qualifier.cuda-c++"
87
+ "name": "support.function.qualifier.cuda-c++",
88
+ "match": "\\b__launch_bounds__\\b"
116
89
  },
117
90
  {
118
- "comment": "D.2 INTRINSIC FUNCTIONS Table 8",
119
- "match": "\\b__(fdividef|sincosf|log10f|exp10f|log2f|logf|expf|powf|sinf|cosf|tanf)\\b",
120
- "name": "support.function.cuda-c++"
91
+ "name": "support.function.cuda-c++",
92
+ "match": "\\b__(fdividef|sincosf|log10f|exp10f|log2f|logf|expf|powf|sinf|cosf|tanf)\\b"
121
93
  },
122
94
  {
123
- "comment": "D.2 INTRINSIC FUNCTIONS Table 9",
124
- "match": "\\b__((fsqrt|frcp|fadd|fsub|fmul|fmaf|fdiv)_(rn|rz|ru|rd)|frsqrt_rn)\\b",
125
- "name": "support.function.cuda-c++"
95
+ "name": "support.function.cuda-c++",
96
+ "match": "\\b__((fsqrt|frcp|fadd|fsub|fmul|fmaf|fdiv)_(rn|rz|ru|rd)|frsqrt_rn)\\b"
126
97
  },
127
98
  {
128
- "comment": "D.2 INTRINSIC FUNCTIONS Table 10",
129
- "match": "\\b__(dsqrt|dadd|dsub|dmul|ddiv|drcp|fma)_(rn|rz|ru|rd)\\b",
130
- "name": "support.function.cuda-c++"
99
+ "name": "support.function.cuda-c++",
100
+ "match": "\\b__(dsqrt|dadd|dsub|dmul|ddiv|drcp|fma)_(rn|rz|ru|rd)\\b"
131
101
  }
132
- ],
133
- "repository": {
134
- },
135
- "scopeName": "source.cuda-c++",
136
- "uuid": "e498cb33-bf6f-487b-8c77-02576bcb76dc"
137
- }
102
+ ]
103
+ }
@@ -0,0 +1,103 @@
1
+ {
2
+ "name": "CWL",
3
+ "scopeName": "source.cwl",
4
+ "patterns": [
5
+ {
6
+ "name": "string.quoted.single.cwl",
7
+ "begin": "'",
8
+ "end": "'",
9
+ "patterns": [
10
+ {
11
+ "name": "constant.character.escape.cwl",
12
+ "match": "\\."
13
+ }
14
+ ]
15
+ },
16
+ {
17
+ "name": "string.quoted.double.cwl",
18
+ "begin": "\"",
19
+ "end": "\"",
20
+ "patterns": [
21
+ {
22
+ "name": "constant.character.escape.cwl",
23
+ "match": "\\."
24
+ }
25
+ ]
26
+ },
27
+ {
28
+ "name": "keyword.control.cwl",
29
+ "match": "\\b(inputs|outputs|steps|id|requirements|hints|label|doc|secondaryFiles|streamable|outputBinding|format|outputSource|linkMerge|type|glob|loadContents|outputEval|merge_nested|merge_flattened|location|path|basename|dirname|nameroot|nameext|checksum|size|format|contents|listing|fields|symbols|items|in|out|run|scatter|scatterMethod|source|default|valueFrom|expressionLib|types|linkMerge|inputBinding|position|prefix|separate|itemSeparator|valueFrom|shellQuote|packages|package|version|specs|entry|entryname|writable|baseCommand|arguments|stdin|stderr|stdout|successCodes|temporaryFailCodes|permanentFailCodes|dockerLoad|dockerFile|dockerImport|dockerImageId|dockerOutputDirectory|envDef|envName|envValue|coresMin|coresMax|ramMin|ramMax|tmpdirMin|tmpdirMax|outdirMin|outdirMax)(?=:)"
30
+ },
31
+ {
32
+ "name": "cwlVersion.cwl",
33
+ "begin": "cwlVersion:",
34
+ "end": "$",
35
+ "patterns": [
36
+ {
37
+ "name": "storage.constant.cwl",
38
+ "match": "\\b(draft-2|draft-3.dev1|draft3-dev2|draft3-dev3|draft3-dev4|draft3-dev5|draft3|draft4.dev1|draft4.dev2|draft4.dev3|v1.0.dev4|v1.0)\\b"
39
+ }
40
+ ],
41
+ "beginCaptures": {
42
+ "0": {
43
+ "name": "cwlVersion.keyword.control.cwl"
44
+ }
45
+ },
46
+ "endCaptures": {
47
+ "0": {
48
+ "name": "cwlVersion.definition.string.end.cwl"
49
+ }
50
+ }
51
+ },
52
+ {
53
+ "name": "dockerPull.cwl",
54
+ "begin": "dockerPull:",
55
+ "end": "$",
56
+ "patterns": [
57
+ {
58
+ "name": "storage.variable.cwl",
59
+ "match": "\\b(.*)$"
60
+ }
61
+ ],
62
+ "beginCaptures": {
63
+ "0": {
64
+ "name": "dockerPull.keyword.control.cwl"
65
+ }
66
+ },
67
+ "endCaptures": {
68
+ "0": {
69
+ "name": "dockerPull.definition.string.end.cwl"
70
+ }
71
+ }
72
+ },
73
+ {
74
+ "name": "class.cwl",
75
+ "begin": "class:",
76
+ "end": "$",
77
+ "patterns": [
78
+ {
79
+ "name": "support.type.cwl",
80
+ "match": "\\b(CommandLineTool|ExpressionTool|Workflow|InlineJavascriptRequirement|SchemaDefRequirement|DockerRequirement|SoftwareRequirement|InitialWorkDirRequirement|EnvVarRequirement|ShellCommandRequirement|ResourceRequirement)\\b"
81
+ }
82
+ ],
83
+ "beginCaptures": {
84
+ "0": {
85
+ "name": "class.keyword.control.cwl"
86
+ }
87
+ },
88
+ "endCaptures": {
89
+ "0": {
90
+ "name": "class.definition.string.end.cwl"
91
+ }
92
+ }
93
+ },
94
+ {
95
+ "name": "storage.type.cwl",
96
+ "match": ":\\s+(null|boolean|int|long|float|double|string|File|Directory)\\b"
97
+ },
98
+ {
99
+ "name": "comment.line.number-sign.cwl",
100
+ "match": "#.*$"
101
+ }
102
+ ]
103
+ }
@@ -1,84 +1,78 @@
1
1
  {
2
- "comment": "\n\ttodo:\n\t\tlist comprehension / generator comprehension scope.\n\t\t\n\t",
3
- "fileTypes": [
4
- "pyx",
5
- "pxi",
6
- "pxd"
7
- ],
8
- "firstLineMatch": "^#!/.*\\bcython\\b",
9
- "keyEquivalent": "^~C",
10
2
  "name": "Cython",
3
+ "scopeName": "source.cython",
11
4
  "patterns": [
12
5
  {
13
6
  "begin": "(^[ \\t]+)?(?=#)",
14
- "beginCaptures": {
15
- "1": {
16
- "name": "punctuation.whitespace.comment.leading.cython"
17
- }
18
- },
19
7
  "end": "(?!\\G)",
20
8
  "patterns": [
21
9
  {
10
+ "name": "comment.line.number-sign.cython",
22
11
  "begin": "#",
12
+ "end": "\\n",
23
13
  "beginCaptures": {
24
14
  "0": {
25
15
  "name": "punctuation.definition.comment.cython"
26
16
  }
27
- },
28
- "end": "\\n",
29
- "name": "comment.line.number-sign.cython"
17
+ }
30
18
  }
31
- ]
19
+ ],
20
+ "beginCaptures": {
21
+ "1": {
22
+ "name": "punctuation.whitespace.comment.leading.cython"
23
+ }
24
+ }
32
25
  },
33
26
  {
34
- "match": "\\b(?i:(0x[0-9A-Fa-f]*)L)",
35
- "name": "constant.numeric.integer.long.hexadecimal.cython"
27
+ "name": "constant.numeric.integer.long.hexadecimal.cython",
28
+ "match": "\\b(?i:(0x[0-9A-Fa-f]*)L)"
36
29
  },
37
30
  {
38
- "match": "\\b(?i:(0x[0-9A-Fa-f]*))",
39
- "name": "constant.numeric.integer.hexadecimal.cython"
31
+ "name": "constant.numeric.integer.hexadecimal.cython",
32
+ "match": "\\b(?i:(0x[0-9A-Fa-f]*))"
40
33
  },
41
34
  {
42
- "match": "\\b(?i:(0[0-7]+)L)",
43
- "name": "constant.numeric.integer.long.octal.cython"
35
+ "name": "constant.numeric.integer.long.octal.cython",
36
+ "match": "\\b(?i:(0[0-7]+)L)"
44
37
  },
45
38
  {
46
- "match": "\\b(0[0-7]+)",
47
- "name": "constant.numeric.integer.octal.cython"
39
+ "name": "constant.numeric.integer.octal.cython",
40
+ "match": "\\b(0[0-7]+)"
48
41
  },
49
42
  {
50
- "match": "\\b(?i:(((\\d+(\\.(?=[^a-zA-Z_])\\d*)?|(?<=[^0-9a-zA-Z_])\\.\\d+)(e[\\-\\+]?\\d+)?))J)",
51
- "name": "constant.numeric.complex.cython"
43
+ "name": "constant.numeric.complex.cython",
44
+ "match": "\\b(?i:(((\\d+(\\.(?=[^a-zA-Z_])\\d*)?|(?\u003c=[^0-9a-zA-Z_])\\.\\d+)(e[\\-\\+]?\\d+)?))J)"
52
45
  },
53
46
  {
54
- "match": "\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))(?=[^a-zA-Z_])",
55
- "name": "constant.numeric.float.cython"
47
+ "name": "constant.numeric.float.cython",
48
+ "match": "\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))(?=[^a-zA-Z_])"
56
49
  },
57
50
  {
58
- "match": "(?<=[^0-9a-zA-Z_])(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))",
59
- "name": "constant.numeric.float.cython"
51
+ "name": "constant.numeric.float.cython",
52
+ "match": "(?\u003c=[^0-9a-zA-Z_])(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))"
60
53
  },
61
54
  {
62
- "match": "\\b(?i:(\\d+e[\\-\\+]?\\d+))",
63
- "name": "constant.numeric.float.cython"
55
+ "name": "constant.numeric.float.cython",
56
+ "match": "\\b(?i:(\\d+e[\\-\\+]?\\d+))"
64
57
  },
65
58
  {
66
- "match": "\\b(?i:([1-9]+[0-9]*|0)L)",
67
- "name": "constant.numeric.integer.long.decimal.cython"
59
+ "name": "constant.numeric.integer.long.decimal.cython",
60
+ "match": "\\b(?i:([1-9]+[0-9]*|0)L)"
68
61
  },
69
62
  {
70
- "match": "\\b([1-9]+[0-9]*|0)",
71
- "name": "constant.numeric.integer.decimal.cython"
63
+ "name": "constant.numeric.integer.decimal.cython",
64
+ "match": "\\b([1-9]+[0-9]*|0)"
72
65
  },
73
66
  {
67
+ "match": "\\b(global)\\b",
74
68
  "captures": {
75
69
  "1": {
76
70
  "name": "storage.modifier.global.cython"
77
71
  }
78
- },
79
- "match": "\\b(global)\\b"
72
+ }
80
73
  },
81
74
  {
75
+ "match": "\\b(?:(import|include)|(from))\\b",
82
76
  "captures": {
83
77
  "1": {
84
78
  "name": "keyword.control.import.cython"
@@ -86,114 +80,93 @@
86
80
  "2": {
87
81
  "name": "keyword.control.import.from.cython"
88
82
  }
89
- },
90
- "match": "\\b(?:(import|include)|(from))\\b"
83
+ }
91
84
  },
92
85
  {
93
- "comment": "keywords that delimit flow blocks",
94
- "match": "\\b(elif|else|except|finally|for|if|try|while|with|IF|ELIF|ELSE)\\b",
95
- "name": "keyword.control.flow.cython"
86
+ "name": "keyword.control.flow.cython",
87
+ "match": "\\b(elif|else|except|finally|for|if|try|while|with|IF|ELIF|ELSE)\\b"
96
88
  },
97
89
  {
98
- "comment": "keywords that alter flow from within a block",
99
- "match": "\\b(break|continue|pass|raise|return|yield)\\b",
100
- "name": "keyword.control.flow.cython"
90
+ "name": "keyword.control.flow.cython",
91
+ "match": "\\b(break|continue|pass|raise|return|yield)\\b"
101
92
  },
102
93
  {
103
- "comment": "keyword operators that evaluate to True or False",
104
- "match": "\\b(and|in|is|not|or)\\b",
105
- "name": "keyword.operator.logical.cython"
94
+ "name": "keyword.operator.logical.cython",
95
+ "match": "\\b(and|in|is|not|or)\\b"
106
96
  },
107
97
  {
98
+ "match": "\\b(as|assert|del|exec|print)\\b",
108
99
  "captures": {
109
100
  "1": {
110
101
  "name": "keyword.other.cython"
111
102
  }
112
- },
113
- "comment": "keywords that haven't fit into other groups (yet).",
114
- "match": "\\b(as|assert|del|exec|print)\\b"
103
+ }
115
104
  },
116
105
  {
117
- "match": "\\b(asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void)\\b",
118
- "name": "storage.type.cython"
106
+ "name": "storage.type.cython",
107
+ "match": "\\b(asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void)\\b"
119
108
  },
120
109
  {
121
- "match": "<\\=|>\\=|\\=\\=|<|>|<>",
122
- "name": "keyword.operator.comparison.cython"
110
+ "name": "keyword.operator.comparison.cython",
111
+ "match": "\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\u003c\u003e"
123
112
  },
124
113
  {
125
- "match": "\\+\\=|-\\=|\\*\\=|/\\=|//\\=|%\\=|&\\=|\\|\\=|\\^\\=|>>\\=|<<\\=|\\*\\*\\=",
126
- "name": "keyword.operator.assignment.augmented.cython"
114
+ "name": "keyword.operator.assignment.augmented.cython",
115
+ "match": "\\+\\=|-\\=|\\*\\=|/\\=|//\\=|%\\=|\u0026\\=|\\|\\=|\\^\\=|\u003e\u003e\\=|\u003c\u003c\\=|\\*\\*\\="
127
116
  },
128
117
  {
129
- "match": "\\+|\\-|\\*|\\*\\*|/|//|%|<<|>>|&|\\||\\^|~",
130
- "name": "keyword.operator.arithmetic.cython"
118
+ "name": "keyword.operator.arithmetic.cython",
119
+ "match": "\\+|\\-|\\*|\\*\\*|/|//|%|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"
131
120
  },
132
121
  {
133
- "match": "\\=",
134
- "name": "keyword.operator.assignment.cython"
122
+ "name": "keyword.operator.assignment.cython",
123
+ "match": "\\="
135
124
  },
136
125
  {
126
+ "name": "meta.class.old-style.cython",
127
+ "contentName": "entity.name.type.class.cython",
137
128
  "begin": "^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\\s*\\:)",
129
+ "end": "\\s*(:)",
130
+ "patterns": [
131
+ {
132
+ "include": "#entity_name_class"
133
+ }
134
+ ],
138
135
  "beginCaptures": {
139
136
  "1": {
140
137
  "name": "storage.type.class.cython"
141
138
  }
142
139
  },
143
- "contentName": "entity.name.type.class.cython",
144
- "end": "\\s*(:)",
145
140
  "endCaptures": {
146
141
  "1": {
147
142
  "name": "punctuation.section.class.begin.cython"
148
143
  }
149
- },
150
- "name": "meta.class.old-style.cython",
151
- "patterns": [
152
- {
153
- "include": "#entity_name_class"
154
- }
155
- ]
144
+ }
156
145
  },
157
146
  {
147
+ "name": "meta.property.cython",
148
+ "contentName": "entity.name.type.property.cython",
158
149
  "begin": "^\\s*(property)\\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\\s*\\:)",
150
+ "end": "\\s*(:)",
159
151
  "beginCaptures": {
160
152
  "1": {
161
153
  "name": "storage.type.property.cython"
162
154
  }
163
155
  },
164
- "contentName": "entity.name.type.property.cython",
165
- "end": "\\s*(:)",
166
156
  "endCaptures": {
167
157
  "1": {
168
158
  "name": "punctuation.section.property.begin.cython"
169
159
  }
170
- },
171
- "name": "meta.property.cython"
160
+ }
172
161
  },
173
162
  {
163
+ "name": "meta.class.cython",
174
164
  "begin": "^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\\s*\\()",
175
- "beginCaptures": {
176
- "1": {
177
- "name": "storage.type.class.cython"
178
- }
179
- },
180
165
  "end": "(\\))\\s*(?:(\\:)|(.*$\\n?))",
181
- "endCaptures": {
182
- "1": {
183
- "name": "punctuation.definition.inheritance.end.cython"
184
- },
185
- "2": {
186
- "name": "punctuation.section.class.begin.cython"
187
- },
188
- "3": {
189
- "name": "invalid.illegal.missing-section-begin.cython"
190
- }
191
- },
192
- "name": "meta.class.cython",
193
166
  "patterns": [
194
167
  {
195
- "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
196
168
  "contentName": "entity.name.type.class.cython",
169
+ "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
197
170
  "end": "(?![A-Za-z0-9_])",
198
171
  "patterns": [
199
172
  {
@@ -202,55 +175,58 @@
202
175
  ]
203
176
  },
204
177
  {
205
- "begin": "(\\()",
206
- "beginCaptures": {
207
- "1": {
208
- "name": "punctuation.definition.inheritance.begin.cython"
209
- }
210
- },
211
178
  "contentName": "meta.class.inheritance.cython",
179
+ "begin": "(\\()",
212
180
  "end": "(?=\\)|:)",
213
181
  "patterns": [
214
182
  {
215
- "begin": "(?<=\\(|,)\\s*",
216
183
  "contentName": "entity.other.inherited-class.cython",
184
+ "begin": "(?\u003c=\\(|,)\\s*",
217
185
  "end": "\\s*(?:(,)|(?=\\)))",
218
- "endCaptures": {
219
- "1": {
220
- "name": "punctuation.separator.inheritance.cython"
221
- }
222
- },
223
186
  "patterns": [
224
187
  {
225
188
  "include": "$self"
226
189
  }
227
- ]
190
+ ],
191
+ "endCaptures": {
192
+ "1": {
193
+ "name": "punctuation.separator.inheritance.cython"
194
+ }
195
+ }
228
196
  }
229
- ]
197
+ ],
198
+ "beginCaptures": {
199
+ "1": {
200
+ "name": "punctuation.definition.inheritance.begin.cython"
201
+ }
202
+ }
230
203
  }
231
- ]
232
- },
233
- {
234
- "begin": "^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9])",
204
+ ],
235
205
  "beginCaptures": {
236
206
  "1": {
237
207
  "name": "storage.type.class.cython"
238
208
  }
239
209
  },
240
- "end": "(\\()|\\s*($\\n?|#.*$\\n?)",
241
210
  "endCaptures": {
242
211
  "1": {
243
- "name": "punctuation.definition.inheritance.begin.cython"
212
+ "name": "punctuation.definition.inheritance.end.cython"
244
213
  },
245
214
  "2": {
246
- "name": "invalid.illegal.missing-inheritance.cython"
215
+ "name": "punctuation.section.class.begin.cython"
216
+ },
217
+ "3": {
218
+ "name": "invalid.illegal.missing-section-begin.cython"
247
219
  }
248
- },
220
+ }
221
+ },
222
+ {
249
223
  "name": "meta.class.cython",
224
+ "begin": "^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9])",
225
+ "end": "(\\()|\\s*($\\n?|#.*$\\n?)",
250
226
  "patterns": [
251
227
  {
252
- "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
253
228
  "contentName": "entity.name.type.class.cython",
229
+ "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
254
230
  "end": "(?![A-Za-z0-9_])",
255
231
  "patterns": [
256
232
  {
@@ -258,32 +234,29 @@
258
234
  }
259
235
  ]
260
236
  }
261
- ]
262
- },
263
- {
264
- "begin": "^\\s*(def)\\s+(?=[A-Za-z_][A-Za-z0-9_]*\\s*\\()",
237
+ ],
265
238
  "beginCaptures": {
266
239
  "1": {
267
- "name": "storage.type.function.cython"
240
+ "name": "storage.type.class.cython"
268
241
  }
269
242
  },
270
- "end": "(\\))\\s*(?:(\\:)|(.*$\\n?))",
271
243
  "endCaptures": {
272
244
  "1": {
273
- "name": "punctuation.definition.parameters.end.cython"
245
+ "name": "punctuation.definition.inheritance.begin.cython"
274
246
  },
275
247
  "2": {
276
- "name": "punctuation.section.function.begin.cython"
277
- },
278
- "3": {
279
- "name": "invalid.illegal.missing-section-begin.cython"
248
+ "name": "invalid.illegal.missing-inheritance.cython"
280
249
  }
281
- },
250
+ }
251
+ },
252
+ {
282
253
  "name": "meta.function.cython",
254
+ "begin": "^\\s*(def)\\s+(?=[A-Za-z_][A-Za-z0-9_]*\\s*\\()",
255
+ "end": "(\\))\\s*(?:(\\:)|(.*$\\n?))",
283
256
  "patterns": [
284
257
  {
285
- "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
286
258
  "contentName": "entity.name.function.cython",
259
+ "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
287
260
  "end": "(?![A-Za-z0-9_])",
288
261
  "patterns": [
289
262
  {
@@ -292,19 +265,15 @@
292
265
  ]
293
266
  },
294
267
  {
295
- "begin": "(\\()",
296
- "beginCaptures": {
297
- "1": {
298
- "name": "punctuation.definition.parameters.begin.cython"
299
- }
300
- },
301
268
  "contentName": "meta.function.parameters.cython",
269
+ "begin": "(\\()",
302
270
  "end": "(?=\\)\\s*\\:)",
303
271
  "patterns": [
304
272
  {
305
273
  "include": "#keyword_arguments"
306
274
  },
307
275
  {
276
+ "match": "\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(,)|(?=[\\n\\)]))",
308
277
  "captures": {
309
278
  "1": {
310
279
  "name": "variable.parameter.function.cython"
@@ -312,34 +281,41 @@
312
281
  "2": {
313
282
  "name": "punctuation.separator.parameters.cython"
314
283
  }
315
- },
316
- "match": "\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(,)|(?=[\\n\\)]))"
284
+ }
317
285
  }
318
- ]
286
+ ],
287
+ "beginCaptures": {
288
+ "1": {
289
+ "name": "punctuation.definition.parameters.begin.cython"
290
+ }
291
+ }
319
292
  }
320
- ]
321
- },
322
- {
323
- "begin": "^\\s*(def)\\s+(?=[A-Za-z_][A-Za-z0-9_]*)",
293
+ ],
324
294
  "beginCaptures": {
325
295
  "1": {
326
296
  "name": "storage.type.function.cython"
327
297
  }
328
298
  },
329
- "end": "(\\()|\\s*($\\n?|#.*$\\n?)",
330
299
  "endCaptures": {
331
300
  "1": {
332
- "name": "punctuation.definition.parameters.begin.cython"
301
+ "name": "punctuation.definition.parameters.end.cython"
333
302
  },
334
303
  "2": {
335
- "name": "invalid.illegal.missing-parameters.cython"
304
+ "name": "punctuation.section.function.begin.cython"
305
+ },
306
+ "3": {
307
+ "name": "invalid.illegal.missing-section-begin.cython"
336
308
  }
337
- },
309
+ }
310
+ },
311
+ {
338
312
  "name": "meta.function.cython",
313
+ "begin": "^\\s*(def)\\s+(?=[A-Za-z_][A-Za-z0-9_]*)",
314
+ "end": "(\\()|\\s*($\\n?|#.*$\\n?)",
339
315
  "patterns": [
340
316
  {
341
- "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
342
317
  "contentName": "entity.name.function.cython",
318
+ "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
343
319
  "end": "(?![A-Za-z0-9_])",
344
320
  "patterns": [
345
321
  {
@@ -347,38 +323,36 @@
347
323
  }
348
324
  ]
349
325
  }
350
- ]
351
- },
352
- {
353
- "begin": "(lambda)(?=\\s+)",
326
+ ],
354
327
  "beginCaptures": {
355
328
  "1": {
356
- "name": "storage.type.function.inline.cython"
329
+ "name": "storage.type.function.cython"
357
330
  }
358
331
  },
359
- "end": "(\\:)",
360
332
  "endCaptures": {
361
333
  "1": {
362
- "name": "punctuation.definition.parameters.end.cython"
334
+ "name": "punctuation.definition.parameters.begin.cython"
363
335
  },
364
336
  "2": {
365
- "name": "punctuation.section.function.begin.cython"
366
- },
367
- "3": {
368
- "name": "invalid.illegal.missing-section-begin.cython"
337
+ "name": "invalid.illegal.missing-parameters.cython"
369
338
  }
370
- },
339
+ }
340
+ },
341
+ {
371
342
  "name": "meta.function.inline.cython",
343
+ "begin": "(lambda)(?=\\s+)",
344
+ "end": "(\\:)",
372
345
  "patterns": [
373
346
  {
374
- "begin": "\\s+",
375
347
  "contentName": "meta.function.inline.parameters.cython",
348
+ "begin": "\\s+",
376
349
  "end": "(?=\\:)",
377
350
  "patterns": [
378
351
  {
379
352
  "include": "#keyword_arguments"
380
353
  },
381
354
  {
355
+ "match": "\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(,)|(?=[\\n\\)\\:]))",
382
356
  "captures": {
383
357
  "1": {
384
358
  "name": "variable.parameter.function.cython"
@@ -386,47 +360,51 @@
386
360
  "2": {
387
361
  "name": "punctuation.separator.parameters.cython"
388
362
  }
389
- },
390
- "match": "\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(,)|(?=[\\n\\)\\:]))"
363
+ }
391
364
  }
392
365
  ]
393
366
  }
394
- ]
395
- },
396
- {
397
- "begin": "^\\s*(?=@\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\()",
398
- "comment": "a decorator may be a function call which returns a decorator.",
399
- "end": "(\\))",
400
- "endCaptures": {
367
+ ],
368
+ "beginCaptures": {
401
369
  "1": {
402
- "name": "punctuation.definition.arguments.end.cython"
370
+ "name": "storage.type.function.inline.cython"
403
371
  }
404
372
  },
373
+ "endCaptures": {
374
+ "1": {
375
+ "name": "punctuation.definition.parameters.end.cython"
376
+ },
377
+ "2": {
378
+ "name": "punctuation.section.function.begin.cython"
379
+ },
380
+ "3": {
381
+ "name": "invalid.illegal.missing-section-begin.cython"
382
+ }
383
+ }
384
+ },
385
+ {
405
386
  "name": "meta.function.decorator.cython",
387
+ "begin": "^\\s*(?=@\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\()",
388
+ "end": "(\\))",
406
389
  "patterns": [
407
390
  {
408
- "begin": "(?=(@)\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*\\s*\\()",
409
- "beginCaptures": {
410
- "1": {
411
- "name": "punctuation.definition.decorator.cython"
412
- }
413
- },
414
391
  "contentName": "entity.name.function.decorator.cython",
392
+ "begin": "(?=(@)\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*\\s*\\()",
415
393
  "end": "(?=\\s*\\()",
416
394
  "patterns": [
417
395
  {
418
396
  "include": "#dotted_name"
419
397
  }
420
- ]
421
- },
422
- {
423
- "begin": "(\\()",
398
+ ],
424
399
  "beginCaptures": {
425
400
  "1": {
426
- "name": "punctuation.definition.arguments.begin.cython"
401
+ "name": "punctuation.definition.decorator.cython"
427
402
  }
428
- },
403
+ }
404
+ },
405
+ {
429
406
  "contentName": "meta.function.decorator.arguments.cython",
407
+ "begin": "(\\()",
430
408
  "end": "(?=\\))",
431
409
  "patterns": [
432
410
  {
@@ -435,47 +413,47 @@
435
413
  {
436
414
  "include": "$self"
437
415
  }
438
- ]
416
+ ],
417
+ "beginCaptures": {
418
+ "1": {
419
+ "name": "punctuation.definition.arguments.begin.cython"
420
+ }
421
+ }
439
422
  }
440
- ]
423
+ ],
424
+ "endCaptures": {
425
+ "1": {
426
+ "name": "punctuation.definition.arguments.end.cython"
427
+ }
428
+ }
441
429
  },
442
430
  {
443
- "begin": "^\\s*(?=@\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*)",
431
+ "name": "meta.function.decorator.cython",
444
432
  "contentName": "entity.name.function.decorator.cython",
433
+ "begin": "^\\s*(?=@\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*)",
445
434
  "end": "(?=\\s|$\\n?|#)",
446
- "name": "meta.function.decorator.cython",
447
435
  "patterns": [
448
436
  {
449
437
  "begin": "(?=(@)\\s*[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*)",
450
- "beginCaptures": {
451
- "1": {
452
- "name": "punctuation.definition.decorator.cython"
453
- }
454
- },
455
438
  "end": "(?=\\s|$\\n?|#)",
456
439
  "patterns": [
457
440
  {
458
441
  "include": "#dotted_name"
459
442
  }
460
- ]
443
+ ],
444
+ "beginCaptures": {
445
+ "1": {
446
+ "name": "punctuation.definition.decorator.cython"
447
+ }
448
+ }
461
449
  }
462
450
  ]
463
451
  },
464
452
  {
465
- "begin": "(?<=\\)|\\])\\s*(\\()",
466
- "beginCaptures": {
467
- "1": {
468
- "name": "punctuation.definition.arguments.begin.cython"
469
- }
470
- },
453
+ "name": "meta.function-call.cython",
471
454
  "contentName": "meta.function-call.arguments.cython",
455
+ "begin": "(?\u003c=\\)|\\])\\s*(\\()",
472
456
  "end": "(\\))",
473
- "endCaptures": {
474
- "1": {
475
- "name": "punctuation.definition.arguments.end.cython"
476
- }
477
- },
478
- "name": "meta.function-call.cython",
479
457
  "patterns": [
480
458
  {
481
459
  "include": "#keyword_arguments"
@@ -483,17 +461,22 @@
483
461
  {
484
462
  "include": "$self"
485
463
  }
486
- ]
487
- },
488
- {
489
- "begin": "(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\()",
490
- "end": "(\\))",
464
+ ],
465
+ "beginCaptures": {
466
+ "1": {
467
+ "name": "punctuation.definition.arguments.begin.cython"
468
+ }
469
+ },
491
470
  "endCaptures": {
492
471
  "1": {
493
472
  "name": "punctuation.definition.arguments.end.cython"
494
473
  }
495
- },
474
+ }
475
+ },
476
+ {
496
477
  "name": "meta.function-call.cython",
478
+ "begin": "(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\()",
479
+ "end": "(\\))",
497
480
  "patterns": [
498
481
  {
499
482
  "begin": "(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*\\s*\\()",
@@ -505,13 +488,8 @@
505
488
  ]
506
489
  },
507
490
  {
508
- "begin": "(\\()",
509
- "beginCaptures": {
510
- "1": {
511
- "name": "punctuation.definition.arguments.begin.cython"
512
- }
513
- },
514
491
  "contentName": "meta.function-call.arguments.cython",
492
+ "begin": "(\\()",
515
493
  "end": "(?=\\))",
516
494
  "patterns": [
517
495
  {
@@ -520,19 +498,24 @@
520
498
  {
521
499
  "include": "$self"
522
500
  }
523
- ]
501
+ ],
502
+ "beginCaptures": {
503
+ "1": {
504
+ "name": "punctuation.definition.arguments.begin.cython"
505
+ }
506
+ }
524
507
  }
525
- ]
526
- },
527
- {
528
- "begin": "(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\[)",
529
- "end": "(\\])",
508
+ ],
530
509
  "endCaptures": {
531
510
  "1": {
532
511
  "name": "punctuation.definition.arguments.end.cython"
533
512
  }
534
- },
513
+ }
514
+ },
515
+ {
535
516
  "name": "meta.item-access.cython",
517
+ "begin": "(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\[)",
518
+ "end": "(\\])",
536
519
  "patterns": [
537
520
  {
538
521
  "begin": "(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*\\s*\\[)",
@@ -544,58 +527,63 @@
544
527
  ]
545
528
  },
546
529
  {
547
- "begin": "(\\[)",
548
- "beginCaptures": {
549
- "1": {
550
- "name": "punctuation.definition.arguments.begin.cython"
551
- }
552
- },
553
530
  "contentName": "meta.item-access.arguments.cython",
531
+ "begin": "(\\[)",
554
532
  "end": "(?=\\])",
555
533
  "patterns": [
556
534
  {
557
535
  "include": "$self"
558
536
  }
559
- ]
537
+ ],
538
+ "beginCaptures": {
539
+ "1": {
540
+ "name": "punctuation.definition.arguments.begin.cython"
541
+ }
542
+ }
560
543
  }
561
- ]
544
+ ],
545
+ "endCaptures": {
546
+ "1": {
547
+ "name": "punctuation.definition.arguments.end.cython"
548
+ }
549
+ }
562
550
  },
563
551
  {
564
- "begin": "(?<=\\)|\\])\\s*(\\[)",
552
+ "name": "meta.item-access.cython",
553
+ "contentName": "meta.item-access.arguments.cython",
554
+ "begin": "(?\u003c=\\)|\\])\\s*(\\[)",
555
+ "end": "(\\])",
556
+ "patterns": [
557
+ {
558
+ "include": "$self"
559
+ }
560
+ ],
565
561
  "beginCaptures": {
566
562
  "1": {
567
563
  "name": "punctuation.definition.arguments.begin.cython"
568
564
  }
569
565
  },
570
- "contentName": "meta.item-access.arguments.cython",
571
- "end": "(\\])",
572
566
  "endCaptures": {
573
567
  "1": {
574
568
  "name": "punctuation.definition.arguments.end.cython"
575
569
  }
576
- },
577
- "name": "meta.item-access.cython",
578
- "patterns": [
579
- {
580
- "include": "$self"
581
- }
582
- ]
570
+ }
583
571
  },
584
572
  {
573
+ "match": "\\b(def|lambda)\\b",
585
574
  "captures": {
586
575
  "1": {
587
576
  "name": "storage.type.function.cython"
588
577
  }
589
- },
590
- "match": "\\b(def|lambda)\\b"
578
+ }
591
579
  },
592
580
  {
581
+ "match": "\\b(class)\\b",
593
582
  "captures": {
594
583
  "1": {
595
584
  "name": "storage.type.class.cython"
596
585
  }
597
- },
598
- "match": "\\b(class)\\b"
586
+ }
599
587
  },
600
588
  {
601
589
  "include": "#line_continuation"
@@ -604,8 +592,8 @@
604
592
  "include": "#language_variables"
605
593
  },
606
594
  {
607
- "match": "\\b(None|True|False|Ellipsis|NotImplemented|NULL)\\b",
608
- "name": "constant.language.cython"
595
+ "name": "constant.language.cython",
596
+ "match": "\\b(None|True|False|Ellipsis|NotImplemented|NULL)\\b"
609
597
  },
610
598
  {
611
599
  "include": "#string_quoted_single"
@@ -626,6 +614,7 @@
626
614
  ]
627
615
  },
628
616
  {
617
+ "match": "(\\[)(\\s*(\\]))\\b",
629
618
  "captures": {
630
619
  "1": {
631
620
  "name": "punctuation.definition.list.begin.cython"
@@ -636,42 +625,43 @@
636
625
  "3": {
637
626
  "name": "punctuation.definition.list.end.cython"
638
627
  }
639
- },
640
- "match": "(\\[)(\\s*(\\]))\\b"
628
+ }
641
629
  },
642
630
  {
631
+ "name": "meta.structure.list.cython",
643
632
  "begin": "(\\[)",
644
- "beginCaptures": {
645
- "1": {
646
- "name": "punctuation.definition.list.begin.cython"
647
- }
648
- },
649
633
  "end": "(\\])",
650
- "endCaptures": {
651
- "1": {
652
- "name": "punctuation.definition.list.end.cython"
653
- }
654
- },
655
- "name": "meta.structure.list.cython",
656
634
  "patterns": [
657
635
  {
658
- "begin": "(?<=\\[|\\,)\\s*(?![\\],])",
659
636
  "contentName": "meta.structure.list.item.cython",
637
+ "begin": "(?\u003c=\\[|\\,)\\s*(?![\\],])",
660
638
  "end": "\\s*(?:(,)|(?=\\]))",
661
- "endCaptures": {
662
- "1": {
663
- "name": "punctuation.separator.list.cython"
664
- }
665
- },
666
639
  "patterns": [
667
640
  {
668
641
  "include": "$self"
669
642
  }
670
- ]
643
+ ],
644
+ "endCaptures": {
645
+ "1": {
646
+ "name": "punctuation.separator.list.cython"
647
+ }
648
+ }
671
649
  }
672
- ]
650
+ ],
651
+ "beginCaptures": {
652
+ "1": {
653
+ "name": "punctuation.definition.list.begin.cython"
654
+ }
655
+ },
656
+ "endCaptures": {
657
+ "1": {
658
+ "name": "punctuation.definition.list.end.cython"
659
+ }
660
+ }
673
661
  },
674
662
  {
663
+ "name": "meta.structure.tuple.cython",
664
+ "match": "(\\()(\\s*(\\)))",
675
665
  "captures": {
676
666
  "1": {
677
667
  "name": "punctuation.definition.tuple.begin.cython"
@@ -682,11 +672,11 @@
682
672
  "3": {
683
673
  "name": "punctuation.definition.tuple.end.cython"
684
674
  }
685
- },
686
- "match": "(\\()(\\s*(\\)))",
687
- "name": "meta.structure.tuple.cython"
675
+ }
688
676
  },
689
677
  {
678
+ "name": "meta.structure.dictionary.cython",
679
+ "match": "(\\{)(\\s*(\\}))",
690
680
  "captures": {
691
681
  "1": {
692
682
  "name": "punctuation.definition.dictionary.begin.cython"
@@ -697,81 +687,79 @@
697
687
  "3": {
698
688
  "name": "punctuation.definition.dictionary.end.cython"
699
689
  }
700
- },
701
- "match": "(\\{)(\\s*(\\}))",
702
- "name": "meta.structure.dictionary.cython"
690
+ }
703
691
  },
704
692
  {
693
+ "name": "meta.structure.dictionary.cython",
705
694
  "begin": "(\\{)",
706
- "beginCaptures": {
707
- "1": {
708
- "name": "punctuation.definition.dictionary.begin.cython"
709
- }
710
- },
711
695
  "end": "(\\})",
712
- "endCaptures": {
713
- "1": {
714
- "name": "punctuation.definition.dictionary.end.cython"
715
- }
716
- },
717
- "name": "meta.structure.dictionary.cython",
718
696
  "patterns": [
719
697
  {
720
- "begin": "(?<=\\{|\\,|^)\\s*(?![\\},])",
721
698
  "contentName": "meta.structure.dictionary.key.cython",
699
+ "begin": "(?\u003c=\\{|\\,|^)\\s*(?![\\},])",
722
700
  "end": "\\s*(?:(?=\\})|(\\:))",
723
- "endCaptures": {
724
- "1": {
725
- "name": "punctuation.separator.valuepair.dictionary.cython"
726
- }
727
- },
728
701
  "patterns": [
729
702
  {
730
703
  "include": "$self"
731
704
  }
732
- ]
705
+ ],
706
+ "endCaptures": {
707
+ "1": {
708
+ "name": "punctuation.separator.valuepair.dictionary.cython"
709
+ }
710
+ }
733
711
  },
734
712
  {
735
- "begin": "(?<=\\:|^)\\s*",
736
713
  "contentName": "meta.structure.dictionary.value.cython",
714
+ "begin": "(?\u003c=\\:|^)\\s*",
737
715
  "end": "\\s*(?:(?=\\})|(,))",
738
- "endCaptures": {
739
- "1": {
740
- "name": "punctuation.separator.dictionary.cython"
741
- }
742
- },
743
716
  "patterns": [
744
717
  {
745
718
  "include": "$self"
746
719
  }
747
- ]
720
+ ],
721
+ "endCaptures": {
722
+ "1": {
723
+ "name": "punctuation.separator.dictionary.cython"
724
+ }
725
+ }
748
726
  }
749
- ]
727
+ ],
728
+ "beginCaptures": {
729
+ "1": {
730
+ "name": "punctuation.definition.dictionary.begin.cython"
731
+ }
732
+ },
733
+ "endCaptures": {
734
+ "1": {
735
+ "name": "punctuation.definition.dictionary.end.cython"
736
+ }
737
+ }
750
738
  }
751
739
  ],
752
740
  "repository": {
753
741
  "builtin_exceptions": {
754
- "match": "(?x)\\b((Arithmetic|Assertion|Attribute|EOF|Environment|FloatingPoint|IO|Import|Indentation|Index|Key|Lookup|Memory|Name|OS|Overflow|NotImplemented|Reference|Runtime|Standard|Syntax|System|Tab|Type|UnboundLocal|Unicode(Translate|Encode|Decode)?|Value|ZeroDivision)Error|(Deprecation|Future|Overflow|PendingDeprecation|Runtime|Syntax|User)?Warning|KeyboardInterrupt|NotImplemented|StopIteration|SystemExit|(Base)?Exception)\\b",
755
- "name": "support.type.exception.cython"
742
+ "name": "support.type.exception.cython",
743
+ "match": "(?x)\\b((Arithmetic|Assertion|Attribute|EOF|Environment|FloatingPoint|IO|Import|Indentation|Index|Key|Lookup|Memory|Name|OS|Overflow|NotImplemented|Reference|Runtime|Standard|Syntax|System|Tab|Type|UnboundLocal|Unicode(Translate|Encode|Decode)?|Value|ZeroDivision)Error|(Deprecation|Future|Overflow|PendingDeprecation|Runtime|Syntax|User)?Warning|KeyboardInterrupt|NotImplemented|StopIteration|SystemExit|(Base)?Exception)\\b"
756
744
  },
757
745
  "builtin_functions": {
758
- "match": "(?x)\\b(\n __import__|all|abs|any|apply|callable|chr|cmp|coerce|compile|delattr|dir|\n divmod|eval|execfile|filter|getattr|globals|hasattr|hash|hex|id|\n input|intern|isinstance|issubclass|iter|len|locals|map|max|min|oct|\n ord|pow|range|raw_input|reduce|reload|repr|round|setattr|sorted|\n sum|unichr|vars|zip\n\t\t\t)\\b",
759
- "name": "support.function.builtin.cython"
746
+ "name": "support.function.builtin.cython",
747
+ "match": "(?x)\\b(\n __import__|all|abs|any|apply|callable|chr|cmp|coerce|compile|delattr|dir|\n divmod|eval|execfile|filter|getattr|globals|hasattr|hash|hex|id|\n input|intern|isinstance|issubclass|iter|len|locals|map|max|min|oct|\n ord|pow|range|raw_input|reduce|reload|repr|round|setattr|sorted|\n sum|unichr|vars|zip\n\t\t\t)\\b"
760
748
  },
761
749
  "builtin_types": {
762
- "match": "(?x)\\b(\n\t\t\t\tbasestring|bool|buffer|classmethod|complex|dict|enumerate|file|\n\t\t\t\tfloat|frozenset|int|list|long|object|open|reversed|set|\n\t\t\t\tslice|staticmethod|str|super|tuple|type|unicode|xrange\n\t\t\t)\\b",
763
- "name": "support.type.cython"
750
+ "name": "support.type.cython",
751
+ "match": "(?x)\\b(\n\t\t\t\tbasestring|bool|buffer|classmethod|complex|dict|enumerate|file|\n\t\t\t\tfloat|frozenset|int|list|long|object|open|reversed|set|\n\t\t\t\tslice|staticmethod|str|super|tuple|type|unicode|xrange\n\t\t\t)\\b"
764
752
  },
765
753
  "constant_placeholder": {
766
- "match": "(?i:%(\\([a-z_]+\\))?#?0?\\-?[ ]?\\+?([0-9]*|\\*)(\\.([0-9]*|\\*))?[hL]?[a-z%])",
767
- "name": "constant.other.placeholder.cython"
754
+ "name": "constant.other.placeholder.cython",
755
+ "match": "(?i:%(\\([a-z_]+\\))?#?0?\\-?[ ]?\\+?([0-9]*|\\*)(\\.([0-9]*|\\*))?[hL]?[a-z%])"
768
756
  },
769
757
  "docstrings": {
770
758
  "patterns": [
771
759
  {
772
- "begin": "^\\s*(?=[uU]?[rR]?\"\"\")",
773
- "end": "(?<=\"\"\")",
774
760
  "name": "comment.block.cython",
761
+ "begin": "^\\s*(?=[uU]?[rR]?\"\"\")",
762
+ "end": "(?\u003c=\"\"\")",
775
763
  "patterns": [
776
764
  {
777
765
  "include": "#string_quoted_double"
@@ -779,9 +767,9 @@
779
767
  ]
780
768
  },
781
769
  {
782
- "begin": "^\\s*(?=[uU]?[rR]?''')",
783
- "end": "(?<=''')",
784
770
  "name": "comment.block.cython",
771
+ "begin": "^\\s*(?=[uU]?[rR]?''')",
772
+ "end": "(?\u003c=''')",
785
773
  "patterns": [
786
774
  {
787
775
  "include": "#string_quoted_single"
@@ -813,7 +801,7 @@
813
801
  ]
814
802
  },
815
803
  {
816
- "begin": "(?<!\\.)(?=[A-Za-z_][A-Za-z0-9_]*)",
804
+ "begin": "(?\u003c!\\.)(?=[A-Za-z_][A-Za-z0-9_]*)",
817
805
  "end": "(?![A-Za-z0-9_])",
818
806
  "patterns": [
819
807
  {
@@ -868,6 +856,7 @@
868
856
  ]
869
857
  },
870
858
  "escaped_char": {
859
+ "match": "(\\\\x[0-9A-F]{2})|(\\\\[0-7]{3})|(\\\\\\n)|(\\\\\\\\)|(\\\\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)",
871
860
  "captures": {
872
861
  "1": {
873
862
  "name": "constant.character.escape.hex.cython"
@@ -908,10 +897,10 @@
908
897
  "9": {
909
898
  "name": "constant.character.escape.formfeed.cython"
910
899
  }
911
- },
912
- "match": "(\\\\x[0-9A-F]{2})|(\\\\[0-7]{3})|(\\\\\\n)|(\\\\\\\\)|(\\\\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)"
900
+ }
913
901
  },
914
902
  "escaped_unicode_char": {
903
+ "match": "(\\\\U[0-9A-Fa-f]{8})|(\\\\u[0-9A-Fa-f]{4})|(\\\\N\\{[a-zA-Z ]+\\})",
915
904
  "captures": {
916
905
  "1": {
917
906
  "name": "constant.character.escape.unicode.16-bit-hex.cython"
@@ -922,8 +911,7 @@
922
911
  "3": {
923
912
  "name": "constant.character.escape.unicode.name.cython"
924
913
  }
925
- },
926
- "match": "(\\\\U[0-9A-Fa-f]{8})|(\\\\u[0-9A-Fa-f]{4})|(\\\\N\\{[a-zA-Z ]+\\})"
914
+ }
927
915
  },
928
916
  "function_name": {
929
917
  "patterns": [
@@ -951,11 +939,17 @@
951
939
  "match": "[A-Za-z_][A-Za-z0-9_]*"
952
940
  },
953
941
  "illegal_names": {
954
- "match": "\\b(and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield)\\b",
955
- "name": "invalid.illegal.name.cython"
942
+ "name": "invalid.illegal.name.cython",
943
+ "match": "\\b(and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield)\\b"
956
944
  },
957
945
  "keyword_arguments": {
958
946
  "begin": "\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(=)(?!=)",
947
+ "end": "\\s*(?:(,)|(?=$\\n?|[\\)\\:]))",
948
+ "patterns": [
949
+ {
950
+ "include": "$self"
951
+ }
952
+ ],
959
953
  "beginCaptures": {
960
954
  "1": {
961
955
  "name": "variable.parameter.function.cython"
@@ -964,23 +958,18 @@
964
958
  "name": "keyword.operator.assignment.cython"
965
959
  }
966
960
  },
967
- "end": "\\s*(?:(,)|(?=$\\n?|[\\)\\:]))",
968
961
  "endCaptures": {
969
962
  "1": {
970
963
  "name": "punctuation.separator.parameters.cython"
971
964
  }
972
- },
973
- "patterns": [
974
- {
975
- "include": "$self"
976
- }
977
- ]
965
+ }
978
966
  },
979
967
  "language_variables": {
980
- "match": "\\b(self|cls)\\b",
981
- "name": "variable.language.cython"
968
+ "name": "variable.language.cython",
969
+ "match": "\\b(self|cls)\\b"
982
970
  },
983
971
  "line_continuation": {
972
+ "match": "(\\\\)(.*)$\\n?",
984
973
  "captures": {
985
974
  "1": {
986
975
  "name": "punctuation.separator.continuation.line.cython"
@@ -988,22 +977,17 @@
988
977
  "2": {
989
978
  "name": "invalid.illegal.unexpected-text.cython"
990
979
  }
991
- },
992
- "match": "(\\\\)(.*)$\\n?"
980
+ }
993
981
  },
994
982
  "magic_function_names": {
995
- "comment": "these methods have magic interpretation by cython and are generally called indirectly through syntactic constructs",
996
- "match": "(?x)\\b(__(?:\n\t\t\t\t\t\tabs|add|and|call|cmp|coerce|complex|contains|del|delattr|\n\t\t\t\t\t\tdelete|delitem|delslice|div|divmod|enter|eq|exit|float|\n\t\t\t\t\t\tfloordiv|ge|get|getattr|getattribute|getitem|getslice|gt|\n\t\t\t\t\t\thash|hex|iadd|iand|idiv|ifloordiv|ilshift|imod|imul|init|\n\t\t\t\t\t\tint|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|le|len|\n\t\t\t\t\t\tlong|lshift|lt|mod|mul|ne|neg|new|nonzero|oct|or|pos|pow|\n\t\t\t\t\t\tradd|rand|rdiv|rdivmod|repr|rfloordiv|rlshift|rmod|rmul|ror|\n\t\t\t\t\t\trpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|\n\t\t\t\t\t\tsetslice|str|sub|truediv|unicode|xor\n\t\t\t\t\t)__)\\b",
997
- "name": "support.function.magic.cython"
983
+ "name": "support.function.magic.cython",
984
+ "match": "(?x)\\b(__(?:\n\t\t\t\t\t\tabs|add|and|call|cmp|coerce|complex|contains|del|delattr|\n\t\t\t\t\t\tdelete|delitem|delslice|div|divmod|enter|eq|exit|float|\n\t\t\t\t\t\tfloordiv|ge|get|getattr|getattribute|getitem|getslice|gt|\n\t\t\t\t\t\thash|hex|iadd|iand|idiv|ifloordiv|ilshift|imod|imul|init|\n\t\t\t\t\t\tint|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|le|len|\n\t\t\t\t\t\tlong|lshift|lt|mod|mul|ne|neg|new|nonzero|oct|or|pos|pow|\n\t\t\t\t\t\tradd|rand|rdiv|rdivmod|repr|rfloordiv|rlshift|rmod|rmul|ror|\n\t\t\t\t\t\trpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|\n\t\t\t\t\t\tsetslice|str|sub|truediv|unicode|xor\n\t\t\t\t\t)__)\\b"
998
985
  },
999
986
  "magic_variable_names": {
1000
- "comment": "magic variables which a class/module may have.",
1001
- "match": "\\b__(all|bases|class|debug|dict|doc|file|members|metaclass|methods|name|slots|weakref)__\\b",
1002
- "name": "support.variable.magic.cython"
987
+ "name": "support.variable.magic.cython",
988
+ "match": "\\b__(all|bases|class|debug|dict|doc|file|members|metaclass|methods|name|slots|weakref)__\\b"
1003
989
  },
1004
990
  "regular_expressions": {
1005
- "comment": "Changed disabled to 1 to turn off syntax highlighting in “r” strings.",
1006
- "disabled": 0,
1007
991
  "patterns": [
1008
992
  {
1009
993
  "include": "source.regexp.python"
@@ -1013,26 +997,9 @@
1013
997
  "string_quoted_double": {
1014
998
  "patterns": [
1015
999
  {
1016
- "begin": "([uU]r)(\"\"\")",
1017
- "beginCaptures": {
1018
- "1": {
1019
- "name": "storage.type.string.cython"
1020
- },
1021
- "2": {
1022
- "name": "punctuation.definition.string.begin.cython"
1023
- }
1024
- },
1025
- "comment": "single quoted unicode-raw string",
1026
- "end": "((?<=\"\"\")(\")\"\"|\"\"\")",
1027
- "endCaptures": {
1028
- "1": {
1029
- "name": "punctuation.definition.string.end.cython"
1030
- },
1031
- "2": {
1032
- "name": "meta.empty-string.double.cython"
1033
- }
1034
- },
1035
1000
  "name": "string.quoted.double.block.unicode-raw-regex.cython",
1001
+ "begin": "([uU]r)(\"\"\")",
1002
+ "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1036
1003
  "patterns": [
1037
1004
  {
1038
1005
  "include": "#constant_placeholder"
@@ -1046,10 +1013,7 @@
1046
1013
  {
1047
1014
  "include": "#regular_expressions"
1048
1015
  }
1049
- ]
1050
- },
1051
- {
1052
- "begin": "([uU]R)(\"\"\")",
1016
+ ],
1053
1017
  "beginCaptures": {
1054
1018
  "1": {
1055
1019
  "name": "storage.type.string.cython"
@@ -1058,8 +1022,6 @@
1058
1022
  "name": "punctuation.definition.string.begin.cython"
1059
1023
  }
1060
1024
  },
1061
- "comment": "single quoted unicode-raw string without regular expression highlighting",
1062
- "end": "((?<=\"\"\")(\")\"\"|\"\"\")",
1063
1025
  "endCaptures": {
1064
1026
  "1": {
1065
1027
  "name": "punctuation.definition.string.end.cython"
@@ -1067,8 +1029,12 @@
1067
1029
  "2": {
1068
1030
  "name": "meta.empty-string.double.cython"
1069
1031
  }
1070
- },
1032
+ }
1033
+ },
1034
+ {
1071
1035
  "name": "string.quoted.double.block.unicode-raw.cython",
1036
+ "begin": "([uU]R)(\"\"\")",
1037
+ "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1072
1038
  "patterns": [
1073
1039
  {
1074
1040
  "include": "#constant_placeholder"
@@ -1079,10 +1045,7 @@
1079
1045
  {
1080
1046
  "include": "#escaped_char"
1081
1047
  }
1082
- ]
1083
- },
1084
- {
1085
- "begin": "(r)(\"\"\")",
1048
+ ],
1086
1049
  "beginCaptures": {
1087
1050
  "1": {
1088
1051
  "name": "storage.type.string.cython"
@@ -1091,8 +1054,6 @@
1091
1054
  "name": "punctuation.definition.string.begin.cython"
1092
1055
  }
1093
1056
  },
1094
- "comment": "double quoted raw string",
1095
- "end": "((?<=\"\"\")(\")\"\"|\"\"\")",
1096
1057
  "endCaptures": {
1097
1058
  "1": {
1098
1059
  "name": "punctuation.definition.string.end.cython"
@@ -1100,8 +1061,12 @@
1100
1061
  "2": {
1101
1062
  "name": "meta.empty-string.double.cython"
1102
1063
  }
1103
- },
1064
+ }
1065
+ },
1066
+ {
1104
1067
  "name": "string.quoted.double.block.raw-regex.cython",
1068
+ "begin": "(r)(\"\"\")",
1069
+ "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1105
1070
  "patterns": [
1106
1071
  {
1107
1072
  "include": "#constant_placeholder"
@@ -1112,10 +1077,7 @@
1112
1077
  {
1113
1078
  "include": "#regular_expressions"
1114
1079
  }
1115
- ]
1116
- },
1117
- {
1118
- "begin": "(R)(\"\"\")",
1080
+ ],
1119
1081
  "beginCaptures": {
1120
1082
  "1": {
1121
1083
  "name": "storage.type.string.cython"
@@ -1124,8 +1086,6 @@
1124
1086
  "name": "punctuation.definition.string.begin.cython"
1125
1087
  }
1126
1088
  },
1127
- "comment": "double quoted raw string",
1128
- "end": "((?<=\"\"\")(\")\"\"|\"\"\")",
1129
1089
  "endCaptures": {
1130
1090
  "1": {
1131
1091
  "name": "punctuation.definition.string.end.cython"
@@ -1133,8 +1093,12 @@
1133
1093
  "2": {
1134
1094
  "name": "meta.empty-string.double.cython"
1135
1095
  }
1136
- },
1096
+ }
1097
+ },
1098
+ {
1137
1099
  "name": "string.quoted.double.block.raw.cython",
1100
+ "begin": "(R)(\"\"\")",
1101
+ "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1138
1102
  "patterns": [
1139
1103
  {
1140
1104
  "include": "#constant_placeholder"
@@ -1142,10 +1106,7 @@
1142
1106
  {
1143
1107
  "include": "#escaped_char"
1144
1108
  }
1145
- ]
1146
- },
1147
- {
1148
- "begin": "([uU])(\"\"\")",
1109
+ ],
1149
1110
  "beginCaptures": {
1150
1111
  "1": {
1151
1112
  "name": "storage.type.string.cython"
@@ -1154,8 +1115,6 @@
1154
1115
  "name": "punctuation.definition.string.begin.cython"
1155
1116
  }
1156
1117
  },
1157
- "comment": "double quoted unicode string",
1158
- "end": "((?<=\"\"\")(\")\"\"|\"\"\")",
1159
1118
  "endCaptures": {
1160
1119
  "1": {
1161
1120
  "name": "punctuation.definition.string.end.cython"
@@ -1163,8 +1122,12 @@
1163
1122
  "2": {
1164
1123
  "name": "meta.empty-string.double.cython"
1165
1124
  }
1166
- },
1125
+ }
1126
+ },
1127
+ {
1167
1128
  "name": "string.quoted.double.block.unicode.cython",
1129
+ "begin": "([uU])(\"\"\")",
1130
+ "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1168
1131
  "patterns": [
1169
1132
  {
1170
1133
  "include": "#constant_placeholder"
@@ -1175,10 +1138,7 @@
1175
1138
  {
1176
1139
  "include": "#escaped_char"
1177
1140
  }
1178
- ]
1179
- },
1180
- {
1181
- "begin": "([uU]r)(\")",
1141
+ ],
1182
1142
  "beginCaptures": {
1183
1143
  "1": {
1184
1144
  "name": "storage.type.string.cython"
@@ -1187,20 +1147,19 @@
1187
1147
  "name": "punctuation.definition.string.begin.cython"
1188
1148
  }
1189
1149
  },
1190
- "comment": "double-quoted raw string",
1191
- "end": "((?<=\")(\")|\")|(\\n)",
1192
1150
  "endCaptures": {
1193
1151
  "1": {
1194
1152
  "name": "punctuation.definition.string.end.cython"
1195
1153
  },
1196
1154
  "2": {
1197
1155
  "name": "meta.empty-string.double.cython"
1198
- },
1199
- "3": {
1200
- "name": "invalid.illegal.unclosed-string.cython"
1201
1156
  }
1202
- },
1157
+ }
1158
+ },
1159
+ {
1203
1160
  "name": "string.quoted.double.single-line.unicode-raw-regex.cython",
1161
+ "begin": "([uU]r)(\")",
1162
+ "end": "((?\u003c=\")(\")|\")|(\\n)",
1204
1163
  "patterns": [
1205
1164
  {
1206
1165
  "include": "#constant_placeholder"
@@ -1214,10 +1173,7 @@
1214
1173
  {
1215
1174
  "include": "#regular_expressions"
1216
1175
  }
1217
- ]
1218
- },
1219
- {
1220
- "begin": "([uU]R)(\")",
1176
+ ],
1221
1177
  "beginCaptures": {
1222
1178
  "1": {
1223
1179
  "name": "storage.type.string.cython"
@@ -1226,8 +1182,6 @@
1226
1182
  "name": "punctuation.definition.string.begin.cython"
1227
1183
  }
1228
1184
  },
1229
- "comment": "double-quoted raw string",
1230
- "end": "((?<=\")(\")|\")|(\\n)",
1231
1185
  "endCaptures": {
1232
1186
  "1": {
1233
1187
  "name": "punctuation.definition.string.end.cython"
@@ -1238,8 +1192,12 @@
1238
1192
  "3": {
1239
1193
  "name": "invalid.illegal.unclosed-string.cython"
1240
1194
  }
1241
- },
1195
+ }
1196
+ },
1197
+ {
1242
1198
  "name": "string.quoted.double.single-line.unicode-raw.cython",
1199
+ "begin": "([uU]R)(\")",
1200
+ "end": "((?\u003c=\")(\")|\")|(\\n)",
1243
1201
  "patterns": [
1244
1202
  {
1245
1203
  "include": "#constant_placeholder"
@@ -1250,10 +1208,7 @@
1250
1208
  {
1251
1209
  "include": "#escaped_char"
1252
1210
  }
1253
- ]
1254
- },
1255
- {
1256
- "begin": "(r)(\")",
1211
+ ],
1257
1212
  "beginCaptures": {
1258
1213
  "1": {
1259
1214
  "name": "storage.type.string.cython"
@@ -1262,8 +1217,6 @@
1262
1217
  "name": "punctuation.definition.string.begin.cython"
1263
1218
  }
1264
1219
  },
1265
- "comment": "double-quoted raw string",
1266
- "end": "((?<=\")(\")|\")|(\\n)",
1267
1220
  "endCaptures": {
1268
1221
  "1": {
1269
1222
  "name": "punctuation.definition.string.end.cython"
@@ -1274,8 +1227,12 @@
1274
1227
  "3": {
1275
1228
  "name": "invalid.illegal.unclosed-string.cython"
1276
1229
  }
1277
- },
1230
+ }
1231
+ },
1232
+ {
1278
1233
  "name": "string.quoted.double.single-line.raw-regex.cython",
1234
+ "begin": "(r)(\")",
1235
+ "end": "((?\u003c=\")(\")|\")|(\\n)",
1279
1236
  "patterns": [
1280
1237
  {
1281
1238
  "include": "#constant_placeholder"
@@ -1286,10 +1243,7 @@
1286
1243
  {
1287
1244
  "include": "#regular_expressions"
1288
1245
  }
1289
- ]
1290
- },
1291
- {
1292
- "begin": "(R)(\")",
1246
+ ],
1293
1247
  "beginCaptures": {
1294
1248
  "1": {
1295
1249
  "name": "storage.type.string.cython"
@@ -1298,8 +1252,6 @@
1298
1252
  "name": "punctuation.definition.string.begin.cython"
1299
1253
  }
1300
1254
  },
1301
- "comment": "double-quoted raw string",
1302
- "end": "((?<=\")(\")|\")|(\\n)",
1303
1255
  "endCaptures": {
1304
1256
  "1": {
1305
1257
  "name": "punctuation.definition.string.end.cython"
@@ -1310,8 +1262,12 @@
1310
1262
  "3": {
1311
1263
  "name": "invalid.illegal.unclosed-string.cython"
1312
1264
  }
1313
- },
1265
+ }
1266
+ },
1267
+ {
1314
1268
  "name": "string.quoted.double.single-line.raw.cython",
1269
+ "begin": "(R)(\")",
1270
+ "end": "((?\u003c=\")(\")|\")|(\\n)",
1315
1271
  "patterns": [
1316
1272
  {
1317
1273
  "include": "#constant_placeholder"
@@ -1319,10 +1275,7 @@
1319
1275
  {
1320
1276
  "include": "#escaped_char"
1321
1277
  }
1322
- ]
1323
- },
1324
- {
1325
- "begin": "([uU])(\")",
1278
+ ],
1326
1279
  "beginCaptures": {
1327
1280
  "1": {
1328
1281
  "name": "storage.type.string.cython"
@@ -1331,8 +1284,6 @@
1331
1284
  "name": "punctuation.definition.string.begin.cython"
1332
1285
  }
1333
1286
  },
1334
- "comment": "double quoted unicode string",
1335
- "end": "((?<=\")(\")|\")|(\\n)",
1336
1287
  "endCaptures": {
1337
1288
  "1": {
1338
1289
  "name": "punctuation.definition.string.end.cython"
@@ -1343,8 +1294,12 @@
1343
1294
  "3": {
1344
1295
  "name": "invalid.illegal.unclosed-string.cython"
1345
1296
  }
1346
- },
1297
+ }
1298
+ },
1299
+ {
1347
1300
  "name": "string.quoted.double.single-line.unicode.cython",
1301
+ "begin": "([uU])(\")",
1302
+ "end": "((?\u003c=\")(\")|\")|(\\n)",
1348
1303
  "patterns": [
1349
1304
  {
1350
1305
  "include": "#constant_placeholder"
@@ -1355,26 +1310,31 @@
1355
1310
  {
1356
1311
  "include": "#escaped_char"
1357
1312
  }
1358
- ]
1359
- },
1360
- {
1361
- "begin": "(\"\"\")(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
1313
+ ],
1362
1314
  "beginCaptures": {
1363
1315
  "1": {
1316
+ "name": "storage.type.string.cython"
1317
+ },
1318
+ "2": {
1364
1319
  "name": "punctuation.definition.string.begin.cython"
1365
1320
  }
1366
1321
  },
1367
- "comment": "double quoted string",
1368
- "end": "((?<=\"\"\")(\")\"\"|\"\"\")",
1369
1322
  "endCaptures": {
1370
1323
  "1": {
1371
1324
  "name": "punctuation.definition.string.end.cython"
1372
1325
  },
1373
1326
  "2": {
1374
1327
  "name": "meta.empty-string.double.cython"
1328
+ },
1329
+ "3": {
1330
+ "name": "invalid.illegal.unclosed-string.cython"
1375
1331
  }
1376
- },
1332
+ }
1333
+ },
1334
+ {
1377
1335
  "name": "string.quoted.double.block.sql.cython",
1336
+ "begin": "(\"\"\")(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
1337
+ "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1378
1338
  "patterns": [
1379
1339
  {
1380
1340
  "include": "#constant_placeholder"
@@ -1385,29 +1345,25 @@
1385
1345
  {
1386
1346
  "include": "source.sql"
1387
1347
  }
1388
- ]
1389
- },
1390
- {
1391
- "begin": "(\")(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
1348
+ ],
1392
1349
  "beginCaptures": {
1393
1350
  "1": {
1394
1351
  "name": "punctuation.definition.string.begin.cython"
1395
1352
  }
1396
1353
  },
1397
- "comment": "double quoted string",
1398
- "end": "((?<=\")(\")|\")|(\\n)",
1399
1354
  "endCaptures": {
1400
1355
  "1": {
1401
1356
  "name": "punctuation.definition.string.end.cython"
1402
1357
  },
1403
1358
  "2": {
1404
1359
  "name": "meta.empty-string.double.cython"
1405
- },
1406
- "3": {
1407
- "name": "invalid.illegal.unclosed-string.cython"
1408
1360
  }
1409
- },
1361
+ }
1362
+ },
1363
+ {
1410
1364
  "name": "string.quoted.double.single-line.sql.cython",
1365
+ "begin": "(\")(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
1366
+ "end": "((?\u003c=\")(\")|\")|(\\n)",
1411
1367
  "patterns": [
1412
1368
  {
1413
1369
  "include": "#constant_placeholder"
@@ -1418,26 +1374,28 @@
1418
1374
  {
1419
1375
  "include": "source.sql"
1420
1376
  }
1421
- ]
1422
- },
1423
- {
1424
- "begin": "(\"\"\")",
1377
+ ],
1425
1378
  "beginCaptures": {
1426
1379
  "1": {
1427
1380
  "name": "punctuation.definition.string.begin.cython"
1428
1381
  }
1429
1382
  },
1430
- "comment": "double quoted string",
1431
- "end": "((?<=\"\"\")(\")\"\"|\"\"\")",
1432
1383
  "endCaptures": {
1433
1384
  "1": {
1434
1385
  "name": "punctuation.definition.string.end.cython"
1435
1386
  },
1436
1387
  "2": {
1437
1388
  "name": "meta.empty-string.double.cython"
1389
+ },
1390
+ "3": {
1391
+ "name": "invalid.illegal.unclosed-string.cython"
1438
1392
  }
1439
- },
1393
+ }
1394
+ },
1395
+ {
1440
1396
  "name": "string.quoted.double.block.cython",
1397
+ "begin": "(\"\"\")",
1398
+ "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1441
1399
  "patterns": [
1442
1400
  {
1443
1401
  "include": "#constant_placeholder"
@@ -1445,29 +1403,25 @@
1445
1403
  {
1446
1404
  "include": "#escaped_char"
1447
1405
  }
1448
- ]
1449
- },
1450
- {
1451
- "begin": "(\")",
1406
+ ],
1452
1407
  "beginCaptures": {
1453
1408
  "1": {
1454
1409
  "name": "punctuation.definition.string.begin.cython"
1455
1410
  }
1456
1411
  },
1457
- "comment": "double quoted string",
1458
- "end": "((?<=\")(\")|\")|(\\n)",
1459
1412
  "endCaptures": {
1460
1413
  "1": {
1461
1414
  "name": "punctuation.definition.string.end.cython"
1462
1415
  },
1463
1416
  "2": {
1464
1417
  "name": "meta.empty-string.double.cython"
1465
- },
1466
- "3": {
1467
- "name": "invalid.illegal.unclosed-string.cython"
1468
1418
  }
1469
- },
1419
+ }
1420
+ },
1421
+ {
1470
1422
  "name": "string.quoted.double.single-line.cython",
1423
+ "begin": "(\")",
1424
+ "end": "((?\u003c=\")(\")|\")|(\\n)",
1471
1425
  "patterns": [
1472
1426
  {
1473
1427
  "include": "#constant_placeholder"
@@ -1475,13 +1429,31 @@
1475
1429
  {
1476
1430
  "include": "#escaped_char"
1477
1431
  }
1478
- ]
1432
+ ],
1433
+ "beginCaptures": {
1434
+ "1": {
1435
+ "name": "punctuation.definition.string.begin.cython"
1436
+ }
1437
+ },
1438
+ "endCaptures": {
1439
+ "1": {
1440
+ "name": "punctuation.definition.string.end.cython"
1441
+ },
1442
+ "2": {
1443
+ "name": "meta.empty-string.double.cython"
1444
+ },
1445
+ "3": {
1446
+ "name": "invalid.illegal.unclosed-string.cython"
1447
+ }
1448
+ }
1479
1449
  }
1480
1450
  ]
1481
1451
  },
1482
1452
  "string_quoted_single": {
1483
1453
  "patterns": [
1484
1454
  {
1455
+ "name": "string.quoted.single.single-line.cython",
1456
+ "match": "(?\u003c!')(')(('))(?!')",
1485
1457
  "captures": {
1486
1458
  "1": {
1487
1459
  "name": "punctuation.definition.string.begin.cython"
@@ -1492,31 +1464,12 @@
1492
1464
  "3": {
1493
1465
  "name": "meta.empty-string.single.cython"
1494
1466
  }
1495
- },
1496
- "match": "(?<!')(')(('))(?!')",
1497
- "name": "string.quoted.single.single-line.cython"
1467
+ }
1498
1468
  },
1499
1469
  {
1500
- "begin": "([uU]r)(''')",
1501
- "beginCaptures": {
1502
- "1": {
1503
- "name": "storage.type.string.cython"
1504
- },
1505
- "2": {
1506
- "name": "punctuation.definition.string.begin.cython"
1507
- }
1508
- },
1509
- "comment": "single quoted unicode-raw string",
1510
- "end": "((?<=''')(')''|''')",
1511
- "endCaptures": {
1512
- "1": {
1513
- "name": "punctuation.definition.string.end.cython"
1514
- },
1515
- "2": {
1516
- "name": "meta.empty-string.single.cython"
1517
- }
1518
- },
1519
1470
  "name": "string.quoted.single.block.unicode-raw-regex.cython",
1471
+ "begin": "([uU]r)(''')",
1472
+ "end": "((?\u003c=''')(')''|''')",
1520
1473
  "patterns": [
1521
1474
  {
1522
1475
  "include": "#constant_placeholder"
@@ -1530,10 +1483,7 @@
1530
1483
  {
1531
1484
  "include": "#regular_expressions"
1532
1485
  }
1533
- ]
1534
- },
1535
- {
1536
- "begin": "([uU]R)(''')",
1486
+ ],
1537
1487
  "beginCaptures": {
1538
1488
  "1": {
1539
1489
  "name": "storage.type.string.cython"
@@ -1542,8 +1492,6 @@
1542
1492
  "name": "punctuation.definition.string.begin.cython"
1543
1493
  }
1544
1494
  },
1545
- "comment": "single quoted unicode-raw string",
1546
- "end": "((?<=''')(')''|''')",
1547
1495
  "endCaptures": {
1548
1496
  "1": {
1549
1497
  "name": "punctuation.definition.string.end.cython"
@@ -1551,8 +1499,12 @@
1551
1499
  "2": {
1552
1500
  "name": "meta.empty-string.single.cython"
1553
1501
  }
1554
- },
1502
+ }
1503
+ },
1504
+ {
1555
1505
  "name": "string.quoted.single.block.unicode-raw.cython",
1506
+ "begin": "([uU]R)(''')",
1507
+ "end": "((?\u003c=''')(')''|''')",
1556
1508
  "patterns": [
1557
1509
  {
1558
1510
  "include": "#constant_placeholder"
@@ -1563,10 +1515,7 @@
1563
1515
  {
1564
1516
  "include": "#escaped_char"
1565
1517
  }
1566
- ]
1567
- },
1568
- {
1569
- "begin": "(r)(''')",
1518
+ ],
1570
1519
  "beginCaptures": {
1571
1520
  "1": {
1572
1521
  "name": "storage.type.string.cython"
@@ -1575,8 +1524,6 @@
1575
1524
  "name": "punctuation.definition.string.begin.cython"
1576
1525
  }
1577
1526
  },
1578
- "comment": "single quoted raw string",
1579
- "end": "((?<=''')(')''|''')",
1580
1527
  "endCaptures": {
1581
1528
  "1": {
1582
1529
  "name": "punctuation.definition.string.end.cython"
@@ -1584,8 +1531,12 @@
1584
1531
  "2": {
1585
1532
  "name": "meta.empty-string.single.cython"
1586
1533
  }
1587
- },
1534
+ }
1535
+ },
1536
+ {
1588
1537
  "name": "string.quoted.single.block.raw-regex.cython",
1538
+ "begin": "(r)(''')",
1539
+ "end": "((?\u003c=''')(')''|''')",
1589
1540
  "patterns": [
1590
1541
  {
1591
1542
  "include": "#constant_placeholder"
@@ -1596,10 +1547,7 @@
1596
1547
  {
1597
1548
  "include": "#regular_expressions"
1598
1549
  }
1599
- ]
1600
- },
1601
- {
1602
- "begin": "(R)(''')",
1550
+ ],
1603
1551
  "beginCaptures": {
1604
1552
  "1": {
1605
1553
  "name": "storage.type.string.cython"
@@ -1608,8 +1556,6 @@
1608
1556
  "name": "punctuation.definition.string.begin.cython"
1609
1557
  }
1610
1558
  },
1611
- "comment": "single quoted raw string",
1612
- "end": "((?<=''')(')''|''')",
1613
1559
  "endCaptures": {
1614
1560
  "1": {
1615
1561
  "name": "punctuation.definition.string.end.cython"
@@ -1617,8 +1563,12 @@
1617
1563
  "2": {
1618
1564
  "name": "meta.empty-string.single.cython"
1619
1565
  }
1620
- },
1566
+ }
1567
+ },
1568
+ {
1621
1569
  "name": "string.quoted.single.block.raw.cython",
1570
+ "begin": "(R)(''')",
1571
+ "end": "((?\u003c=''')(')''|''')",
1622
1572
  "patterns": [
1623
1573
  {
1624
1574
  "include": "#constant_placeholder"
@@ -1626,10 +1576,7 @@
1626
1576
  {
1627
1577
  "include": "#escaped_char"
1628
1578
  }
1629
- ]
1630
- },
1631
- {
1632
- "begin": "([uU])(''')",
1579
+ ],
1633
1580
  "beginCaptures": {
1634
1581
  "1": {
1635
1582
  "name": "storage.type.string.cython"
@@ -1638,8 +1585,6 @@
1638
1585
  "name": "punctuation.definition.string.begin.cython"
1639
1586
  }
1640
1587
  },
1641
- "comment": "single quoted unicode string",
1642
- "end": "((?<=''')(')''|''')",
1643
1588
  "endCaptures": {
1644
1589
  "1": {
1645
1590
  "name": "punctuation.definition.string.end.cython"
@@ -1647,8 +1592,12 @@
1647
1592
  "2": {
1648
1593
  "name": "meta.empty-string.single.cython"
1649
1594
  }
1650
- },
1595
+ }
1596
+ },
1597
+ {
1651
1598
  "name": "string.quoted.single.block.unicode.cython",
1599
+ "begin": "([uU])(''')",
1600
+ "end": "((?\u003c=''')(')''|''')",
1652
1601
  "patterns": [
1653
1602
  {
1654
1603
  "include": "#constant_placeholder"
@@ -1659,10 +1608,7 @@
1659
1608
  {
1660
1609
  "include": "#escaped_char"
1661
1610
  }
1662
- ]
1663
- },
1664
- {
1665
- "begin": "([uU]r)(')",
1611
+ ],
1666
1612
  "beginCaptures": {
1667
1613
  "1": {
1668
1614
  "name": "storage.type.string.cython"
@@ -1671,17 +1617,19 @@
1671
1617
  "name": "punctuation.definition.string.begin.cython"
1672
1618
  }
1673
1619
  },
1674
- "comment": "single quoted raw string",
1675
- "end": "(')|(\\n)",
1676
1620
  "endCaptures": {
1677
1621
  "1": {
1678
1622
  "name": "punctuation.definition.string.end.cython"
1679
1623
  },
1680
1624
  "2": {
1681
- "name": "invalid.illegal.unclosed-string.cython"
1625
+ "name": "meta.empty-string.single.cython"
1682
1626
  }
1683
- },
1627
+ }
1628
+ },
1629
+ {
1684
1630
  "name": "string.quoted.single.single-line.unicode-raw-regex.cython",
1631
+ "begin": "([uU]r)(')",
1632
+ "end": "(')|(\\n)",
1685
1633
  "patterns": [
1686
1634
  {
1687
1635
  "include": "#constant_placeholder"
@@ -1695,10 +1643,7 @@
1695
1643
  {
1696
1644
  "include": "#regular_expressions"
1697
1645
  }
1698
- ]
1699
- },
1700
- {
1701
- "begin": "([uU]R)(')",
1646
+ ],
1702
1647
  "beginCaptures": {
1703
1648
  "1": {
1704
1649
  "name": "storage.type.string.cython"
@@ -1707,8 +1652,6 @@
1707
1652
  "name": "punctuation.definition.string.begin.cython"
1708
1653
  }
1709
1654
  },
1710
- "comment": "single quoted raw string",
1711
- "end": "(')|(\\n)",
1712
1655
  "endCaptures": {
1713
1656
  "1": {
1714
1657
  "name": "punctuation.definition.string.end.cython"
@@ -1716,8 +1659,12 @@
1716
1659
  "2": {
1717
1660
  "name": "invalid.illegal.unclosed-string.cython"
1718
1661
  }
1719
- },
1662
+ }
1663
+ },
1664
+ {
1720
1665
  "name": "string.quoted.single.single-line.unicode-raw.cython",
1666
+ "begin": "([uU]R)(')",
1667
+ "end": "(')|(\\n)",
1721
1668
  "patterns": [
1722
1669
  {
1723
1670
  "include": "#constant_placeholder"
@@ -1728,10 +1675,7 @@
1728
1675
  {
1729
1676
  "include": "#escaped_char"
1730
1677
  }
1731
- ]
1732
- },
1733
- {
1734
- "begin": "(r)(')",
1678
+ ],
1735
1679
  "beginCaptures": {
1736
1680
  "1": {
1737
1681
  "name": "storage.type.string.cython"
@@ -1740,8 +1684,6 @@
1740
1684
  "name": "punctuation.definition.string.begin.cython"
1741
1685
  }
1742
1686
  },
1743
- "comment": "single quoted raw string",
1744
- "end": "(')|(\\n)",
1745
1687
  "endCaptures": {
1746
1688
  "1": {
1747
1689
  "name": "punctuation.definition.string.end.cython"
@@ -1749,8 +1691,12 @@
1749
1691
  "2": {
1750
1692
  "name": "invalid.illegal.unclosed-string.cython"
1751
1693
  }
1752
- },
1694
+ }
1695
+ },
1696
+ {
1753
1697
  "name": "string.quoted.single.single-line.raw-regex.cython",
1698
+ "begin": "(r)(')",
1699
+ "end": "(')|(\\n)",
1754
1700
  "patterns": [
1755
1701
  {
1756
1702
  "include": "#constant_placeholder"
@@ -1761,10 +1707,7 @@
1761
1707
  {
1762
1708
  "include": "#regular_expressions"
1763
1709
  }
1764
- ]
1765
- },
1766
- {
1767
- "begin": "(R)(')",
1710
+ ],
1768
1711
  "beginCaptures": {
1769
1712
  "1": {
1770
1713
  "name": "storage.type.string.cython"
@@ -1773,8 +1716,6 @@
1773
1716
  "name": "punctuation.definition.string.begin.cython"
1774
1717
  }
1775
1718
  },
1776
- "comment": "single quoted raw string",
1777
- "end": "(')|(\\n)",
1778
1719
  "endCaptures": {
1779
1720
  "1": {
1780
1721
  "name": "punctuation.definition.string.end.cython"
@@ -1782,8 +1723,12 @@
1782
1723
  "2": {
1783
1724
  "name": "invalid.illegal.unclosed-string.cython"
1784
1725
  }
1785
- },
1726
+ }
1727
+ },
1728
+ {
1786
1729
  "name": "string.quoted.single.single-line.raw.cython",
1730
+ "begin": "(R)(')",
1731
+ "end": "(')|(\\n)",
1787
1732
  "patterns": [
1788
1733
  {
1789
1734
  "include": "#constant_placeholder"
@@ -1791,10 +1736,7 @@
1791
1736
  {
1792
1737
  "include": "#escaped_char"
1793
1738
  }
1794
- ]
1795
- },
1796
- {
1797
- "begin": "([uU])(')",
1739
+ ],
1798
1740
  "beginCaptures": {
1799
1741
  "1": {
1800
1742
  "name": "storage.type.string.cython"
@@ -1803,8 +1745,6 @@
1803
1745
  "name": "punctuation.definition.string.begin.cython"
1804
1746
  }
1805
1747
  },
1806
- "comment": "single quoted unicode string",
1807
- "end": "(')|(\\n)",
1808
1748
  "endCaptures": {
1809
1749
  "1": {
1810
1750
  "name": "punctuation.definition.string.end.cython"
@@ -1812,8 +1752,12 @@
1812
1752
  "2": {
1813
1753
  "name": "invalid.illegal.unclosed-string.cython"
1814
1754
  }
1815
- },
1755
+ }
1756
+ },
1757
+ {
1816
1758
  "name": "string.quoted.single.single-line.unicode.cython",
1759
+ "begin": "([uU])(')",
1760
+ "end": "(')|(\\n)",
1817
1761
  "patterns": [
1818
1762
  {
1819
1763
  "include": "#constant_placeholder"
@@ -1824,26 +1768,28 @@
1824
1768
  {
1825
1769
  "include": "#escaped_char"
1826
1770
  }
1827
- ]
1828
- },
1829
- {
1830
- "begin": "(''')(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
1771
+ ],
1831
1772
  "beginCaptures": {
1832
1773
  "1": {
1774
+ "name": "storage.type.string.cython"
1775
+ },
1776
+ "2": {
1833
1777
  "name": "punctuation.definition.string.begin.cython"
1834
1778
  }
1835
1779
  },
1836
- "comment": "single quoted string",
1837
- "end": "((?<=''')(')''|''')",
1838
1780
  "endCaptures": {
1839
1781
  "1": {
1840
1782
  "name": "punctuation.definition.string.end.cython"
1841
1783
  },
1842
1784
  "2": {
1843
- "name": "meta.empty-string.single.cython"
1785
+ "name": "invalid.illegal.unclosed-string.cython"
1844
1786
  }
1845
- },
1787
+ }
1788
+ },
1789
+ {
1846
1790
  "name": "string.quoted.single.block.cython",
1791
+ "begin": "(''')(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
1792
+ "end": "((?\u003c=''')(')''|''')",
1847
1793
  "patterns": [
1848
1794
  {
1849
1795
  "include": "#constant_placeholder"
@@ -1854,26 +1800,25 @@
1854
1800
  {
1855
1801
  "include": "source.sql"
1856
1802
  }
1857
- ]
1858
- },
1859
- {
1860
- "begin": "(')(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
1803
+ ],
1861
1804
  "beginCaptures": {
1862
1805
  "1": {
1863
1806
  "name": "punctuation.definition.string.begin.cython"
1864
1807
  }
1865
1808
  },
1866
- "comment": "single quoted string",
1867
- "end": "(')|(\\n)",
1868
1809
  "endCaptures": {
1869
1810
  "1": {
1870
1811
  "name": "punctuation.definition.string.end.cython"
1871
1812
  },
1872
1813
  "2": {
1873
- "name": "invalid.illegal.unclosed-string.cython"
1814
+ "name": "meta.empty-string.single.cython"
1874
1815
  }
1875
- },
1816
+ }
1817
+ },
1818
+ {
1876
1819
  "name": "string.quoted.single.single-line.cython",
1820
+ "begin": "(')(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
1821
+ "end": "(')|(\\n)",
1877
1822
  "patterns": [
1878
1823
  {
1879
1824
  "include": "#constant_placeholder"
@@ -1884,26 +1829,25 @@
1884
1829
  {
1885
1830
  "include": "source.sql"
1886
1831
  }
1887
- ]
1888
- },
1889
- {
1890
- "begin": "(''')",
1832
+ ],
1891
1833
  "beginCaptures": {
1892
1834
  "1": {
1893
1835
  "name": "punctuation.definition.string.begin.cython"
1894
1836
  }
1895
1837
  },
1896
- "comment": "single quoted string",
1897
- "end": "((?<=''')(')''|''')",
1898
1838
  "endCaptures": {
1899
1839
  "1": {
1900
1840
  "name": "punctuation.definition.string.end.cython"
1901
1841
  },
1902
1842
  "2": {
1903
- "name": "meta.empty-string.single.cython"
1843
+ "name": "invalid.illegal.unclosed-string.cython"
1904
1844
  }
1905
- },
1845
+ }
1846
+ },
1847
+ {
1906
1848
  "name": "string.quoted.single.block.cython",
1849
+ "begin": "(''')",
1850
+ "end": "((?\u003c=''')(')''|''')",
1907
1851
  "patterns": [
1908
1852
  {
1909
1853
  "include": "#constant_placeholder"
@@ -1911,26 +1855,25 @@
1911
1855
  {
1912
1856
  "include": "#escaped_char"
1913
1857
  }
1914
- ]
1915
- },
1916
- {
1917
- "begin": "(')",
1858
+ ],
1918
1859
  "beginCaptures": {
1919
1860
  "1": {
1920
1861
  "name": "punctuation.definition.string.begin.cython"
1921
1862
  }
1922
1863
  },
1923
- "comment": "single quoted string",
1924
- "end": "(')|(\\n)",
1925
1864
  "endCaptures": {
1926
1865
  "1": {
1927
1866
  "name": "punctuation.definition.string.end.cython"
1928
1867
  },
1929
1868
  "2": {
1930
- "name": "invalid.illegal.unclosed-string.cython"
1869
+ "name": "meta.empty-string.single.cython"
1931
1870
  }
1932
- },
1871
+ }
1872
+ },
1873
+ {
1933
1874
  "name": "string.quoted.single.single-line.cython",
1875
+ "begin": "(')",
1876
+ "end": "(')|(\\n)",
1934
1877
  "patterns": [
1935
1878
  {
1936
1879
  "include": "#constant_placeholder"
@@ -1938,7 +1881,20 @@
1938
1881
  {
1939
1882
  "include": "#escaped_char"
1940
1883
  }
1941
- ]
1884
+ ],
1885
+ "beginCaptures": {
1886
+ "1": {
1887
+ "name": "punctuation.definition.string.begin.cython"
1888
+ }
1889
+ },
1890
+ "endCaptures": {
1891
+ "1": {
1892
+ "name": "punctuation.definition.string.end.cython"
1893
+ },
1894
+ "2": {
1895
+ "name": "invalid.illegal.unclosed-string.cython"
1896
+ }
1897
+ }
1942
1898
  }
1943
1899
  ]
1944
1900
  },
@@ -1952,7 +1908,5 @@
1952
1908
  }
1953
1909
  ]
1954
1910
  }
1955
- },
1956
- "scopeName": "source.cython",
1957
- "uuid": "8CD92F62-B42C-4130-9936-5E864FA2AC79"
1958
- }
1911
+ }
1912
+ }