github-linguist 5.3.3 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
+ }