github-linguist 7.11.1 → 7.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (611) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +1123 -623
  3. data/ext/linguist/lex.linguist_yy.h +433 -66
  4. data/ext/linguist/linguist.c +5 -35
  5. data/ext/linguist/linguist.h +0 -18
  6. data/ext/linguist/tokenizer.l +83 -65
  7. data/grammars/annotation.liquidhaskell.haskell.json +1 -1835
  8. data/grammars/config.xcompose.json +1 -80
  9. data/grammars/documentation.markdown.injection.haxe.json +1 -22
  10. data/grammars/etc.json +1 -987
  11. data/grammars/file.lasso.json +1 -702
  12. data/grammars/hidden.manref.json +1 -29
  13. data/grammars/hidden.regexp.injection-shell.json +1 -28
  14. data/grammars/hint.haskell.json +1 -1762
  15. data/grammars/hint.message.haskell.json +1 -1786
  16. data/grammars/hint.type.haskell.json +1 -1759
  17. data/grammars/injections.etc.json +1 -659
  18. data/grammars/inline.prisma.json +1 -55
  19. data/grammars/markdown.hack.codeblock.json +1 -20
  20. data/grammars/markdown.haxe.codeblock.json +1 -26
  21. data/grammars/markdown.hxml.codeblock.json +1 -26
  22. data/grammars/markdown.lean.codeblock.json +1 -0
  23. data/grammars/markdown.plantuml.codeblock.json +1 -26
  24. data/grammars/objdump.x86asm.json +1 -69
  25. data/grammars/source.4dm.json +1 -1156
  26. data/grammars/source.SASLog.json +1 -18
  27. data/grammars/source.abap.json +1 -335
  28. data/grammars/source.abapcds.json +1 -0
  29. data/grammars/source.abl.json +1 -734
  30. data/grammars/source.abnf.json +1 -294
  31. data/grammars/source.actionscript.3.json +1 -1538
  32. data/grammars/source.acucobol.json +1 -13
  33. data/grammars/source.ada.json +1 -133
  34. data/grammars/source.afm.json +1 -1207
  35. data/grammars/source.agc.json +1 -87
  36. data/grammars/source.agda.json +1 -72
  37. data/grammars/source.ahk.json +1 -195
  38. data/grammars/source.al.json +1 -130
  39. data/grammars/source.alloy.json +1 -40
  40. data/grammars/source.ampl.json +1 -151
  41. data/grammars/source.angelscript.json +1 -186
  42. data/grammars/source.antlr.json +1 -295
  43. data/grammars/source.apache-config.json +1 -346
  44. data/grammars/source.apache-config.mod_perl.json +1 -65
  45. data/grammars/source.apl.json +1 -1427
  46. data/grammars/source.applescript.json +1 -1384
  47. data/grammars/source.asl.json +1 -56
  48. data/grammars/source.asn.json +1 -55
  49. data/grammars/source.asp.json +1 -151
  50. data/grammars/source.aspectj.json +1 -960
  51. data/grammars/source.assembly.json +1 -116
  52. data/grammars/source.ats.json +1 -164
  53. data/grammars/source.autoit.json +1 -167
  54. data/grammars/source.avro.json +1 -381
  55. data/grammars/source.awk.json +1 -384
  56. data/grammars/source.ballerina.json +1 -1785
  57. data/grammars/source.basic.json +1 -0
  58. data/grammars/source.batchfile.json +1 -732
  59. data/grammars/source.bdf.json +1 -425
  60. data/grammars/source.befunge.json +1 -34
  61. data/grammars/source.bf.json +1 -30
  62. data/grammars/source.bicep.json +1 -0
  63. data/grammars/source.blitzmax.json +1 -905
  64. data/grammars/source.bnf.json +1 -191
  65. data/grammars/source.boo.json +1 -448
  66. data/grammars/source.boogie.json +1 -0
  67. data/grammars/source.brightauthorproject.json +1 -24
  68. data/grammars/source.brightscript.json +1 -148
  69. data/grammars/source.bsl.json +1 -451
  70. data/grammars/source.bsv.json +1 -277
  71. data/grammars/source.c++.json +1 -436
  72. data/grammars/source.c++.qt.json +1 -29
  73. data/grammars/source.c.ec.json +1 -33
  74. data/grammars/source.c.json +1 -712
  75. data/grammars/source.c.nwscript.json +1 -0
  76. data/grammars/source.c.platform.json +1 -1115
  77. data/grammars/source.c2hs.json +1 -24
  78. data/grammars/source.cabal.json +1 -63
  79. data/grammars/source.cache.cmake.json +1 -70
  80. data/grammars/source.camlp4.ocaml.json +1 -60
  81. data/grammars/source.capnp.json +1 -88
  82. data/grammars/source.ceylon.json +1 -93
  83. data/grammars/source.cfscript.cfc.json +1 -162
  84. data/grammars/source.cfscript.json +1 -737
  85. data/grammars/source.changelogs.rpm-spec.json +1 -91
  86. data/grammars/source.chapel.json +1 -265
  87. data/grammars/source.cirru.json +1 -61
  88. data/grammars/source.clarion.json +1 -146
  89. data/grammars/source.clean.json +1 -222
  90. data/grammars/source.click.json +1 -107
  91. data/grammars/source.clips.json +1 -67
  92. data/grammars/source.clojure.json +1 -429
  93. data/grammars/source.cm.json +1 -49
  94. data/grammars/source.cmake.json +1 -173
  95. data/grammars/source.cobol.json +1 -485
  96. data/grammars/source.coffee.json +1 -1310
  97. data/grammars/source.cool.json +1 -96
  98. data/grammars/source.coq.json +1 -58
  99. data/grammars/source.crystal.json +1 -2694
  100. data/grammars/source.cs.json +1 -4323
  101. data/grammars/source.csound-document.json +1 -175
  102. data/grammars/source.csound-score.json +1 -191
  103. data/grammars/source.csound.json +1 -824
  104. data/grammars/source.css.json +1 -1859
  105. data/grammars/source.css.less.json +1 -536
  106. data/grammars/source.css.mss.json +1 -249
  107. data/grammars/source.css.postcss.sugarss.json +1 -260
  108. data/grammars/source.css.scss.json +1 -1873
  109. data/grammars/source.cuda-c++.json +1 -103
  110. data/grammars/source.curlrc.json +1 -984
  111. data/grammars/source.cwl.json +1 -103
  112. data/grammars/source.cython.json +1 -1912
  113. data/grammars/source.d.json +1 -741
  114. data/grammars/source.dart.json +1 -433
  115. data/grammars/source.data-weave.json +1 -1580
  116. data/grammars/source.desktop.json +1 -86
  117. data/grammars/source.diff.json +1 -153
  118. data/grammars/source.dircolors.json +1 -137
  119. data/grammars/source.direct-x.json +1 -135
  120. data/grammars/source.disasm.json +1 -30
  121. data/grammars/source.ditroff.desc.json +1 -411
  122. data/grammars/source.ditroff.json +1 -1280
  123. data/grammars/source.dm.json +1 -628
  124. data/grammars/source.dmf.json +1 -96
  125. data/grammars/source.dockerfile.json +1 -88
  126. data/grammars/source.dosbox-conf.json +1 -97
  127. data/grammars/source.dot.json +1 -117
  128. data/grammars/source.dylan.json +1 -212
  129. data/grammars/source.ebnf.json +1 -240
  130. data/grammars/source.editorconfig.json +1 -365
  131. data/grammars/source.eiffel.json +1 -133
  132. data/grammars/source.elixir.json +1 -965
  133. data/grammars/source.elm.json +1 -375
  134. data/grammars/source.emacs.lisp.json +1 -1301
  135. data/grammars/source.erlang.json +1 -1647
  136. data/grammars/source.essl.json +1 -37
  137. data/grammars/source.factor.json +1 -252
  138. data/grammars/source.fan.json +1 -341
  139. data/grammars/source.fancy.json +1 -245
  140. data/grammars/source.faust.json +1 -119
  141. data/grammars/source.figctrl.json +1 -252
  142. data/grammars/source.figfont.json +1 -121
  143. data/grammars/source.firestore.json +1 -289
  144. data/grammars/source.fish.json +1 -190
  145. data/grammars/source.fontdir.json +1 -99
  146. data/grammars/source.fontforge.json +1 -355
  147. data/grammars/source.fontinfo.json +1 -0
  148. data/grammars/source.forth.json +1 -84
  149. data/grammars/source.fortran.json +1 -464
  150. data/grammars/source.fortran.modern.json +1 -200
  151. data/grammars/source.fsharp.fsi.json +1 -9
  152. data/grammars/source.fsharp.fsl.json +1 -9
  153. data/grammars/source.fsharp.fsx.json +1 -13
  154. data/grammars/source.fsharp.json +1 -452
  155. data/grammars/source.fstar.json +1 -439
  156. data/grammars/source.futhark.json +1 -167
  157. data/grammars/source.gap.json +1 -163
  158. data/grammars/source.gcode.json +1 -176
  159. data/grammars/source.gdb.json +1 -160
  160. data/grammars/source.gdb.session.json +1 -70
  161. data/grammars/source.gdbregs.json +1 -14
  162. data/grammars/source.gdscript.json +1 -491
  163. data/grammars/source.gedcom.json +1 -196
  164. data/grammars/source.gemfile-lock.json +1 -0
  165. data/grammars/source.generic-db.json +1 -41
  166. data/grammars/source.gerber.json +1 -321
  167. data/grammars/source.gf.json +1 -51
  168. data/grammars/source.gfm.blade.json +1 -15
  169. data/grammars/source.gfm.json +1 -1913
  170. data/grammars/source.gitattributes.json +1 -111
  171. data/grammars/source.gitconfig.json +1 -450
  172. data/grammars/source.gitignore.json +1 -140
  173. data/grammars/source.glsl.json +1 -139
  174. data/grammars/source.gn.json +1 -345
  175. data/grammars/source.gnuplot.json +1 -260
  176. data/grammars/source.go.json +1 -540
  177. data/grammars/source.golo.json +1 -177
  178. data/grammars/source.gosu.2.json +1 -153
  179. data/grammars/source.grace.json +1 -675
  180. data/grammars/source.graphql.json +1 -978
  181. data/grammars/source.gremlin.json +1 -200
  182. data/grammars/source.groovy.gradle.json +1 -69
  183. data/grammars/source.groovy.json +1 -1374
  184. data/grammars/source.hack.json +1 -2595
  185. data/grammars/source.haproxy-config.json +1 -152
  186. data/grammars/source.harbour.json +1 -388
  187. data/grammars/source.haskell.json +1 -1760
  188. data/grammars/source.hc.json +1 -709
  189. data/grammars/source.hgignore.json +1 -34
  190. data/grammars/source.hlsl.json +1 -211
  191. data/grammars/source.hosts.json +1 -40
  192. data/grammars/source.hql.json +1 -492
  193. data/grammars/source.hsc2hs.json +1 -9
  194. data/grammars/source.hsig.json +1 -1760
  195. data/grammars/source.httpspec.json +1 -283
  196. data/grammars/source.hx.argument.json +1 -80
  197. data/grammars/source.hx.json +1 -2428
  198. data/grammars/source.hx.type.json +1 -8
  199. data/grammars/source.hxml.json +1 -59
  200. data/grammars/source.hy.json +1 -429
  201. data/grammars/source.ideal.json +1 -356
  202. data/grammars/source.idl-dlm.json +1 -105
  203. data/grammars/source.idl.json +1 -246
  204. data/grammars/source.idris.json +1 -523
  205. data/grammars/source.igor.json +1 -369
  206. data/grammars/source.inform7.json +1 -183
  207. data/grammars/source.ini.json +1 -107
  208. data/grammars/source.ini.npmrc.json +1 -311
  209. data/grammars/source.inno.json +1 -133
  210. data/grammars/source.inputrc.json +1 -500
  211. data/grammars/source.io.json +1 -156
  212. data/grammars/source.ioke.json +1 -266
  213. data/grammars/source.isabelle.root.json +1 -64
  214. data/grammars/source.isabelle.theory.json +1 -102
  215. data/grammars/source.j.json +1 -260
  216. data/grammars/source.jasmin.json +1 -294
  217. data/grammars/source.java-properties.json +1 -87
  218. data/grammars/source.java.json +1 -1020
  219. data/grammars/source.jcl.json +1 -46
  220. data/grammars/source.jflex.json +1 -484
  221. data/grammars/source.jison.json +1 -711
  222. data/grammars/source.jisonlex-injection.json +1 -10
  223. data/grammars/source.jisonlex.json +1 -434
  224. data/grammars/source.jolie.json +1 -132
  225. data/grammars/source.jq.json +1 -211
  226. data/grammars/source.js.json +1 -1897
  227. data/grammars/source.js.objj.json +1 -419
  228. data/grammars/source.js.regexp.json +1 -152
  229. data/grammars/source.js.regexp.replacement.json +1 -26
  230. data/grammars/source.jsdoc.json +1 -460
  231. data/grammars/source.json.json +1 -139
  232. data/grammars/source.jsoniq.json +1 -0
  233. data/grammars/source.jsonnet.json +1 -197
  234. data/grammars/source.julia.console.json +1 -51
  235. data/grammars/source.julia.json +1 -991
  236. data/grammars/source.kotlin.json +1 -704
  237. data/grammars/source.kusto.json +1 -0
  238. data/grammars/source.lark.json +1 -0
  239. data/grammars/source.lbnf.json +1 -0
  240. data/grammars/source.lcov.json +1 -398
  241. data/grammars/source.lean.json +1 -226
  242. data/grammars/source.lean.markdown.json +1 -2598
  243. data/grammars/source.lex.json +1 -232
  244. data/grammars/source.lex.regexp.json +1 -269
  245. data/grammars/source.lid.json +1 -19
  246. data/grammars/source.lilypond.json +1 -869
  247. data/grammars/source.lisp.json +1 -101
  248. data/grammars/source.litcoffee.json +1 -654
  249. data/grammars/source.livescript.json +1 -603
  250. data/grammars/source.llvm.json +1 -61
  251. data/grammars/source.logos.json +1 -24
  252. data/grammars/source.logtalk.json +1 -310
  253. data/grammars/source.loomscript.json +1 -208
  254. data/grammars/source.lsl.json +1 -241
  255. data/grammars/source.ltspice.symbol.json +1 -294
  256. data/grammars/source.lua.json +1 -275
  257. data/grammars/source.m2.json +1 -125
  258. data/grammars/source.m4.json +1 -229
  259. data/grammars/source.m68k.json +1 -412
  260. data/grammars/source.mailmap.json +1 -28
  261. data/grammars/source.makefile.json +1 -470
  262. data/grammars/source.makegen.json +1 -9
  263. data/grammars/source.man-conf.json +1 -153
  264. data/grammars/source.mask.json +1 -816
  265. data/grammars/source.mata.json +1 -125
  266. data/grammars/source.mathematica.json +1 -416
  267. data/grammars/source.matlab.json +1 -1096
  268. data/grammars/source.maxscript.json +1 -465
  269. data/grammars/source.mcfunction-snapshot.json +1 -24480
  270. data/grammars/source.mcfunction.json +1 -1354
  271. data/grammars/source.mercury.json +1 -246
  272. data/grammars/source.meson.json +1 -165
  273. data/grammars/source.meta-info.json +1 -146
  274. data/grammars/source.ml.json +1 -285
  275. data/grammars/source.mlir.json +1 -109
  276. data/grammars/source.modelica.json +1 -142
  277. data/grammars/source.modula-3.json +1 -88
  278. data/grammars/source.modula2.json +1 -94
  279. data/grammars/source.monkey.json +1 -694
  280. data/grammars/source.moonscript.json +1 -144
  281. data/grammars/source.mql5.json +1 -187
  282. data/grammars/source.msl.json +1 -755
  283. data/grammars/source.mupad.json +1 -131
  284. data/grammars/source.nanorc.json +1 -333
  285. data/grammars/source.nasl.json +1 -155
  286. data/grammars/source.ncl.json +1 -53
  287. data/grammars/source.ne.json +1 -105
  288. data/grammars/source.nemerle.json +1 -132
  289. data/grammars/source.neon.json +1 -381
  290. data/grammars/source.nesc.json +1 -21
  291. data/grammars/source.netlinx.erb.json +1 -34
  292. data/grammars/source.netlinx.json +1 -704
  293. data/grammars/source.nextflow-groovy.json +1 -1359
  294. data/grammars/source.nextflow.json +1 -94
  295. data/grammars/source.nginx.json +1 -815
  296. data/grammars/source.nim.comment.json +1 -82
  297. data/grammars/source.nim.json +1 -1083
  298. data/grammars/source.nim_filter.json +1 -113
  299. data/grammars/source.nimcfg.json +1 -103
  300. data/grammars/source.ninja.json +1 -248
  301. data/grammars/source.nit.json +1 -234
  302. data/grammars/source.nix.json +1 -1196
  303. data/grammars/source.nsis.json +1 -152
  304. data/grammars/source.nu.json +1 -516
  305. data/grammars/source.nunjucks.json +1 -0
  306. data/grammars/source.nut.json +1 -262
  307. data/grammars/source.objc++.json +1 -12
  308. data/grammars/source.objc.json +1 -910
  309. data/grammars/source.objc.platform.json +1 -842
  310. data/grammars/source.objectscript.json +1 -309
  311. data/grammars/source.objectscript_class.json +1 -674
  312. data/grammars/source.objectscript_csp.json +1 -19
  313. data/grammars/source.objectscript_macros.json +1 -226
  314. data/grammars/source.ocaml.json +1 -1418
  315. data/grammars/source.ocamllex.json +1 -298
  316. data/grammars/source.ocamlyacc.json +1 -339
  317. data/grammars/source.odin-ehr.json +1 -806
  318. data/grammars/source.odin.json +1 -402
  319. data/grammars/source.ooc.json +1 -685
  320. data/grammars/source.opa.json +1 -196
  321. data/grammars/source.opal.json +1 -410
  322. data/grammars/source.opalsysdefs.json +1 -66
  323. data/grammars/source.openbsd-pkg.contents.json +1 -128
  324. data/grammars/source.opencobol.json +1 -62
  325. data/grammars/source.opentype.json +1 -448
  326. data/grammars/source.opts.json +1 -108
  327. data/grammars/source.ox.json +1 -89
  328. data/grammars/source.oz.json +1 -77
  329. data/grammars/source.p4.json +1 -122
  330. data/grammars/source.paket.dependencies.json +1 -0
  331. data/grammars/source.paket.lock.json +1 -0
  332. data/grammars/source.pan.json +1 -706
  333. data/grammars/source.papyrus.skyrim.json +1 -1272
  334. data/grammars/source.parrot.pir.json +1 -145
  335. data/grammars/source.pascal.json +1 -143
  336. data/grammars/source.pawn.json +1 -1194
  337. data/grammars/source.pcb.board.json +1 -285
  338. data/grammars/source.pcb.schematic.json +1 -424
  339. data/grammars/source.pcb.sexp.json +1 -232
  340. data/grammars/source.pep8.json +1 -118
  341. data/grammars/source.perl.6.json +1 -309
  342. data/grammars/source.perl.json +1 -2519
  343. data/grammars/source.php.zephir.json +1 -353
  344. data/grammars/source.pic.json +1 -908
  345. data/grammars/source.pig_latin.json +1 -168
  346. data/grammars/source.pike.json +1 -49
  347. data/grammars/source.plist.json +1 -336
  348. data/grammars/source.po.json +1 -222
  349. data/grammars/source.pogoscript.json +1 -79
  350. data/grammars/source.pony.json +1 -245
  351. data/grammars/source.postcss.json +1 -370
  352. data/grammars/source.postscript.json +1 -477
  353. data/grammars/source.pov-ray sdl.json +1 -82
  354. data/grammars/source.powershell.json +1 -981
  355. data/grammars/source.prisma.json +1 -435
  356. data/grammars/source.processing.json +1 -872
  357. data/grammars/source.prolog.eclipse.json +1 -201
  358. data/grammars/source.prolog.json +1 -286
  359. data/grammars/source.protobuf.json +1 -471
  360. data/grammars/source.puppet.json +1 -433
  361. data/grammars/source.purescript.json +1 -861
  362. data/grammars/source.pyjade.json +1 -996
  363. data/grammars/source.python.django.json +1 -29
  364. data/grammars/source.python.json +1 -5292
  365. data/grammars/source.python.salt.json +1 -9
  366. data/grammars/source.q.json +1 -215
  367. data/grammars/source.q_output.json +1 -348
  368. data/grammars/source.qasm.json +1 -66
  369. data/grammars/source.ql.json +1 -1408
  370. data/grammars/source.qmake.json +1 -210
  371. data/grammars/source.qml.json +1 -174
  372. data/grammars/source.qsharp.json +1 -120
  373. data/grammars/source.quake.json +1 -44
  374. data/grammars/source.quoting.raku.json +1 -0
  375. data/grammars/source.r.json +1 -194
  376. data/grammars/source.racket.json +1 -98
  377. data/grammars/source.raku.json +1 -0
  378. data/grammars/source.rascal.json +1 -283
  379. data/grammars/source.reason.hover.type.json +1 -14
  380. data/grammars/source.reason.json +1 -3382
  381. data/grammars/source.rebol.json +1 -637
  382. data/grammars/source.record-jar.json +1 -0
  383. data/grammars/source.red.json +1 -644
  384. data/grammars/source.redirects.json +1 -0
  385. data/grammars/source.reg.json +1 -159
  386. data/grammars/source.regexp.extended.json +1 -558
  387. data/grammars/source.regexp.json +1 -1434
  388. data/grammars/source.regexp.posix.json +1 -0
  389. data/grammars/source.regexp.python.json +1 -490
  390. data/grammars/source.regexp.raku.json +1 -0
  391. data/grammars/source.regexp.spin.json +1 -179
  392. data/grammars/source.rego.json +1 -124
  393. data/grammars/source.renpy.json +1 -1948
  394. data/grammars/source.rescript.json +1 -0
  395. data/grammars/source.rexx.json +1 -52
  396. data/grammars/source.ring.json +1 -247
  397. data/grammars/source.rpm-spec.json +1 -765
  398. data/grammars/source.ruby.gemfile.json +1 -24
  399. data/grammars/source.ruby.json +1 -2605
  400. data/grammars/source.ruby.rspec.cucumber.steps.json +1 -261
  401. data/grammars/source.rust.json +1 -629
  402. data/grammars/source.sas.json +1 -286
  403. data/grammars/source.sass.json +1 -1089
  404. data/grammars/source.sassdoc.json +1 -346
  405. data/grammars/source.scad.json +1 -145
  406. data/grammars/source.scala.json +1 -1121
  407. data/grammars/source.scaml.json +1 -451
  408. data/grammars/source.scheme.json +1 -353
  409. data/grammars/source.scilab.json +1 -96
  410. data/grammars/source.sdbl.json +1 -90
  411. data/grammars/source.sed.json +1 -1520
  412. data/grammars/source.shaderlab.json +1 -198
  413. data/grammars/source.shell.json +1 -1272
  414. data/grammars/source.shen.json +1 -143
  415. data/grammars/source.sieve.json +1 -383
  416. data/grammars/source.singularity.json +1 -0
  417. data/grammars/source.slice.json +1 -2755
  418. data/grammars/source.smali.json +1 -1610
  419. data/grammars/source.smalltalk.json +1 -187
  420. data/grammars/source.smpl.json +1 -314
  421. data/grammars/source.smt.json +1 -158
  422. data/grammars/source.solidity.json +1 -189
  423. data/grammars/source.solution.json +1 -0
  424. data/grammars/source.sourcepawn.json +1 -651
  425. data/grammars/source.sparql.json +1 -18
  426. data/grammars/source.spin.json +1 -916
  427. data/grammars/source.sqf.json +1 -111
  428. data/grammars/source.sql.json +1 -459
  429. data/grammars/source.ssh-config.json +1 -97
  430. data/grammars/source.stan.json +1 -388
  431. data/grammars/source.stata.json +1 -197
  432. data/grammars/source.stdbez.json +1 -0
  433. data/grammars/source.string-template.json +1 -0
  434. data/grammars/source.strings.json +1 -49
  435. data/grammars/source.stylus.json +1 -1018
  436. data/grammars/source.supercollider.json +1 -93
  437. data/grammars/source.svelte.json +1 -827
  438. data/grammars/source.swift.json +1 -3134
  439. data/grammars/source.sy.json +1 -2954
  440. data/grammars/source.systemverilog.json +1 -1036
  441. data/grammars/source.tags.json +1 -266
  442. data/grammars/source.tcl.json +1 -260
  443. data/grammars/source.tea.json +1 -174
  444. data/grammars/source.terra.json +1 -138
  445. data/grammars/source.terraform.json +1 -694
  446. data/grammars/source.thrift.json +1 -698
  447. data/grammars/source.tl.json +1 -259
  448. data/grammars/source.tla.json +1 -140
  449. data/grammars/source.tnsaudit.json +1 -256
  450. data/grammars/source.toc.json +1 -52
  451. data/grammars/source.toml.json +1 -426
  452. data/grammars/source.ts.json +1 -5581
  453. data/grammars/source.tsql.json +1 -507
  454. data/grammars/source.tsx.json +1 -5834
  455. data/grammars/source.turing.json +1 -1553
  456. data/grammars/source.turtle.json +1 -489
  457. data/grammars/source.txl.json +1 -48
  458. data/grammars/source.ucd.nameslist.json +1 -444
  459. data/grammars/source.ucd.unidata.json +1 -570
  460. data/grammars/source.ucfconstraints.json +1 -67
  461. data/grammars/source.ur.json +1 -31
  462. data/grammars/source.v.json +1 -1010
  463. data/grammars/source.vala.json +1 -800
  464. data/grammars/source.varnish.vcl.json +1 -331
  465. data/grammars/source.vbnet.json +1 -239
  466. data/grammars/source.verilog.json +1 -296
  467. data/grammars/source.vhdl.json +1 -1374
  468. data/grammars/source.vim-snippet.json +1 -645
  469. data/grammars/source.viml.json +1 -1197
  470. data/grammars/source.vtt.json +1 -702
  471. data/grammars/source.vyper.json +1 -213
  472. data/grammars/source.wavefront.mtl.json +1 -1190
  473. data/grammars/source.wavefront.obj.json +1 -1341
  474. data/grammars/source.wdl.json +1 -220
  475. data/grammars/source.webassembly.json +1 -349
  476. data/grammars/source.webidl.json +1 -807
  477. data/grammars/source.wgetrc.json +1 -1640
  478. data/grammars/source.wollok.json +1 -100
  479. data/grammars/source.wsd.json +1 -781
  480. data/grammars/source.x10.json +1 -64
  481. data/grammars/source.x86.json +1 -299
  482. data/grammars/source.x86asm.json +1 -42
  483. data/grammars/source.xc.json +1 -371
  484. data/grammars/source.xlfd.json +1 -462
  485. data/grammars/source.xojo.json +1 -85
  486. data/grammars/source.xq.json +1 -230
  487. data/grammars/source.xtend.json +1 -724
  488. data/grammars/source.yacc.json +1 -626
  489. data/grammars/source.yaml.json +1 -443
  490. data/grammars/source.yaml.salt.json +1 -345
  491. data/grammars/source.yang.json +1 -78
  492. data/grammars/source.yara.json +1 -99
  493. data/grammars/source.yasnippet.json +1 -377
  494. data/grammars/source.zap.json +1 -260
  495. data/grammars/source.zeek.json +1 -412
  496. data/grammars/source.zenscript.json +1 -282
  497. data/grammars/source.zig.json +1 -547
  498. data/grammars/source.zil.json +1 -750
  499. data/grammars/text.bibtex.json +1 -246
  500. data/grammars/text.browserslist.json +1 -0
  501. data/grammars/text.cfml.basic.json +1 -735
  502. data/grammars/text.checksums.json +1 -0
  503. data/grammars/text.codeowners.json +1 -0
  504. data/grammars/text.conllu.json +1 -45
  505. data/grammars/text.dfy.dafny.json +1 -188
  506. data/grammars/text.elixir.json +1 -52
  507. data/grammars/text.eml.basic.json +1 -296
  508. data/grammars/text.error-list.json +1 -53
  509. data/grammars/text.find-refs.json +1 -926
  510. data/grammars/text.gherkin.feature.json +1 -127
  511. data/grammars/text.haml.json +1 -518
  512. data/grammars/text.hamlc.json +1 -219
  513. data/grammars/text.html.asciidoc.json +1 -478
  514. data/grammars/text.html.asdoc.json +1 -529
  515. data/grammars/text.html.asp.json +1 -53
  516. data/grammars/text.html.basic.json +1 -908
  517. data/grammars/text.html.cfm.json +1 -802
  518. data/grammars/text.html.creole.json +1 -317
  519. data/grammars/text.html.cshtml.json +1 -356
  520. data/grammars/text.html.django.json +1 -63
  521. data/grammars/text.html.ecr.json +1 -48
  522. data/grammars/text.html.elixir.json +1 -21
  523. data/grammars/text.html.erb.json +1 -150
  524. data/grammars/text.html.erlang.yaws.json +1 -67
  525. data/grammars/text.html.factor.json +1 -19
  526. data/grammars/text.html.ftl.json +1 -76
  527. data/grammars/text.html.handlebars.json +1 -845
  528. data/grammars/text.html.javadoc.json +1 -426
  529. data/grammars/text.html.js.json +1 -24
  530. data/grammars/text.html.jsp.json +1 -1196
  531. data/grammars/text.html.liquid.json +1 -25
  532. data/grammars/text.html.mako.json +1 -726
  533. data/grammars/text.html.markdown.source.gfm.apib.json +1 -1298
  534. data/grammars/text.html.markdown.source.gfm.mson.json +1 -1156
  535. data/grammars/text.html.mediawiki.elm-build-output.json +1 -97
  536. data/grammars/text.html.mediawiki.elm-documentation.json +1 -17
  537. data/grammars/text.html.mediawiki.json +1 -946
  538. data/grammars/text.html.nunjucks.json +1 -0
  539. data/grammars/text.html.php.blade.json +1 -3833
  540. data/grammars/text.html.php.json +1 -2507
  541. data/grammars/text.html.riot.json +1 -788
  542. data/grammars/text.html.slash.json +1 -307
  543. data/grammars/text.html.smarty.json +1 -232
  544. data/grammars/text.html.soy.json +1 -606
  545. data/grammars/text.html.ssp.json +1 -43
  546. data/grammars/text.html.tcl.json +1 -37
  547. data/grammars/text.html.twig.json +1 -1344
  548. data/grammars/text.html.vue.json +1 -963
  549. data/grammars/text.idl-idldoc.json +1 -10
  550. data/grammars/text.jade.json +1 -963
  551. data/grammars/text.junit-test-report.json +1 -89
  552. data/grammars/text.log.latex.json +1 -84
  553. data/grammars/text.marko.json +1 -1662
  554. data/grammars/text.muse.json +1 -1471
  555. data/grammars/text.openbsd-pkg.desc.json +1 -78
  556. data/grammars/text.plain.json +1 -18
  557. data/grammars/text.python.console.json +1 -21
  558. data/grammars/text.python.traceback.json +1 -43
  559. data/grammars/text.rdoc.json +1 -44
  560. data/grammars/text.restructuredtext.clean.json +1 -24
  561. data/grammars/text.restructuredtext.json +1 -1765
  562. data/grammars/text.robot.json +1 -63
  563. data/grammars/text.robots-txt.json +1 -0
  564. data/grammars/text.roff.json +1 -6927
  565. data/grammars/text.rtf.json +1 -148
  566. data/grammars/text.runoff.json +1 -308
  567. data/grammars/text.sfd.json +1 -292
  568. data/grammars/text.shell-session.json +1 -29
  569. data/grammars/text.slim.json +1 -527
  570. data/grammars/text.srt.json +1 -166
  571. data/grammars/text.tex.json +1 -264
  572. data/grammars/text.tex.latex.beamer.json +1 -57
  573. data/grammars/text.tex.latex.haskell.json +1 -1826
  574. data/grammars/text.tex.latex.json +1 -1003
  575. data/grammars/text.tex.latex.memoir.json +1 -129
  576. data/grammars/text.tex.latex.rd.json +1 -111
  577. data/grammars/text.texinfo.json +1 -1525
  578. data/grammars/text.vim-help.json +1 -383
  579. data/grammars/text.xml.ant.json +1 -195
  580. data/grammars/text.xml.flex-config.json +1 -2628
  581. data/grammars/text.xml.genshi.json +1 -28
  582. data/grammars/text.xml.json +1 -351
  583. data/grammars/text.xml.plist.json +1 -664
  584. data/grammars/text.xml.pom.json +1 -769
  585. data/grammars/text.xml.svg.json +1 -562
  586. data/grammars/text.xml.xsl.json +1 -88
  587. data/grammars/text.zone_file.json +1 -67
  588. data/grammars/version +1 -1
  589. data/lib/linguist/VERSION +1 -1
  590. data/lib/linguist/classifier.rb +9 -5
  591. data/lib/linguist/generated.rb +10 -0
  592. data/lib/linguist/generic.yml +18 -0
  593. data/lib/linguist/heuristics.yml +77 -20
  594. data/lib/linguist/language.rb +7 -17
  595. data/lib/linguist/languages.json +1 -1
  596. data/lib/linguist/languages.yml +271 -49
  597. data/lib/linguist/linguist.bundle +0 -0
  598. data/lib/linguist/samples.json +1 -1
  599. data/lib/linguist/samples.rb +2 -2
  600. data/lib/linguist/strategy/extension.rb +13 -5
  601. data/lib/linguist/strategy/modeline.rb +64 -32
  602. data/lib/linguist/vendor.yml +1 -1
  603. metadata +37 -13
  604. data/ext/linguist/strndup.c +0 -10
  605. data/grammars/source.cake.json +0 -13
  606. data/grammars/source.csx.json +0 -13
  607. data/grammars/source.js.css.json +0 -328
  608. data/grammars/source.js.jsx.json +0 -2488
  609. data/grammars/source.perl6fe.json +0 -2769
  610. data/grammars/source.quoting.perl6fe.json +0 -2369
  611. data/grammars/source.regexp.perl6fe.json +0 -244
@@ -0,0 +1 @@
1
+ {"name":"HTML (Nunjucks Templates)","scopeName":"text.html.nunjucks","patterns":[{"include":"source.nunjucks"},{"include":"text.html.basic"}]}
@@ -1,3833 +1 @@
1
- {
2
- "name": "Blade",
3
- "scopeName": "text.html.php.blade",
4
- "patterns": [
5
- {
6
- "include": "text.html.basic"
7
- }
8
- ],
9
- "repository": {
10
- "balance_brackets": {
11
- "patterns": [
12
- {
13
- "begin": "\\(",
14
- "end": "\\)",
15
- "patterns": [
16
- {
17
- "include": "#balance_brackets"
18
- }
19
- ]
20
- },
21
- {
22
- "match": "[^()]+"
23
- }
24
- ]
25
- },
26
- "blade": {
27
- "patterns": [
28
- {
29
- "name": "comment.block.blade",
30
- "begin": "{{--",
31
- "end": "--}}",
32
- "patterns": [
33
- {
34
- "name": "invalid.illegal.php-code-in-comment.blade",
35
- "begin": "(^\\s*)(?=\u003c\\?(?![^?]*\\?\u003e))",
36
- "end": "(?!\\G)(\\s*$\\n)?",
37
- "patterns": [
38
- {
39
- "name": "meta.embedded.block.php",
40
- "contentName": "source.php",
41
- "begin": "\u003c\\?(?i:php|=)?",
42
- "end": "(\\?)\u003e",
43
- "patterns": [
44
- {
45
- "include": "#language"
46
- }
47
- ],
48
- "beginCaptures": {
49
- "0": {
50
- "name": "punctuation.section.embedded.begin.php"
51
- }
52
- },
53
- "endCaptures": {
54
- "0": {
55
- "name": "punctuation.section.embedded.end.php"
56
- },
57
- "1": {
58
- "name": "source.php"
59
- }
60
- }
61
- }
62
- ],
63
- "beginCaptures": {
64
- "0": {
65
- "name": "punctuation.whitespace.embedded.leading.php"
66
- }
67
- },
68
- "endCaptures": {
69
- "0": {
70
- "name": "punctuation.whitespace.embedded.trailing.php"
71
- }
72
- }
73
- },
74
- {
75
- "name": "invalid.illegal.php-code-in-comment.blade.meta.embedded.block.php",
76
- "contentName": "source.php",
77
- "begin": "\u003c\\?(?i:php|=)?(?![^?]*\\?\u003e)",
78
- "end": "(\\?)\u003e",
79
- "patterns": [
80
- {
81
- "include": "#language"
82
- }
83
- ],
84
- "beginCaptures": {
85
- "0": {
86
- "name": "punctuation.section.embedded.begin.php"
87
- }
88
- },
89
- "endCaptures": {
90
- "0": {
91
- "name": "punctuation.section.embedded.end.php"
92
- },
93
- "1": {
94
- "name": "source.php"
95
- }
96
- }
97
- },
98
- {
99
- "name": "invalid.illegal.php-code-in-comment.blade.meta.embedded.line.php",
100
- "begin": "\u003c\\?(?i:php|=)?",
101
- "end": "\u003e",
102
- "patterns": [
103
- {
104
- "name": "meta.special.empty-tag.php",
105
- "match": "\\G(\\s*)((\\?))(?=\u003e)",
106
- "captures": {
107
- "1": {
108
- "name": "source.php"
109
- },
110
- "2": {
111
- "name": "punctuation.section.embedded.end.php"
112
- },
113
- "3": {
114
- "name": "source.php"
115
- }
116
- }
117
- },
118
- {
119
- "contentName": "source.php",
120
- "begin": "\\G",
121
- "end": "(\\?)(?=\u003e)",
122
- "patterns": [
123
- {
124
- "include": "#language"
125
- }
126
- ],
127
- "endCaptures": {
128
- "0": {
129
- "name": "punctuation.section.embedded.end.php"
130
- },
131
- "1": {
132
- "name": "source.php"
133
- }
134
- }
135
- }
136
- ],
137
- "beginCaptures": {
138
- "0": {
139
- "name": "punctuation.section.embedded.begin.php"
140
- }
141
- },
142
- "endCaptures": {
143
- "0": {
144
- "name": "punctuation.section.embedded.end.php"
145
- }
146
- }
147
- }
148
- ],
149
- "beginCaptures": {
150
- "0": {
151
- "name": "punctuation.definition.comment.begin.blade"
152
- }
153
- },
154
- "endCaptures": {
155
- "0": {
156
- "name": "punctuation.definition.comment.end.blade"
157
- }
158
- }
159
- },
160
- {
161
- "name": "comment.blade",
162
- "match": "@(?={{{|{{|{!!|@\\w+(?:::\\w+)?)"
163
- },
164
- {
165
- "name": "meta.function.echo.blade",
166
- "contentName": "source.php",
167
- "begin": "(?\u003c!@){{{",
168
- "end": "(})}}",
169
- "patterns": [
170
- {
171
- "include": "#language"
172
- }
173
- ],
174
- "beginCaptures": {
175
- "0": {
176
- "name": "support.function.construct.begin.blade"
177
- }
178
- },
179
- "endCaptures": {
180
- "0": {
181
- "name": "support.function.construct.end.blade"
182
- },
183
- "1": {
184
- "name": "source.php"
185
- }
186
- }
187
- },
188
- {
189
- "name": "meta.function.echo.blade",
190
- "contentName": "source.php",
191
- "begin": "(?\u003c![@{]){{",
192
- "end": "(})}",
193
- "patterns": [
194
- {
195
- "include": "#language"
196
- }
197
- ],
198
- "beginCaptures": {
199
- "0": {
200
- "name": "support.function.construct.begin.blade"
201
- }
202
- },
203
- "endCaptures": {
204
- "0": {
205
- "name": "support.function.construct.end.blade"
206
- },
207
- "1": {
208
- "name": "source.php"
209
- }
210
- }
211
- },
212
- {
213
- "name": "meta.function.echo.blade",
214
- "contentName": "source.php",
215
- "begin": "(?\u003c!@){!!",
216
- "end": "(!)!}",
217
- "patterns": [
218
- {
219
- "include": "#language"
220
- }
221
- ],
222
- "beginCaptures": {
223
- "0": {
224
- "name": "support.function.construct.begin.blade"
225
- }
226
- },
227
- "endCaptures": {
228
- "0": {
229
- "name": "support.function.construct.end.blade"
230
- },
231
- "1": {
232
- "name": "source.php"
233
- }
234
- }
235
- },
236
- {
237
- "name": "meta.directive.blade",
238
- "contentName": "source.php",
239
- "begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n auth\n |break\n |can\n |canany\n |cannot\n |case\n |choice\n |component\n |componentfirst\n |continue\n |dd\n |dump\n |each\n |elseauth\n |elsecan\n |elsecanany\n |elsecannot\n |elseguest\n |elseif\n |empty\n |env\n |error\n |extends\n |for\n |foreach\n |forelse\n |guest\n |hassection\n |if\n |include\n |includefirst\n |includeif\n |includeunless\n |includewhen\n |inject\n |isset\n |json\n |lang\n |method\n |php\n |prepend\n |push\n |section\n |slot\n |stack\n |switch\n |unless\n |unset\n |while\n |yield\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
240
- "end": "\\)",
241
- "patterns": [
242
- {
243
- "include": "#language"
244
- }
245
- ],
246
- "beginCaptures": {
247
- "1": {
248
- "name": "keyword.blade"
249
- },
250
- "2": {
251
- "name": "begin.bracket.round.blade.php"
252
- }
253
- },
254
- "endCaptures": {
255
- "0": {
256
- "name": "end.bracket.round.blade.php"
257
- }
258
- }
259
- },
260
- {
261
- "name": "meta.directive.blade",
262
- "contentName": "comment.blade",
263
- "begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n append\n |csrf\n |default\n |else\n |endauth\n |endcan\n |endcanany\n |endcannot\n |endcomponent\n |endcomponentfirst\n |endempty\n |endenv\n |enderror\n |endfor\n |endforeach\n |endforelse\n |endguest\n |endif\n |endisset\n |endlang\n |endprepend\n |endproduction\n |endpush\n |endsection\n |endslot\n |endswitch\n |endunless\n |endwhile\n |overwrite\n |parent\n |production\n |show\n |stop\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
264
- "end": "\\)",
265
- "patterns": [
266
- {
267
- "include": "#balance_brackets"
268
- }
269
- ],
270
- "beginCaptures": {
271
- "1": {
272
- "name": "keyword.blade"
273
- },
274
- "2": {
275
- "name": "begin.bracket.round.blade.php"
276
- }
277
- },
278
- "endCaptures": {
279
- "0": {
280
- "name": "end.bracket.round.blade.php"
281
- }
282
- }
283
- },
284
- {
285
- "name": "keyword.blade",
286
- "match": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to word boundary\n (?i)append\n|(?i)auth\n|(?i)break\n|(?i)continue\n|(?i)csrf\n|(?i)default\n|(?i)else\n|(?i)elseauth\n|(?i)elseguest\n|(?i)empty\n|(?i)endauth\n|(?i)endcan\n|(?i)endcanany\n|(?i)endcannot\n|(?i)endcomponent\n|(?i)endcomponentfirst\n|(?i)endempty\n|(?i)endenv\n|(?i)enderror\n|(?i)endfor\n|(?i)endforeach\n|(?i)endforelse\n|(?i)endguest\n|(?i)endif\n|(?i)endisset\n|(?i)endlang\n|(?i)endprepend\n|(?i)endproduction\n|(?i)endpush\n|(?i)endsection\n|(?i)endslot\n|(?i)endswitch\n|(?i)endunless\n|endverbatim\n|(?i)endwhile\n|(?i)guest\n|(?i)lang\n|(?i)overwrite\n|(?i)parent\n|(?i)production\n|(?i)show\n|(?i)stop\n|verbatim\n)\n\\b"
287
- },
288
- {
289
- "name": "meta.embedded.block.blade",
290
- "contentName": "source.php",
291
- "begin": "(?\u003c![A-Za-z0-9_@])@(?i:php)\\b",
292
- "end": "(?\u003c![A-Za-z0-9_@])(?=@(?i:endphp)\\b)",
293
- "patterns": [
294
- {
295
- "include": "#language"
296
- }
297
- ],
298
- "beginCaptures": {
299
- "0": {
300
- "name": "keyword.begin.blade"
301
- }
302
- },
303
- "endCaptures": {
304
- "0": {
305
- "name": "keyword.end.blade"
306
- }
307
- }
308
- },
309
- {
310
- "name": "meta.directive.blade",
311
- "contentName": "comment.blade",
312
- "begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i:\n endphp\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
313
- "end": "\\)",
314
- "patterns": [
315
- {
316
- "include": "#balance_brackets"
317
- }
318
- ],
319
- "beginCaptures": {
320
- "1": {
321
- "name": "keyword.end.blade"
322
- },
323
- "2": {
324
- "name": "begin.bracket.round.blade.php"
325
- }
326
- },
327
- "endCaptures": {
328
- "0": {
329
- "name": "end.bracket.round.blade.php"
330
- }
331
- }
332
- },
333
- {
334
- "name": "keyword.end.blade",
335
- "match": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to word boundary\n (?i)endphp\n)\n\\b"
336
- },
337
- {
338
- "name": "meta.directive.custom.blade",
339
- "contentName": "source.php",
340
- "begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n \\w+(?:::\\w+)? # Any number/letter sequence, can also be postfixed by ::someOtherString\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
341
- "end": "\\)",
342
- "patterns": [
343
- {
344
- "include": "#language"
345
- }
346
- ],
347
- "beginCaptures": {
348
- "1": {
349
- "name": "entity.name.function.blade"
350
- },
351
- "2": {
352
- "name": "begin.bracket.round.blade.php"
353
- }
354
- },
355
- "endCaptures": {
356
- "0": {
357
- "name": "end.bracket.round.blade.php"
358
- }
359
- }
360
- },
361
- {
362
- "name": "entity.name.function.blade",
363
- "match": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n\\w+(?:::\\w+)? # Any number/letter sequence, can also be postfixed by ::someOtherString\n\\b # Bounded by word boundary"
364
- }
365
- ]
366
- },
367
- "class-builtin": {
368
- "patterns": [
369
- {
370
- "name": "support.class.builtin.php",
371
- "match": "(?xi)\n(\\\\)?\\b\n((APC|Append)Iterator|Array(Access|Iterator|Object)\n|Bad(Function|Method)CallException\n|(Caching|CallbackFilter)Iterator|Collator|Collectable|Cond|Countable|CURLFile\n|Date(Interval|Period|Time(Interface|Immutable|Zone)?)?|Directory(Iterator)?|DomainException\n|DOM(Attr|CdataSection|CharacterData|Comment|Document(Fragment)?|Element|EntityReference\n |Implementation|NamedNodeMap|Node(list)?|ProcessingInstruction|Text|XPath)\n|(Error)?Exception|EmptyIterator\n|finfo\n|Ev(Check|Child|Embed|Fork|Idle|Io|Loop|Periodic|Prepare|Signal|Stat|Timer|Watcher)?\n|Event(Base|Buffer(Event)?|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?\n|FANNConnection|(Filter|Filesystem)Iterator\n|Gender\\\\Gender|GlobIterator|Gmagick(Draw|Pixel)?\n|Haru(Annotation|Destination|Doc|Encoder|Font|Image|Outline|Page)\n|Http((Inflate|Deflate)?Stream|Message|Request(Pool)?|Response|QueryString)\n|HRTime\\\\(PerformanceCounter|StopWatch)\n|Intl(Calendar|((CodePoint|RuleBased)?Break|Parts)?Iterator|DateFormatter|TimeZone)\n|Imagick(Draw|Pixel(Iterator)?)?\n|InfiniteIterator|InvalidArgumentException|Iterator(Aggregate|Iterator)?\n|JsonSerializable\n|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|(AttachedPicture)?Frame))\n|Lapack|(Length|Locale|Logic)Exception|LimitIterator|Lua(Closure)?\n|Mongo(BinData|Client|Code|Collection|CommandCursor|Cursor(Exception)?|Date|DB(Ref)?|DeleteBatch\n |Grid(FS(Cursor|File)?)|Id|InsertBatch|Int(32|64)|Log|Pool|Regex|ResultException|Timestamp\n |UpdateBatch|Write(Batch|ConcernException))?\n|Memcache(d)?|MessageFormatter|MultipleIterator|Mutex\n|mysqli(_(driver|stmt|warning|result))?\n|MysqlndUh(Connection|PreparedStatement)\n|NoRewindIterator|Normalizer|NumberFormatter\n|OCI-(Collection|Lob)|OuterIterator|(OutOf(Bounds|Range)|Overflow)Exception\n|ParentIterator|PDO(Statement)?|Phar(Data|FileInfo)?|php_user_filter|Pool\n|QuickHash(Int(Set|StringHash)|StringIntHash)\n|Recursive(Array|Caching|Directory|Fallback|Filter|Iterator|Regex|Tree)?Iterator\n|Reflection(Class|Function(Abstract)?|Method|Object|Parameter|Property|(Zend)?Extension)?\n|RangeException|Reflector|RegexIterator|ResourceBundle|RuntimeException|RRD(Creator|Graph|Updater)\n|SAM(Connection|Message)|SCA(_(SoapProxy|LocalProxy))?\n|SDO_(DAS_(ChangeSummary|Data(Factory|Object)|Relational|Setting|XML(_Document)?)\n |Data(Factory|Object)|Exception|List|Model_(Property|ReflectionDataObject|Type)|Sequence)\n|SeekableIterator|Serializable|SessionHandler(Interface)?|SimpleXML(Iterator|Element)|SNMP\n|Soap(Client|Fault|Header|Param|Server|Var)\n|SphinxClient|Spoofchecker\n|Spl(DoublyLinkedList|Enum|File(Info|Object)|FixedArray|(Max|Min)?Heap|Observer|ObjectStorage\n |(Priority)?Queue|Stack|Subject|Type|TempFileObject)\n|SQLite(3(Result|Stmt)?|Database|Result|Unbuffered)\n|stdClass|streamWrapper|SVM(Model)?|Swish(Result(s)?|Search)?|Sync(Event|Mutex|ReaderWriter|Semaphore)\n|Thread(ed)?|tidy(Node)?|TokyoTyrant(Table|Iterator|Query)?|Transliterator|Traversable\n|UConverter|(Underflow|UnexpectedValue)Exception\n|V8Js(Exception)?|Varnish(Admin|Log|Stat)\n|Worker|Weak(Map|Ref)\n|XML(Diff\\\\(Base|DOM|File|Memory)|Reader|Writer)|XsltProcessor\n|Yaf_(Route_(Interface|Map|Regex|Rewrite|Simple|Supervar)\n |Action_Abstract|Application|Config_(Simple|Ini|Abstract)|Controller_Abstract\n |Dispatcher|Exception|Loader|Plugin_Abstract|Registry|Request_(Abstract|Simple|Http)\n |Response_Abstract|Router|Session|View_(Simple|Interface))\n|Yar_(Client(_Exception)?|Concurrent_Client|Server(_Exception)?)\n|ZipArchive|ZMQ(Context|Device|Poll|Socket)?)\n\\b",
372
- "captures": {
373
- "1": {
374
- "name": "punctuation.separator.inheritance.php"
375
- }
376
- }
377
- }
378
- ]
379
- },
380
- "class-name": {
381
- "patterns": [
382
- {
383
- "begin": "(?i)(?=\\\\?[a-z_0-9]+\\\\)",
384
- "end": "(?i)([a-z_][a-z_0-9]*)?(?=[^a-z0-9_\\\\])",
385
- "patterns": [
386
- {
387
- "include": "#namespace"
388
- }
389
- ],
390
- "endCaptures": {
391
- "1": {
392
- "name": "support.class.php"
393
- }
394
- }
395
- },
396
- {
397
- "include": "#class-builtin"
398
- },
399
- {
400
- "begin": "(?=[\\\\a-zA-Z_])",
401
- "end": "(?i)([a-z_][a-z_0-9]*)?(?=[^a-z0-9_\\\\])",
402
- "patterns": [
403
- {
404
- "include": "#namespace"
405
- }
406
- ],
407
- "endCaptures": {
408
- "1": {
409
- "name": "support.class.php"
410
- }
411
- }
412
- }
413
- ]
414
- },
415
- "comments": {
416
- "patterns": [
417
- {
418
- "name": "comment.block.documentation.phpdoc.php",
419
- "begin": "/\\*\\*(?=\\s)",
420
- "end": "\\*/",
421
- "patterns": [
422
- {
423
- "include": "#php_doc"
424
- }
425
- ],
426
- "beginCaptures": {
427
- "0": {
428
- "name": "punctuation.definition.comment.php"
429
- }
430
- },
431
- "endCaptures": {
432
- "0": {
433
- "name": "punctuation.definition.comment.php"
434
- }
435
- }
436
- },
437
- {
438
- "name": "comment.block.php",
439
- "begin": "/\\*",
440
- "end": "\\*/",
441
- "captures": {
442
- "0": {
443
- "name": "punctuation.definition.comment.php"
444
- }
445
- }
446
- },
447
- {
448
- "begin": "(^\\s+)?(?=//)",
449
- "end": "(?!\\G)",
450
- "patterns": [
451
- {
452
- "name": "comment.line.double-slash.php",
453
- "begin": "//",
454
- "end": "\\n|(?=\\?\u003e)",
455
- "beginCaptures": {
456
- "0": {
457
- "name": "punctuation.definition.comment.php"
458
- }
459
- }
460
- }
461
- ],
462
- "beginCaptures": {
463
- "1": {
464
- "name": "punctuation.whitespace.comment.leading.php"
465
- }
466
- }
467
- },
468
- {
469
- "begin": "(^\\s+)?(?=#)",
470
- "end": "(?!\\G)",
471
- "patterns": [
472
- {
473
- "name": "comment.line.number-sign.php",
474
- "begin": "#",
475
- "end": "\\n|(?=\\?\u003e)",
476
- "beginCaptures": {
477
- "0": {
478
- "name": "punctuation.definition.comment.php"
479
- }
480
- }
481
- }
482
- ],
483
- "beginCaptures": {
484
- "1": {
485
- "name": "punctuation.whitespace.comment.leading.php"
486
- }
487
- }
488
- }
489
- ]
490
- },
491
- "constants": {
492
- "patterns": [
493
- {
494
- "name": "constant.language.php",
495
- "match": "(?i)\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\b"
496
- },
497
- {
498
- "name": "support.constant.core.php",
499
- "match": "(?x)\n(\\\\)?\\b\n(DEFAULT_INCLUDE_PATH\n|EAR_(INSTALL|EXTENSION)_DIR\n|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE\n |PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)\n|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN\n |BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)\n |INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR\n |URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX\n |EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?\n |WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)\n |VERSION_(MAJOR|MINOR)|BUILD|SUITEMASK|SP_(MAJOR|MINOR)\n |PRODUCTTYPE|PLATFORM)\n |LIBDIR|LOCALSTATEDIR)\n|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\n\\b",
500
- "captures": {
501
- "1": {
502
- "name": "punctuation.separator.inheritance.php"
503
- }
504
- }
505
- },
506
- {
507
- "name": "support.constant.std.php",
508
- "match": "(?x)\n(\\\\)?\\b\n(__COMPILER_HALT_OFFSET__|AB(MON_(1|2|3|4|5|6|7|8|9|10|11|12)|DAY[1-7])\n|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS\n|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)\n|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)\n|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL\n|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)\n|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR\n|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)\n|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)\n|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)\n|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)\n|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)\n|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL\n |NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)\n|M_(1_PI|SQRT(1_2|2|3|PI)|2_(SQRT)?PI|PI(_(2|4))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)\n|MON_(1|2|3|4|5|6|7|8|9|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)\n|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)\n|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN\n|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR\n|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)\n|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP\n|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)\n|YES(EXPR|STR))\n\\b",
509
- "captures": {
510
- "1": {
511
- "name": "punctuation.separator.inheritance.php"
512
- }
513
- }
514
- },
515
- {
516
- "name": "support.constant.ext.php",
517
- "match": "(?x)\n(\\\\)?\\b\n(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)\n|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE\n |OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)\n |ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE\n |NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE\n |UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT\n |PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)\n |ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(NMTOKEN(S)?|NOTATION|NODE)\n |CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)\n|MHASH_(RIPEMD(128|160|256|320)|GOST|MD(2|4|5)|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)\n |CRC23(B)?|TIGER(128|160)?|WHIRLPOOL|ADLER32)\n|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))\n|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)\n |READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH\n |STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT\n |SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)\n |NO_(DEFAULT_VALUE_FLAG|DATA)|NOT_NULL_FLAG|NUM(_FLAG)?\n |CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)\n |CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)\n |TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR\n |TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)\n |TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG\n |OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)\n |DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG\n |ASSOC|ASYNC|AUTO_INCREMENT_FLAG)\n|MCRYPT_(RC(2|6)|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS\n |BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY\n |TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)\n|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR\n |SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)\n |NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS\n |FILE_SIZE_IS|FAILURE|AUTH_(REQUIRED|RESULT))\n |CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)\n |CAST_(AS_STREAM|FOR_SELECT)|(IGNORE|IS)_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB\n |OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH\n |PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))\n|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)\n|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT\n |CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY\n |FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)\n|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)\n|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)\n |MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)\n |CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)\n |INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME\n |(SIZE|SPEED)_(DOWNLOAD|UPLOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME\n |CONNECT_TIME|CONTENT_(TYPE|LENGTH_(DOWNLOAD|UPLOAD))|CERTINFO|TOTAL_TIME\n |PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)\n |OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE\n |MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE\n |SSH_(HOST_PUBLIC_KEY_MD5|(PRIVATE|PUBLIC)_KEYFILE)|AUTH_TYPES)\n |SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)\n |SSL_(CIPHER_LIST|VERIFY(HOST|PEER))\n |STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)\n |HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?\n |COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT\n |TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE\n |DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD\n |PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT\n |POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT\n |FTP(APPEND|LISTONLY|PORT|SSLAUTH)\n |FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)\n |FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)\n |AUTOREFERER)\n |PROXY_(HTTP|SOCKS(4|5))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)\n |E_((RECV|READ)_ERROR|GOT_NOTHING|MALFORMAT_USER\n |BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)\n |SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))\n |SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)\n |COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE\n |OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL\n |UNKNOWN_TELNET_OPTION|PARTIAL_FILE\n |FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)\n |CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR\n |WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)\n |FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND\n |LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)\n |VERSION_NOW\n |FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))\n |AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))\n|CURL_(HTTP_VERSION_(1_(0|1)|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)\n |IPRESOLVE_(V(4|6)|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))\n|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)\n|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)\n|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)\n|DOM(STRING_SIZE_ERR)\n|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_(MODIFICATION_ALLOWED|DATA_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE\n |INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)\n|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)\n|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT\n |SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)\n|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))\n|PCRE_VERSION|POSIX_((F|R|W|X)_OK|S_IF(REG|BLK|SOCK|CHR|IFO))\n|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)\n|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW\n |SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL\n |EMAIL|ENCODED|FULL_SPCIAL_CHARS)\n |VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)\n |FORCE_ARRAY\n |FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES\n |IPV(4|6)|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED\n |ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))\n|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)\n|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)\n|FORCE_(DEFLATE|GZIP)\n|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)\n |COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\n\\b",
518
- "captures": {
519
- "1": {
520
- "name": "punctuation.separator.inheritance.php"
521
- }
522
- }
523
- },
524
- {
525
- "name": "support.constant.parser-token.php",
526
- "match": "(?x)\n(\\\\)?\\b\n(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK\n |BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC\n |SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT\n |CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?\n |CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))\n |INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)\n |OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)\n |DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC\n |PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE\n |END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE\n |FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)\n |ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\n\\b",
527
- "captures": {
528
- "1": {
529
- "name": "punctuation.separator.inheritance.php"
530
- }
531
- }
532
- },
533
- {
534
- "name": "constant.other.php",
535
- "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"
536
- }
537
- ]
538
- },
539
- "function-call": {
540
- "patterns": [
541
- {
542
- "name": "meta.function-call.php",
543
- "begin": "(?xi)\n(\n \\\\?\\b # Optional root namespace\n [a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]* # First namespace\n (?:\\\\[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)+ # Additional namespaces\n)\\s*(\\()",
544
- "end": "\\)|(?=\\?\u003e)",
545
- "patterns": [
546
- {
547
- "include": "#language"
548
- }
549
- ],
550
- "beginCaptures": {
551
- "1": {
552
- "patterns": [
553
- {
554
- "include": "#namespace"
555
- },
556
- {
557
- "name": "entity.name.function.php",
558
- "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"
559
- }
560
- ]
561
- },
562
- "2": {
563
- "name": "punctuation.definition.arguments.begin.bracket.round.php"
564
- }
565
- },
566
- "endCaptures": {
567
- "0": {
568
- "name": "punctuation.definition.arguments.end.bracket.round.php"
569
- }
570
- }
571
- },
572
- {
573
- "name": "meta.function-call.php",
574
- "begin": "(?i)(\\\\)?\\b([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()",
575
- "end": "\\)|(?=\\?\u003e)",
576
- "patterns": [
577
- {
578
- "include": "#language"
579
- }
580
- ],
581
- "beginCaptures": {
582
- "1": {
583
- "patterns": [
584
- {
585
- "include": "#namespace"
586
- }
587
- ]
588
- },
589
- "2": {
590
- "patterns": [
591
- {
592
- "include": "#support"
593
- },
594
- {
595
- "name": "entity.name.function.php",
596
- "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"
597
- }
598
- ]
599
- },
600
- "3": {
601
- "name": "punctuation.definition.arguments.begin.bracket.round.php"
602
- }
603
- },
604
- "endCaptures": {
605
- "0": {
606
- "name": "punctuation.definition.arguments.end.bracket.round.php"
607
- }
608
- }
609
- },
610
- {
611
- "name": "support.function.construct.output.php",
612
- "match": "(?i)\\b(print|echo)\\b"
613
- }
614
- ]
615
- },
616
- "function-parameters": {
617
- "patterns": [
618
- {
619
- "include": "#comments"
620
- },
621
- {
622
- "name": "punctuation.separator.delimiter.php",
623
- "match": ","
624
- },
625
- {
626
- "name": "meta.function.parameter.array.php",
627
- "contentName": "meta.array.php",
628
- "begin": "(?xi)\n(array) # Typehint\n\\s+((\u0026)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(=)\\s*(array)\\s*(\\() # Default value",
629
- "end": "\\)",
630
- "patterns": [
631
- {
632
- "include": "#comments"
633
- },
634
- {
635
- "include": "#strings"
636
- },
637
- {
638
- "include": "#numbers"
639
- }
640
- ],
641
- "beginCaptures": {
642
- "1": {
643
- "name": "storage.type.php"
644
- },
645
- "2": {
646
- "name": "variable.other.php"
647
- },
648
- "3": {
649
- "name": "storage.modifier.reference.php"
650
- },
651
- "4": {
652
- "name": "punctuation.definition.variable.php"
653
- },
654
- "5": {
655
- "name": "keyword.operator.assignment.php"
656
- },
657
- "6": {
658
- "name": "support.function.construct.php"
659
- },
660
- "7": {
661
- "name": "punctuation.definition.array.begin.bracket.round.php"
662
- }
663
- },
664
- "endCaptures": {
665
- "0": {
666
- "name": "punctuation.definition.array.end.bracket.round.php"
667
- }
668
- }
669
- },
670
- {
671
- "name": "meta.function.parameter.array.php",
672
- "match": "(?xi)\n(array|callable) # Typehint\n\\s+((\u0026)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n(?: # Optional default value\n \\s*(=)\\s*\n (?:\n (null)\n |\n (\\[)((?\u003e[^\\[\\]]+|\\[\\g\u003c8\u003e\\])*)(\\])\n |((?:\\S*?\\(\\))|(?:\\S*?))\n )\n)?\n\\s*(?=,|\\)|/[/*]|\\#|$) # A closing parentheses (end of argument list) or a comma or a comment",
673
- "captures": {
674
- "1": {
675
- "name": "storage.type.php"
676
- },
677
- "10": {
678
- "name": "invalid.illegal.non-null-typehinted.php"
679
- },
680
- "2": {
681
- "name": "variable.other.php"
682
- },
683
- "3": {
684
- "name": "storage.modifier.reference.php"
685
- },
686
- "4": {
687
- "name": "punctuation.definition.variable.php"
688
- },
689
- "5": {
690
- "name": "keyword.operator.assignment.php"
691
- },
692
- "6": {
693
- "name": "constant.language.php"
694
- },
695
- "7": {
696
- "name": "punctuation.section.array.begin.php"
697
- },
698
- "8": {
699
- "patterns": [
700
- {
701
- "include": "#parameter-default-types"
702
- }
703
- ]
704
- },
705
- "9": {
706
- "name": "punctuation.section.array.end.php"
707
- }
708
- }
709
- },
710
- {
711
- "name": "meta.function.parameter.typehinted.php",
712
- "begin": "(?xi)\n(\\\\?(?:[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)*) # Optional namespace\n([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Typehinted class name\n\\s+((\u0026)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference",
713
- "end": "(?=,|\\)|/[/*]|\\#)",
714
- "patterns": [
715
- {
716
- "begin": "=",
717
- "end": "(?=,|\\)|/[/*]|\\#)",
718
- "patterns": [
719
- {
720
- "include": "#language"
721
- }
722
- ],
723
- "beginCaptures": {
724
- "0": {
725
- "name": "keyword.operator.assignment.php"
726
- }
727
- }
728
- }
729
- ],
730
- "beginCaptures": {
731
- "1": {
732
- "name": "support.other.namespace.php",
733
- "patterns": [
734
- {
735
- "name": "storage.type.php",
736
- "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"
737
- },
738
- {
739
- "name": "punctuation.separator.inheritance.php",
740
- "match": "\\\\"
741
- }
742
- ]
743
- },
744
- "2": {
745
- "name": "storage.type.php"
746
- },
747
- "3": {
748
- "name": "variable.other.php"
749
- },
750
- "4": {
751
- "name": "storage.modifier.reference.php"
752
- },
753
- "5": {
754
- "name": "keyword.operator.variadic.php"
755
- },
756
- "6": {
757
- "name": "punctuation.definition.variable.php"
758
- }
759
- }
760
- },
761
- {
762
- "name": "meta.function.parameter.no-default.php",
763
- "match": "(?xi)\n((\u0026)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(?=,|\\)|/[/*]|\\#|$) # A closing parentheses (end of argument list) or a comma or a comment",
764
- "captures": {
765
- "1": {
766
- "name": "variable.other.php"
767
- },
768
- "2": {
769
- "name": "storage.modifier.reference.php"
770
- },
771
- "3": {
772
- "name": "keyword.operator.variadic.php"
773
- },
774
- "4": {
775
- "name": "punctuation.definition.variable.php"
776
- }
777
- }
778
- },
779
- {
780
- "name": "meta.function.parameter.default.php",
781
- "begin": "(?xi)\n((\u0026)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(=)\\s*\n(?:(\\[)((?\u003e[^\\[\\]]+|\\[\\g\u003c6\u003e\\])*)(\\]))? # Optional default type",
782
- "end": "(?=,|\\)|/[/*]|\\#)",
783
- "patterns": [
784
- {
785
- "include": "#parameter-default-types"
786
- }
787
- ],
788
- "beginCaptures": {
789
- "1": {
790
- "name": "variable.other.php"
791
- },
792
- "2": {
793
- "name": "storage.modifier.reference.php"
794
- },
795
- "3": {
796
- "name": "keyword.operator.variadic.php"
797
- },
798
- "4": {
799
- "name": "punctuation.definition.variable.php"
800
- },
801
- "5": {
802
- "name": "keyword.operator.assignment.php"
803
- },
804
- "6": {
805
- "name": "punctuation.section.array.begin.php"
806
- },
807
- "7": {
808
- "patterns": [
809
- {
810
- "include": "#parameter-default-types"
811
- }
812
- ]
813
- },
814
- "8": {
815
- "name": "punctuation.section.array.end.php"
816
- }
817
- }
818
- }
819
- ]
820
- },
821
- "heredoc": {
822
- "patterns": [
823
- {
824
- "name": "string.unquoted.heredoc.php",
825
- "begin": "(?i)(?=\u003c\u003c\u003c\\s*(\"?)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(\\1)\\s*$)",
826
- "end": "(?!\\G)",
827
- "patterns": [
828
- {
829
- "include": "#heredoc_interior"
830
- }
831
- ]
832
- },
833
- {
834
- "name": "string.unquoted.nowdoc.php",
835
- "begin": "(?=\u003c\u003c\u003c\\s*'([a-zA-Z_]+[a-zA-Z0-9_]*)'\\s*$)",
836
- "end": "(?!\\G)",
837
- "patterns": [
838
- {
839
- "include": "#nowdoc_interior"
840
- }
841
- ]
842
- }
843
- ]
844
- },
845
- "heredoc_interior": {
846
- "patterns": [
847
- {
848
- "name": "meta.embedded.html",
849
- "contentName": "text.html",
850
- "begin": "(\u003c\u003c\u003c)\\s*(\"?)(HTML)(\\2)(\\s*)$",
851
- "end": "^(\\3)\\b",
852
- "patterns": [
853
- {
854
- "include": "#interpolation"
855
- },
856
- {
857
- "include": "text.html.basic"
858
- }
859
- ],
860
- "beginCaptures": {
861
- "0": {
862
- "name": "punctuation.section.embedded.begin.php"
863
- },
864
- "1": {
865
- "name": "punctuation.definition.string.php"
866
- },
867
- "3": {
868
- "name": "keyword.operator.heredoc.php"
869
- },
870
- "5": {
871
- "name": "invalid.illegal.trailing-whitespace.php"
872
- }
873
- },
874
- "endCaptures": {
875
- "0": {
876
- "name": "punctuation.section.embedded.end.php"
877
- },
878
- "1": {
879
- "name": "keyword.operator.heredoc.php"
880
- }
881
- }
882
- },
883
- {
884
- "name": "meta.embedded.xml",
885
- "contentName": "text.xml",
886
- "begin": "(\u003c\u003c\u003c)\\s*(\"?)(XML)(\\2)(\\s*)$",
887
- "end": "^(\\3)\\b",
888
- "patterns": [
889
- {
890
- "include": "#interpolation"
891
- },
892
- {
893
- "include": "text.xml"
894
- }
895
- ],
896
- "beginCaptures": {
897
- "0": {
898
- "name": "punctuation.section.embedded.begin.php"
899
- },
900
- "1": {
901
- "name": "punctuation.definition.string.php"
902
- },
903
- "3": {
904
- "name": "keyword.operator.heredoc.php"
905
- },
906
- "5": {
907
- "name": "invalid.illegal.trailing-whitespace.php"
908
- }
909
- },
910
- "endCaptures": {
911
- "0": {
912
- "name": "punctuation.section.embedded.end.php"
913
- },
914
- "1": {
915
- "name": "keyword.operator.heredoc.php"
916
- }
917
- }
918
- },
919
- {
920
- "name": "meta.embedded.sql",
921
- "contentName": "source.sql",
922
- "begin": "(\u003c\u003c\u003c)\\s*(\"?)(SQL)(\\2)(\\s*)$",
923
- "end": "^(\\3)\\b",
924
- "patterns": [
925
- {
926
- "include": "#interpolation"
927
- },
928
- {
929
- "include": "source.sql"
930
- }
931
- ],
932
- "beginCaptures": {
933
- "0": {
934
- "name": "punctuation.section.embedded.begin.php"
935
- },
936
- "1": {
937
- "name": "punctuation.definition.string.php"
938
- },
939
- "3": {
940
- "name": "keyword.operator.heredoc.php"
941
- },
942
- "5": {
943
- "name": "invalid.illegal.trailing-whitespace.php"
944
- }
945
- },
946
- "endCaptures": {
947
- "0": {
948
- "name": "punctuation.section.embedded.end.php"
949
- },
950
- "1": {
951
- "name": "keyword.operator.heredoc.php"
952
- }
953
- }
954
- },
955
- {
956
- "name": "meta.embedded.js",
957
- "contentName": "source.js",
958
- "begin": "(\u003c\u003c\u003c)\\s*(\"?)(JAVASCRIPT|JS)(\\2)(\\s*)$",
959
- "end": "^(\\3)\\b",
960
- "patterns": [
961
- {
962
- "include": "#interpolation"
963
- },
964
- {
965
- "include": "source.js"
966
- }
967
- ],
968
- "beginCaptures": {
969
- "0": {
970
- "name": "punctuation.section.embedded.begin.php"
971
- },
972
- "1": {
973
- "name": "punctuation.definition.string.php"
974
- },
975
- "3": {
976
- "name": "keyword.operator.heredoc.php"
977
- },
978
- "5": {
979
- "name": "invalid.illegal.trailing-whitespace.php"
980
- }
981
- },
982
- "endCaptures": {
983
- "0": {
984
- "name": "punctuation.section.embedded.end.php"
985
- },
986
- "1": {
987
- "name": "keyword.operator.heredoc.php"
988
- }
989
- }
990
- },
991
- {
992
- "name": "meta.embedded.json",
993
- "contentName": "source.json",
994
- "begin": "(\u003c\u003c\u003c)\\s*(\"?)(JSON)(\\2)(\\s*)$",
995
- "end": "^(\\3)\\b",
996
- "patterns": [
997
- {
998
- "include": "#interpolation"
999
- },
1000
- {
1001
- "include": "source.json"
1002
- }
1003
- ],
1004
- "beginCaptures": {
1005
- "0": {
1006
- "name": "punctuation.section.embedded.begin.php"
1007
- },
1008
- "1": {
1009
- "name": "punctuation.definition.string.php"
1010
- },
1011
- "3": {
1012
- "name": "keyword.operator.heredoc.php"
1013
- },
1014
- "5": {
1015
- "name": "invalid.illegal.trailing-whitespace.php"
1016
- }
1017
- },
1018
- "endCaptures": {
1019
- "0": {
1020
- "name": "punctuation.section.embedded.end.php"
1021
- },
1022
- "1": {
1023
- "name": "keyword.operator.heredoc.php"
1024
- }
1025
- }
1026
- },
1027
- {
1028
- "name": "meta.embedded.css",
1029
- "contentName": "source.css",
1030
- "begin": "(\u003c\u003c\u003c)\\s*(\"?)(CSS)(\\2)(\\s*)$",
1031
- "end": "^(\\3)\\b",
1032
- "patterns": [
1033
- {
1034
- "include": "#interpolation"
1035
- },
1036
- {
1037
- "include": "source.css"
1038
- }
1039
- ],
1040
- "beginCaptures": {
1041
- "0": {
1042
- "name": "punctuation.section.embedded.begin.php"
1043
- },
1044
- "1": {
1045
- "name": "punctuation.definition.string.php"
1046
- },
1047
- "3": {
1048
- "name": "keyword.operator.heredoc.php"
1049
- },
1050
- "5": {
1051
- "name": "invalid.illegal.trailing-whitespace.php"
1052
- }
1053
- },
1054
- "endCaptures": {
1055
- "0": {
1056
- "name": "punctuation.section.embedded.end.php"
1057
- },
1058
- "1": {
1059
- "name": "keyword.operator.heredoc.php"
1060
- }
1061
- }
1062
- },
1063
- {
1064
- "contentName": "string.regexp.heredoc.php",
1065
- "begin": "(\u003c\u003c\u003c)\\s*(\"?)(REGEXP?)(\\2)(\\s*)$",
1066
- "end": "^(\\3)\\b",
1067
- "patterns": [
1068
- {
1069
- "include": "#interpolation"
1070
- },
1071
- {
1072
- "name": "constant.character.escape.regex.php",
1073
- "match": "(\\\\){1,2}[.$^\\[\\]{}]"
1074
- },
1075
- {
1076
- "name": "string.regexp.arbitrary-repitition.php",
1077
- "match": "({)\\d+(,\\d+)?(})",
1078
- "captures": {
1079
- "1": {
1080
- "name": "punctuation.definition.arbitrary-repitition.php"
1081
- },
1082
- "3": {
1083
- "name": "punctuation.definition.arbitrary-repitition.php"
1084
- }
1085
- }
1086
- },
1087
- {
1088
- "name": "string.regexp.character-class.php",
1089
- "begin": "\\[(?:\\^?\\])?",
1090
- "end": "\\]",
1091
- "patterns": [
1092
- {
1093
- "name": "constant.character.escape.php",
1094
- "match": "\\\\[\\\\'\\[\\]]"
1095
- }
1096
- ],
1097
- "captures": {
1098
- "0": {
1099
- "name": "punctuation.definition.character-class.php"
1100
- }
1101
- }
1102
- },
1103
- {
1104
- "name": "keyword.operator.regexp.php",
1105
- "match": "[$^+*]"
1106
- },
1107
- {
1108
- "name": "comment.line.number-sign.php",
1109
- "begin": "(?i)(?\u003c=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{ff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)",
1110
- "end": "$",
1111
- "beginCaptures": {
1112
- "1": {
1113
- "name": "punctuation.definition.comment.php"
1114
- }
1115
- },
1116
- "endCaptures": {
1117
- "0": {
1118
- "name": "punctuation.definition.comment.php"
1119
- }
1120
- }
1121
- }
1122
- ],
1123
- "beginCaptures": {
1124
- "0": {
1125
- "name": "punctuation.section.embedded.begin.php"
1126
- },
1127
- "1": {
1128
- "name": "punctuation.definition.string.php"
1129
- },
1130
- "3": {
1131
- "name": "keyword.operator.heredoc.php"
1132
- },
1133
- "5": {
1134
- "name": "invalid.illegal.trailing-whitespace.php"
1135
- }
1136
- },
1137
- "endCaptures": {
1138
- "0": {
1139
- "name": "punctuation.section.embedded.end.php"
1140
- },
1141
- "1": {
1142
- "name": "keyword.operator.heredoc.php"
1143
- }
1144
- }
1145
- },
1146
- {
1147
- "begin": "(?i)(\u003c\u003c\u003c)\\s*(\"?)([a-z_\\x{7f}-\\x{ff}]+[a-z0-9_\\x{7f}-\\x{ff}]*)(\\2)(\\s*)",
1148
- "end": "^(\\3)\\b",
1149
- "patterns": [
1150
- {
1151
- "include": "#interpolation"
1152
- }
1153
- ],
1154
- "beginCaptures": {
1155
- "1": {
1156
- "name": "punctuation.definition.string.php"
1157
- },
1158
- "3": {
1159
- "name": "keyword.operator.heredoc.php"
1160
- },
1161
- "5": {
1162
- "name": "invalid.illegal.trailing-whitespace.php"
1163
- }
1164
- },
1165
- "endCaptures": {
1166
- "1": {
1167
- "name": "keyword.operator.heredoc.php"
1168
- }
1169
- }
1170
- }
1171
- ]
1172
- },
1173
- "instantiation": {
1174
- "begin": "(?i)(new)\\s+",
1175
- "end": "(?i)(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",
1176
- "patterns": [
1177
- {
1178
- "name": "storage.type.php",
1179
- "match": "(?i)(parent|static|self)(?![a-z0-9_\\x{7f}-\\x{ff}])"
1180
- },
1181
- {
1182
- "include": "#class-name"
1183
- },
1184
- {
1185
- "include": "#variable-name"
1186
- }
1187
- ],
1188
- "beginCaptures": {
1189
- "1": {
1190
- "name": "keyword.other.new.php"
1191
- }
1192
- }
1193
- },
1194
- "interpolation": {
1195
- "patterns": [
1196
- {
1197
- "name": "constant.character.escape.octal.php",
1198
- "match": "\\\\[0-7]{1,3}"
1199
- },
1200
- {
1201
- "name": "constant.character.escape.hex.php",
1202
- "match": "\\\\x[0-9A-Fa-f]{1,2}"
1203
- },
1204
- {
1205
- "name": "constant.character.escape.unicode.php",
1206
- "match": "\\\\u{[0-9A-Fa-f]+}"
1207
- },
1208
- {
1209
- "name": "constant.character.escape.php",
1210
- "match": "\\\\[nrtvef$\"\\\\]"
1211
- },
1212
- {
1213
- "begin": "{(?=\\$.*?})",
1214
- "end": "}",
1215
- "patterns": [
1216
- {
1217
- "include": "#language"
1218
- }
1219
- ],
1220
- "beginCaptures": {
1221
- "0": {
1222
- "name": "punctuation.definition.variable.php"
1223
- }
1224
- },
1225
- "endCaptures": {
1226
- "0": {
1227
- "name": "punctuation.definition.variable.php"
1228
- }
1229
- }
1230
- },
1231
- {
1232
- "include": "#variable-name"
1233
- }
1234
- ]
1235
- },
1236
- "invoke-call": {
1237
- "name": "meta.function-call.invoke.php",
1238
- "match": "(?i)(\\$+)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(?=\\s*\\()",
1239
- "captures": {
1240
- "1": {
1241
- "name": "punctuation.definition.variable.php"
1242
- },
1243
- "2": {
1244
- "name": "variable.other.php"
1245
- }
1246
- }
1247
- },
1248
- "language": {
1249
- "patterns": [
1250
- {
1251
- "include": "#comments"
1252
- },
1253
- {
1254
- "name": "meta.interface.php",
1255
- "begin": "(?i)^\\s*(interface)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(extends)?\\s*",
1256
- "end": "(?i)((?:[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\s*,\\s*)*)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?\\s*(?:(?={)|$)",
1257
- "patterns": [
1258
- {
1259
- "include": "#namespace"
1260
- }
1261
- ],
1262
- "beginCaptures": {
1263
- "1": {
1264
- "name": "storage.type.interface.php"
1265
- },
1266
- "2": {
1267
- "name": "entity.name.type.interface.php"
1268
- },
1269
- "3": {
1270
- "name": "storage.modifier.extends.php"
1271
- }
1272
- },
1273
- "endCaptures": {
1274
- "1": {
1275
- "patterns": [
1276
- {
1277
- "name": "entity.other.inherited-class.php",
1278
- "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"
1279
- },
1280
- {
1281
- "name": "punctuation.separator.classes.php",
1282
- "match": ","
1283
- }
1284
- ]
1285
- },
1286
- "2": {
1287
- "name": "entity.other.inherited-class.php"
1288
- }
1289
- }
1290
- },
1291
- {
1292
- "name": "meta.trait.php",
1293
- "begin": "(?i)^\\s*(trait)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)",
1294
- "end": "(?={)",
1295
- "patterns": [
1296
- {
1297
- "include": "#comments"
1298
- }
1299
- ],
1300
- "beginCaptures": {
1301
- "1": {
1302
- "name": "storage.type.trait.php"
1303
- },
1304
- "2": {
1305
- "name": "entity.name.type.trait.php"
1306
- }
1307
- }
1308
- },
1309
- {
1310
- "name": "meta.namespace.php",
1311
- "match": "(?i)(?:^|(?\u003c=\u003c\\?php))\\s*(namespace)\\s+([a-z0-9_\\x{7f}-\\x{ff}\\\\]+)(?=\\s*;)",
1312
- "captures": {
1313
- "1": {
1314
- "name": "keyword.other.namespace.php"
1315
- },
1316
- "2": {
1317
- "name": "entity.name.type.namespace.php",
1318
- "patterns": [
1319
- {
1320
- "name": "punctuation.separator.inheritance.php",
1321
- "match": "\\\\"
1322
- }
1323
- ]
1324
- }
1325
- }
1326
- },
1327
- {
1328
- "name": "meta.namespace.php",
1329
- "begin": "(?i)(?:^|(?\u003c=\u003c\\?php))\\s*(namespace)\\s+",
1330
- "end": "(?\u003c=})|(?=\\?\u003e)",
1331
- "patterns": [
1332
- {
1333
- "include": "#comments"
1334
- },
1335
- {
1336
- "name": "entity.name.type.namespace.php",
1337
- "match": "(?i)[a-z0-9_\\x{7f}-\\x{ff}\\\\]+",
1338
- "captures": {
1339
- "0": {
1340
- "patterns": [
1341
- {
1342
- "name": "punctuation.separator.inheritance.php",
1343
- "match": "\\\\"
1344
- }
1345
- ]
1346
- }
1347
- }
1348
- },
1349
- {
1350
- "begin": "{",
1351
- "end": "}|(?=\\?\u003e)",
1352
- "patterns": [
1353
- {
1354
- "include": "#language"
1355
- }
1356
- ],
1357
- "beginCaptures": {
1358
- "0": {
1359
- "name": "punctuation.definition.namespace.begin.bracket.curly.php"
1360
- }
1361
- },
1362
- "endCaptures": {
1363
- "0": {
1364
- "name": "punctuation.definition.namespace.end.bracket.curly.php"
1365
- }
1366
- }
1367
- },
1368
- {
1369
- "name": "invalid.illegal.identifier.php",
1370
- "match": "[^\\s]+"
1371
- }
1372
- ],
1373
- "beginCaptures": {
1374
- "1": {
1375
- "name": "keyword.other.namespace.php"
1376
- }
1377
- }
1378
- },
1379
- {
1380
- "match": "\\s+(?=use\\b)"
1381
- },
1382
- {
1383
- "name": "meta.use.php",
1384
- "begin": "(?i)\\buse\\b",
1385
- "end": "(?\u003c=})|(?=;)",
1386
- "patterns": [
1387
- {
1388
- "name": "storage.type.${1:/downcase}.php",
1389
- "match": "\\b(const|function)\\b"
1390
- },
1391
- {
1392
- "begin": "{",
1393
- "end": "}",
1394
- "patterns": [
1395
- {
1396
- "include": "#scope-resolution"
1397
- },
1398
- {
1399
- "match": "(?xi)\n\\b(as)\n\\s+(final|abstract|public|private|protected|static)\n\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\n\\b",
1400
- "captures": {
1401
- "1": {
1402
- "name": "keyword.other.use-as.php"
1403
- },
1404
- "2": {
1405
- "name": "storage.modifier.php"
1406
- },
1407
- "3": {
1408
- "name": "entity.other.alias.php"
1409
- }
1410
- }
1411
- },
1412
- {
1413
- "match": "(?xi)\n\\b(as)\n\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\n\\b",
1414
- "captures": {
1415
- "1": {
1416
- "name": "keyword.other.use-as.php"
1417
- },
1418
- "2": {
1419
- "patterns": [
1420
- {
1421
- "name": "storage.modifier.php",
1422
- "match": "^(?:final|abstract|public|private|protected|static)$"
1423
- },
1424
- {
1425
- "name": "entity.other.alias.php",
1426
- "match": ".+"
1427
- }
1428
- ]
1429
- }
1430
- }
1431
- },
1432
- {
1433
- "match": "(?i)\\b(insteadof)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)",
1434
- "captures": {
1435
- "1": {
1436
- "name": "keyword.other.use-insteadof.php"
1437
- },
1438
- "2": {
1439
- "name": "support.class.php"
1440
- }
1441
- }
1442
- },
1443
- {
1444
- "name": "punctuation.terminator.expression.php",
1445
- "match": ";"
1446
- },
1447
- {
1448
- "include": "#use-inner"
1449
- }
1450
- ],
1451
- "beginCaptures": {
1452
- "0": {
1453
- "name": "punctuation.definition.use.begin.bracket.curly.php"
1454
- }
1455
- },
1456
- "endCaptures": {
1457
- "0": {
1458
- "name": "punctuation.definition.use.end.bracket.curly.php"
1459
- }
1460
- }
1461
- },
1462
- {
1463
- "include": "#use-inner"
1464
- }
1465
- ],
1466
- "beginCaptures": {
1467
- "0": {
1468
- "name": "keyword.other.use.php"
1469
- }
1470
- }
1471
- },
1472
- {
1473
- "name": "meta.class.php",
1474
- "begin": "(?i)^\\s*(?:(abstract|final)\\s+)?(class)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)",
1475
- "end": "}|(?=\\?\u003e)",
1476
- "patterns": [
1477
- {
1478
- "include": "#comments"
1479
- },
1480
- {
1481
- "contentName": "meta.other.inherited-class.php",
1482
- "begin": "(?i)(extends)\\s+",
1483
- "end": "(?i)(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",
1484
- "patterns": [
1485
- {
1486
- "begin": "(?i)(?=\\\\?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)",
1487
- "end": "(?i)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",
1488
- "patterns": [
1489
- {
1490
- "include": "#namespace"
1491
- }
1492
- ],
1493
- "endCaptures": {
1494
- "1": {
1495
- "name": "entity.other.inherited-class.php"
1496
- }
1497
- }
1498
- },
1499
- {
1500
- "include": "#class-builtin"
1501
- },
1502
- {
1503
- "include": "#namespace"
1504
- },
1505
- {
1506
- "name": "entity.other.inherited-class.php",
1507
- "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"
1508
- }
1509
- ],
1510
- "beginCaptures": {
1511
- "1": {
1512
- "name": "storage.modifier.extends.php"
1513
- }
1514
- }
1515
- },
1516
- {
1517
- "begin": "(?i)(implements)\\s+",
1518
- "end": "(?i)(?=[;{])",
1519
- "patterns": [
1520
- {
1521
- "include": "#comments"
1522
- },
1523
- {
1524
- "contentName": "meta.other.inherited-class.php",
1525
- "begin": "(?i)(?=[a-z0-9_\\x{7f}-\\x{ff}\\\\]+)",
1526
- "end": "(?i)(?:\\s*(?:,|(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\\\s]))\\s*)",
1527
- "patterns": [
1528
- {
1529
- "begin": "(?i)(?=\\\\?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)",
1530
- "end": "(?i)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",
1531
- "patterns": [
1532
- {
1533
- "include": "#namespace"
1534
- }
1535
- ],
1536
- "endCaptures": {
1537
- "1": {
1538
- "name": "entity.other.inherited-class.php"
1539
- }
1540
- }
1541
- },
1542
- {
1543
- "include": "#class-builtin"
1544
- },
1545
- {
1546
- "include": "#namespace"
1547
- },
1548
- {
1549
- "name": "entity.other.inherited-class.php",
1550
- "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"
1551
- }
1552
- ]
1553
- }
1554
- ],
1555
- "beginCaptures": {
1556
- "1": {
1557
- "name": "storage.modifier.implements.php"
1558
- }
1559
- }
1560
- },
1561
- {
1562
- "contentName": "meta.class.body.php",
1563
- "begin": "{",
1564
- "end": "(?=}|\\?\u003e)",
1565
- "patterns": [
1566
- {
1567
- "include": "#language"
1568
- }
1569
- ],
1570
- "beginCaptures": {
1571
- "0": {
1572
- "name": "punctuation.definition.class.begin.bracket.curly.php"
1573
- }
1574
- }
1575
- }
1576
- ],
1577
- "beginCaptures": {
1578
- "1": {
1579
- "name": "storage.modifier.${1:/downcase}.php"
1580
- },
1581
- "2": {
1582
- "name": "storage.type.class.php"
1583
- },
1584
- "3": {
1585
- "name": "entity.name.type.class.php"
1586
- }
1587
- },
1588
- "endCaptures": {
1589
- "0": {
1590
- "name": "punctuation.definition.class.end.bracket.curly.php"
1591
- }
1592
- }
1593
- },
1594
- {
1595
- "include": "#switch_statement"
1596
- },
1597
- {
1598
- "match": "(?x)\n\\s*\n\\b(\n break|case|continue|declare|default|die|do|\n else(if)?|end(declare|for(each)?|if|switch|while)|exit|\n for(each)?|if|return|switch|use|while|yield\n)\\b",
1599
- "captures": {
1600
- "1": {
1601
- "name": "keyword.control.${1:/downcase}.php"
1602
- }
1603
- }
1604
- },
1605
- {
1606
- "name": "meta.include.php",
1607
- "begin": "(?i)\\b((?:require|include)(?:_once)?)\\s+",
1608
- "end": "(?=\\s|;|$|\\?\u003e)",
1609
- "patterns": [
1610
- {
1611
- "include": "#language"
1612
- }
1613
- ],
1614
- "beginCaptures": {
1615
- "1": {
1616
- "name": "keyword.control.import.include.php"
1617
- }
1618
- }
1619
- },
1620
- {
1621
- "name": "meta.catch.php",
1622
- "begin": "\\b(catch)\\s*(\\()",
1623
- "end": "\\)",
1624
- "patterns": [
1625
- {
1626
- "include": "#namespace"
1627
- },
1628
- {
1629
- "match": "(?xi)\n([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Exception class\n((?:\\s*\\|\\s*[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)*) # Optional additional exception classes\n\\s*\n((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable",
1630
- "captures": {
1631
- "1": {
1632
- "name": "support.class.exception.php"
1633
- },
1634
- "2": {
1635
- "patterns": [
1636
- {
1637
- "name": "support.class.exception.php",
1638
- "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"
1639
- },
1640
- {
1641
- "name": "punctuation.separator.delimiter.php",
1642
- "match": "\\|"
1643
- }
1644
- ]
1645
- },
1646
- "3": {
1647
- "name": "variable.other.php"
1648
- },
1649
- "4": {
1650
- "name": "punctuation.definition.variable.php"
1651
- }
1652
- }
1653
- }
1654
- ],
1655
- "beginCaptures": {
1656
- "1": {
1657
- "name": "keyword.control.exception.catch.php"
1658
- },
1659
- "2": {
1660
- "name": "punctuation.definition.parameters.begin.bracket.round.php"
1661
- }
1662
- },
1663
- "endCaptures": {
1664
- "0": {
1665
- "name": "punctuation.definition.parameters.end.bracket.round.php"
1666
- }
1667
- }
1668
- },
1669
- {
1670
- "name": "keyword.control.exception.php",
1671
- "match": "\\b(catch|try|throw|exception|finally)\\b"
1672
- },
1673
- {
1674
- "name": "meta.function.closure.php",
1675
- "begin": "(?i)\\b(function)\\s*(?=\\()",
1676
- "end": "(?={)",
1677
- "patterns": [
1678
- {
1679
- "contentName": "meta.function.parameters.php",
1680
- "begin": "\\(",
1681
- "end": "\\)",
1682
- "patterns": [
1683
- {
1684
- "include": "#function-parameters"
1685
- }
1686
- ],
1687
- "beginCaptures": {
1688
- "0": {
1689
- "name": "punctuation.definition.parameters.begin.bracket.round.php"
1690
- }
1691
- },
1692
- "endCaptures": {
1693
- "0": {
1694
- "name": "punctuation.definition.parameters.end.bracket.round.php"
1695
- }
1696
- }
1697
- },
1698
- {
1699
- "begin": "(?i)(use)\\s*(\\()",
1700
- "end": "\\)",
1701
- "patterns": [
1702
- {
1703
- "name": "meta.function.closure.use.php",
1704
- "match": "(?i)((\u0026)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(?=,|\\))",
1705
- "captures": {
1706
- "1": {
1707
- "name": "variable.other.php"
1708
- },
1709
- "2": {
1710
- "name": "storage.modifier.reference.php"
1711
- },
1712
- "3": {
1713
- "name": "punctuation.definition.variable.php"
1714
- }
1715
- }
1716
- }
1717
- ],
1718
- "beginCaptures": {
1719
- "1": {
1720
- "name": "keyword.other.function.use.php"
1721
- },
1722
- "2": {
1723
- "name": "punctuation.definition.parameters.begin.bracket.round.php"
1724
- }
1725
- },
1726
- "endCaptures": {
1727
- "0": {
1728
- "name": "punctuation.definition.parameters.end.bracket.round.php"
1729
- }
1730
- }
1731
- }
1732
- ],
1733
- "beginCaptures": {
1734
- "1": {
1735
- "name": "storage.type.function.php"
1736
- }
1737
- }
1738
- },
1739
- {
1740
- "name": "meta.function.php",
1741
- "contentName": "meta.function.parameters.php",
1742
- "begin": "(?x)\n((?:(?:final|abstract|public|private|protected|static)\\s+)*)\n(function)\\s+\n(?i:\n (__(?:call|construct|debugInfo|destruct|get|set|isset|unset|tostring|\n clone|set_state|sleep|wakeup|autoload|invoke|callStatic))\n |([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\n)\n\\s*(\\()",
1743
- "end": "(\\))(?:\\s*(:)\\s*([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*))?",
1744
- "patterns": [
1745
- {
1746
- "include": "#function-parameters"
1747
- }
1748
- ],
1749
- "beginCaptures": {
1750
- "1": {
1751
- "patterns": [
1752
- {
1753
- "name": "storage.modifier.php",
1754
- "match": "final|abstract|public|private|protected|static"
1755
- }
1756
- ]
1757
- },
1758
- "2": {
1759
- "name": "storage.type.function.php"
1760
- },
1761
- "3": {
1762
- "name": "support.function.magic.php"
1763
- },
1764
- "4": {
1765
- "name": "entity.name.function.php"
1766
- },
1767
- "5": {
1768
- "name": "punctuation.definition.parameters.begin.bracket.round.php"
1769
- }
1770
- },
1771
- "endCaptures": {
1772
- "1": {
1773
- "name": "punctuation.definition.parameters.end.bracket.round.php"
1774
- },
1775
- "2": {
1776
- "name": "keyword.operator.return-value.php"
1777
- },
1778
- "3": {
1779
- "name": "storage.type.php"
1780
- }
1781
- }
1782
- },
1783
- {
1784
- "include": "#invoke-call"
1785
- },
1786
- {
1787
- "include": "#scope-resolution"
1788
- },
1789
- {
1790
- "include": "#variables"
1791
- },
1792
- {
1793
- "include": "#strings"
1794
- },
1795
- {
1796
- "name": "meta.array.empty.php",
1797
- "match": "(array)(\\()(\\))",
1798
- "captures": {
1799
- "1": {
1800
- "name": "support.function.construct.php"
1801
- },
1802
- "2": {
1803
- "name": "punctuation.definition.array.begin.bracket.round.php"
1804
- },
1805
- "3": {
1806
- "name": "punctuation.definition.array.end.bracket.round.php"
1807
- }
1808
- }
1809
- },
1810
- {
1811
- "name": "meta.array.php",
1812
- "begin": "(array)(\\()",
1813
- "end": "\\)|(?=\\?\u003e)",
1814
- "patterns": [
1815
- {
1816
- "include": "#language"
1817
- }
1818
- ],
1819
- "beginCaptures": {
1820
- "1": {
1821
- "name": "support.function.construct.php"
1822
- },
1823
- "2": {
1824
- "name": "punctuation.definition.array.begin.bracket.round.php"
1825
- }
1826
- },
1827
- "endCaptures": {
1828
- "0": {
1829
- "name": "punctuation.definition.array.end.bracket.round.php"
1830
- }
1831
- }
1832
- },
1833
- {
1834
- "match": "(?i)(\\()\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\s*(\\))",
1835
- "captures": {
1836
- "1": {
1837
- "name": "punctuation.definition.storage-type.begin.bracket.round.php"
1838
- },
1839
- "2": {
1840
- "name": "storage.type.php"
1841
- },
1842
- "3": {
1843
- "name": "punctuation.definition.storage-type.end.bracket.round.php"
1844
- }
1845
- }
1846
- },
1847
- {
1848
- "name": "storage.type.php",
1849
- "match": "(?i)\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object)\\b"
1850
- },
1851
- {
1852
- "name": "storage.modifier.php",
1853
- "match": "(?i)\\b(global|abstract|const|extends|implements|final|private|protected|public|static)\\b"
1854
- },
1855
- {
1856
- "include": "#object"
1857
- },
1858
- {
1859
- "name": "punctuation.terminator.expression.php",
1860
- "match": ";"
1861
- },
1862
- {
1863
- "name": "punctuation.terminator.statement.php",
1864
- "match": ":"
1865
- },
1866
- {
1867
- "include": "#heredoc"
1868
- },
1869
- {
1870
- "include": "#numbers"
1871
- },
1872
- {
1873
- "name": "keyword.other.clone.php",
1874
- "match": "(?i)\\bclone\\b"
1875
- },
1876
- {
1877
- "name": "keyword.operator.string.php",
1878
- "match": "\\.=?"
1879
- },
1880
- {
1881
- "name": "keyword.operator.key.php",
1882
- "match": "=\u003e"
1883
- },
1884
- {
1885
- "match": "(?i)(\\=)(\u0026)|(\u0026)(?=[$a-z_])",
1886
- "captures": {
1887
- "1": {
1888
- "name": "keyword.operator.assignment.php"
1889
- },
1890
- "2": {
1891
- "name": "storage.modifier.reference.php"
1892
- },
1893
- "3": {
1894
- "name": "storage.modifier.reference.php"
1895
- }
1896
- }
1897
- },
1898
- {
1899
- "name": "keyword.operator.error-control.php",
1900
- "match": "@"
1901
- },
1902
- {
1903
- "name": "keyword.operator.comparison.php",
1904
- "match": "===|==|!==|!=|\u003c\u003e"
1905
- },
1906
- {
1907
- "name": "keyword.operator.assignment.php",
1908
- "match": "=|\\+=|\\-=|\\*=|/=|%=|\u0026=|\\|=|\\^=|\u003c\u003c=|\u003e\u003e="
1909
- },
1910
- {
1911
- "name": "keyword.operator.comparison.php",
1912
- "match": "\u003c=\u003e|\u003c=|\u003e=|\u003c|\u003e"
1913
- },
1914
- {
1915
- "name": "keyword.operator.increment-decrement.php",
1916
- "match": "\\-\\-|\\+\\+"
1917
- },
1918
- {
1919
- "name": "keyword.operator.arithmetic.php",
1920
- "match": "\\-|\\+|\\*|/|%"
1921
- },
1922
- {
1923
- "name": "keyword.operator.logical.php",
1924
- "match": "(?i)(!|\u0026\u0026|\\|\\|)|\\b(and|or|xor|as)\\b"
1925
- },
1926
- {
1927
- "include": "#function-call"
1928
- },
1929
- {
1930
- "name": "keyword.operator.bitwise.php",
1931
- "match": "\u003c\u003c|\u003e\u003e|~|\\^|\u0026|\\|"
1932
- },
1933
- {
1934
- "begin": "(?i)\\b(instanceof)\\s+(?=[\\\\$a-z_])",
1935
- "end": "(?=[^\\\\$a-z0-9_\\x{7f}-\\x{ff}])",
1936
- "patterns": [
1937
- {
1938
- "include": "#class-name"
1939
- },
1940
- {
1941
- "include": "#variable-name"
1942
- }
1943
- ],
1944
- "beginCaptures": {
1945
- "1": {
1946
- "name": "keyword.operator.type.php"
1947
- }
1948
- }
1949
- },
1950
- {
1951
- "include": "#instantiation"
1952
- },
1953
- {
1954
- "match": "(?i)(goto)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)",
1955
- "captures": {
1956
- "1": {
1957
- "name": "keyword.control.goto.php"
1958
- },
1959
- "2": {
1960
- "name": "support.other.php"
1961
- }
1962
- }
1963
- },
1964
- {
1965
- "match": "(?i)^\\s*([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*:(?!:)",
1966
- "captures": {
1967
- "1": {
1968
- "name": "entity.name.goto-label.php"
1969
- }
1970
- }
1971
- },
1972
- {
1973
- "include": "#string-backtick"
1974
- },
1975
- {
1976
- "begin": "{",
1977
- "end": "}|(?=\\?\u003e)",
1978
- "patterns": [
1979
- {
1980
- "include": "#language"
1981
- }
1982
- ],
1983
- "beginCaptures": {
1984
- "0": {
1985
- "name": "punctuation.definition.begin.bracket.curly.php"
1986
- }
1987
- },
1988
- "endCaptures": {
1989
- "0": {
1990
- "name": "punctuation.definition.end.bracket.curly.php"
1991
- }
1992
- }
1993
- },
1994
- {
1995
- "begin": "\\[",
1996
- "end": "\\]|(?=\\?\u003e)",
1997
- "patterns": [
1998
- {
1999
- "include": "#language"
2000
- }
2001
- ],
2002
- "beginCaptures": {
2003
- "0": {
2004
- "name": "punctuation.section.array.begin.php"
2005
- }
2006
- },
2007
- "endCaptures": {
2008
- "0": {
2009
- "name": "punctuation.section.array.end.php"
2010
- }
2011
- }
2012
- },
2013
- {
2014
- "begin": "\\(",
2015
- "end": "\\)|(?=\\?\u003e)",
2016
- "patterns": [
2017
- {
2018
- "include": "#language"
2019
- }
2020
- ],
2021
- "beginCaptures": {
2022
- "0": {
2023
- "name": "punctuation.definition.begin.bracket.round.php"
2024
- }
2025
- },
2026
- "endCaptures": {
2027
- "0": {
2028
- "name": "punctuation.definition.end.bracket.round.php"
2029
- }
2030
- }
2031
- },
2032
- {
2033
- "include": "#constants"
2034
- },
2035
- {
2036
- "name": "punctuation.separator.delimiter.php",
2037
- "match": ","
2038
- }
2039
- ]
2040
- },
2041
- "namespace": {
2042
- "name": "support.other.namespace.php",
2043
- "begin": "(?i)(?:(namespace)|[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(\\\\)(?=.*?[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",
2044
- "end": "(?i)(?=[a-z0-9_\\x{7f}-\\x{ff}]*[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",
2045
- "patterns": [
2046
- {
2047
- "name": "punctuation.separator.inheritance.php",
2048
- "match": "\\\\"
2049
- }
2050
- ],
2051
- "beginCaptures": {
2052
- "1": {
2053
- "name": "variable.language.namespace.php"
2054
- },
2055
- "2": {
2056
- "name": "punctuation.separator.inheritance.php"
2057
- }
2058
- }
2059
- },
2060
- "nowdoc_interior": {
2061
- "patterns": [
2062
- {
2063
- "name": "meta.embedded.html",
2064
- "contentName": "text.html",
2065
- "begin": "(\u003c\u003c\u003c)\\s*'(HTML)'(\\s*)$",
2066
- "end": "^(\\2)\\b",
2067
- "patterns": [
2068
- {
2069
- "include": "text.html.basic"
2070
- }
2071
- ],
2072
- "beginCaptures": {
2073
- "0": {
2074
- "name": "punctuation.section.embedded.begin.php"
2075
- },
2076
- "1": {
2077
- "name": "punctuation.definition.string.php"
2078
- },
2079
- "2": {
2080
- "name": "keyword.operator.nowdoc.php"
2081
- },
2082
- "3": {
2083
- "name": "invalid.illegal.trailing-whitespace.php"
2084
- }
2085
- },
2086
- "endCaptures": {
2087
- "0": {
2088
- "name": "punctuation.section.embedded.end.php"
2089
- },
2090
- "1": {
2091
- "name": "keyword.operator.nowdoc.php"
2092
- }
2093
- }
2094
- },
2095
- {
2096
- "name": "meta.embedded.xml",
2097
- "contentName": "text.xml",
2098
- "begin": "(\u003c\u003c\u003c)\\s*'(XML)'(\\s*)$",
2099
- "end": "^(\\2)\\b",
2100
- "patterns": [
2101
- {
2102
- "include": "text.xml"
2103
- }
2104
- ],
2105
- "beginCaptures": {
2106
- "0": {
2107
- "name": "punctuation.section.embedded.begin.php"
2108
- },
2109
- "1": {
2110
- "name": "punctuation.definition.string.php"
2111
- },
2112
- "2": {
2113
- "name": "keyword.operator.nowdoc.php"
2114
- },
2115
- "3": {
2116
- "name": "invalid.illegal.trailing-whitespace.php"
2117
- }
2118
- },
2119
- "endCaptures": {
2120
- "0": {
2121
- "name": "punctuation.section.embedded.end.php"
2122
- },
2123
- "1": {
2124
- "name": "keyword.operator.nowdoc.php"
2125
- }
2126
- }
2127
- },
2128
- {
2129
- "name": "meta.embedded.sql",
2130
- "contentName": "source.sql",
2131
- "begin": "(\u003c\u003c\u003c)\\s*'(SQL)'(\\s*)$",
2132
- "end": "^(\\2)\\b",
2133
- "patterns": [
2134
- {
2135
- "include": "source.sql"
2136
- }
2137
- ],
2138
- "beginCaptures": {
2139
- "0": {
2140
- "name": "punctuation.section.embedded.begin.php"
2141
- },
2142
- "1": {
2143
- "name": "punctuation.definition.string.php"
2144
- },
2145
- "2": {
2146
- "name": "keyword.operator.nowdoc.php"
2147
- },
2148
- "3": {
2149
- "name": "invalid.illegal.trailing-whitespace.php"
2150
- }
2151
- },
2152
- "endCaptures": {
2153
- "0": {
2154
- "name": "punctuation.section.embedded.end.php"
2155
- },
2156
- "1": {
2157
- "name": "keyword.operator.nowdoc.php"
2158
- }
2159
- }
2160
- },
2161
- {
2162
- "name": "meta.embedded.js",
2163
- "contentName": "source.js",
2164
- "begin": "(\u003c\u003c\u003c)\\s*'(JAVASCRIPT|JS)'(\\s*)$",
2165
- "end": "^(\\2)\\b",
2166
- "patterns": [
2167
- {
2168
- "include": "source.js"
2169
- }
2170
- ],
2171
- "beginCaptures": {
2172
- "0": {
2173
- "name": "punctuation.section.embedded.begin.php"
2174
- },
2175
- "1": {
2176
- "name": "punctuation.definition.string.php"
2177
- },
2178
- "2": {
2179
- "name": "keyword.operator.nowdoc.php"
2180
- },
2181
- "3": {
2182
- "name": "invalid.illegal.trailing-whitespace.php"
2183
- }
2184
- },
2185
- "endCaptures": {
2186
- "0": {
2187
- "name": "punctuation.section.embedded.end.php"
2188
- },
2189
- "1": {
2190
- "name": "keyword.operator.nowdoc.php"
2191
- }
2192
- }
2193
- },
2194
- {
2195
- "name": "meta.embedded.json",
2196
- "contentName": "source.json",
2197
- "begin": "(\u003c\u003c\u003c)\\s*'(JSON)'(\\s*)$",
2198
- "end": "^(\\2)\\b",
2199
- "patterns": [
2200
- {
2201
- "include": "source.json"
2202
- }
2203
- ],
2204
- "beginCaptures": {
2205
- "0": {
2206
- "name": "punctuation.section.embedded.begin.php"
2207
- },
2208
- "1": {
2209
- "name": "punctuation.definition.string.php"
2210
- },
2211
- "2": {
2212
- "name": "keyword.operator.nowdoc.php"
2213
- },
2214
- "3": {
2215
- "name": "invalid.illegal.trailing-whitespace.php"
2216
- }
2217
- },
2218
- "endCaptures": {
2219
- "0": {
2220
- "name": "punctuation.section.embedded.end.php"
2221
- },
2222
- "1": {
2223
- "name": "keyword.operator.nowdoc.php"
2224
- }
2225
- }
2226
- },
2227
- {
2228
- "name": "meta.embedded.css",
2229
- "contentName": "source.css",
2230
- "begin": "(\u003c\u003c\u003c)\\s*'(CSS)'(\\s*)$",
2231
- "end": "^(\\2)\\b",
2232
- "patterns": [
2233
- {
2234
- "include": "source.css"
2235
- }
2236
- ],
2237
- "beginCaptures": {
2238
- "0": {
2239
- "name": "punctuation.section.embedded.begin.php"
2240
- },
2241
- "1": {
2242
- "name": "punctuation.definition.string.php"
2243
- },
2244
- "2": {
2245
- "name": "keyword.operator.nowdoc.php"
2246
- },
2247
- "3": {
2248
- "name": "invalid.illegal.trailing-whitespace.php"
2249
- }
2250
- },
2251
- "endCaptures": {
2252
- "0": {
2253
- "name": "punctuation.section.embedded.end.php"
2254
- },
2255
- "1": {
2256
- "name": "keyword.operator.nowdoc.php"
2257
- }
2258
- }
2259
- },
2260
- {
2261
- "contentName": "string.regexp.nowdoc.php",
2262
- "begin": "(\u003c\u003c\u003c)\\s*'(REGEXP?)'(\\s*)$",
2263
- "end": "^(\\2)\\b",
2264
- "patterns": [
2265
- {
2266
- "name": "constant.character.escape.regex.php",
2267
- "match": "(\\\\){1,2}[.$^\\[\\]{}]"
2268
- },
2269
- {
2270
- "name": "string.regexp.arbitrary-repitition.php",
2271
- "match": "({)\\d+(,\\d+)?(})",
2272
- "captures": {
2273
- "1": {
2274
- "name": "punctuation.definition.arbitrary-repitition.php"
2275
- },
2276
- "3": {
2277
- "name": "punctuation.definition.arbitrary-repitition.php"
2278
- }
2279
- }
2280
- },
2281
- {
2282
- "name": "string.regexp.character-class.php",
2283
- "begin": "\\[(?:\\^?\\])?",
2284
- "end": "\\]",
2285
- "patterns": [
2286
- {
2287
- "name": "constant.character.escape.php",
2288
- "match": "\\\\[\\\\'\\[\\]]"
2289
- }
2290
- ],
2291
- "captures": {
2292
- "0": {
2293
- "name": "punctuation.definition.character-class.php"
2294
- }
2295
- }
2296
- },
2297
- {
2298
- "name": "keyword.operator.regexp.php",
2299
- "match": "[$^+*]"
2300
- },
2301
- {
2302
- "name": "comment.line.number-sign.php",
2303
- "begin": "(?i)(?\u003c=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{ff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)",
2304
- "end": "$",
2305
- "beginCaptures": {
2306
- "1": {
2307
- "name": "punctuation.definition.comment.php"
2308
- }
2309
- },
2310
- "endCaptures": {
2311
- "0": {
2312
- "name": "punctuation.definition.comment.php"
2313
- }
2314
- }
2315
- }
2316
- ],
2317
- "beginCaptures": {
2318
- "0": {
2319
- "name": "punctuation.section.embedded.begin.php"
2320
- },
2321
- "1": {
2322
- "name": "punctuation.definition.string.php"
2323
- },
2324
- "2": {
2325
- "name": "keyword.operator.nowdoc.php"
2326
- },
2327
- "3": {
2328
- "name": "invalid.illegal.trailing-whitespace.php"
2329
- }
2330
- },
2331
- "endCaptures": {
2332
- "0": {
2333
- "name": "punctuation.section.embedded.end.php"
2334
- },
2335
- "1": {
2336
- "name": "keyword.operator.nowdoc.php"
2337
- }
2338
- }
2339
- },
2340
- {
2341
- "begin": "(?i)(\u003c\u003c\u003c)\\s*'([a-z_\\x{7f}-\\x{ff}]+[a-z0-9_\\x{7f}-\\x{ff}]*)'(\\s*)",
2342
- "end": "^(\\2)\\b",
2343
- "beginCaptures": {
2344
- "1": {
2345
- "name": "punctuation.definition.string.php"
2346
- },
2347
- "2": {
2348
- "name": "keyword.operator.nowdoc.php"
2349
- },
2350
- "3": {
2351
- "name": "invalid.illegal.trailing-whitespace.php"
2352
- }
2353
- },
2354
- "endCaptures": {
2355
- "1": {
2356
- "name": "keyword.operator.nowdoc.php"
2357
- }
2358
- }
2359
- }
2360
- ]
2361
- },
2362
- "numbers": {
2363
- "patterns": [
2364
- {
2365
- "name": "constant.numeric.hex.php",
2366
- "match": "0[xX][0-9a-fA-F]+"
2367
- },
2368
- {
2369
- "name": "constant.numeric.binary.php",
2370
- "match": "0[bB][01]+"
2371
- },
2372
- {
2373
- "name": "constant.numeric.octal.php",
2374
- "match": "0[0-7]+"
2375
- },
2376
- {
2377
- "name": "constant.numeric.decimal.php",
2378
- "match": "(?x)\n(?:\n [0-9]*(\\.)[0-9]+(?:[eE][+-]?[0-9]+)?|\n [0-9]+(\\.)[0-9]*(?:[eE][+-]?[0-9]+)?|\n [0-9]+[eE][+-]?[0-9]+\n)",
2379
- "captures": {
2380
- "1": {
2381
- "name": "punctuation.separator.decimal.period.php"
2382
- },
2383
- "2": {
2384
- "name": "punctuation.separator.decimal.period.php"
2385
- }
2386
- }
2387
- },
2388
- {
2389
- "name": "constant.numeric.decimal.php",
2390
- "match": "0|[1-9][0-9]*"
2391
- }
2392
- ]
2393
- },
2394
- "object": {
2395
- "patterns": [
2396
- {
2397
- "begin": "(-\u003e)(\\$?{)",
2398
- "end": "}",
2399
- "patterns": [
2400
- {
2401
- "include": "#language"
2402
- }
2403
- ],
2404
- "beginCaptures": {
2405
- "1": {
2406
- "name": "keyword.operator.class.php"
2407
- },
2408
- "2": {
2409
- "name": "punctuation.definition.variable.php"
2410
- }
2411
- },
2412
- "endCaptures": {
2413
- "0": {
2414
- "name": "punctuation.definition.variable.php"
2415
- }
2416
- }
2417
- },
2418
- {
2419
- "name": "meta.method-call.php",
2420
- "begin": "(?i)(-\u003e)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()",
2421
- "end": "\\)|(?=\\?\u003e)",
2422
- "patterns": [
2423
- {
2424
- "include": "#language"
2425
- }
2426
- ],
2427
- "beginCaptures": {
2428
- "1": {
2429
- "name": "keyword.operator.class.php"
2430
- },
2431
- "2": {
2432
- "name": "entity.name.function.php"
2433
- },
2434
- "3": {
2435
- "name": "punctuation.definition.arguments.begin.bracket.round.php"
2436
- }
2437
- },
2438
- "endCaptures": {
2439
- "0": {
2440
- "name": "punctuation.definition.arguments.end.bracket.round.php"
2441
- }
2442
- }
2443
- },
2444
- {
2445
- "match": "(?i)(-\u003e)((\\$+)?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?",
2446
- "captures": {
2447
- "1": {
2448
- "name": "keyword.operator.class.php"
2449
- },
2450
- "2": {
2451
- "name": "variable.other.property.php"
2452
- },
2453
- "3": {
2454
- "name": "punctuation.definition.variable.php"
2455
- }
2456
- }
2457
- }
2458
- ]
2459
- },
2460
- "parameter-default-types": {
2461
- "patterns": [
2462
- {
2463
- "include": "#strings"
2464
- },
2465
- {
2466
- "include": "#numbers"
2467
- },
2468
- {
2469
- "include": "#string-backtick"
2470
- },
2471
- {
2472
- "include": "#variables"
2473
- },
2474
- {
2475
- "name": "keyword.operator.key.php",
2476
- "match": "=\u003e"
2477
- },
2478
- {
2479
- "name": "keyword.operator.assignment.php",
2480
- "match": "="
2481
- },
2482
- {
2483
- "name": "storage.modifier.reference.php",
2484
- "match": "\u0026(?=\\s*\\$)"
2485
- },
2486
- {
2487
- "name": "meta.array.php",
2488
- "begin": "(array)\\s*(\\()",
2489
- "end": "\\)",
2490
- "patterns": [
2491
- {
2492
- "include": "#parameter-default-types"
2493
- }
2494
- ],
2495
- "beginCaptures": {
2496
- "1": {
2497
- "name": "support.function.construct.php"
2498
- },
2499
- "2": {
2500
- "name": "punctuation.definition.array.begin.bracket.round.php"
2501
- }
2502
- },
2503
- "endCaptures": {
2504
- "0": {
2505
- "name": "punctuation.definition.array.end.bracket.round.php"
2506
- }
2507
- }
2508
- },
2509
- {
2510
- "include": "#instantiation"
2511
- },
2512
- {
2513
- "begin": "(?xi)\n(?=[a-z0-9_\\x{7f}-\\x{ff}\\\\]+(::)\n ([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?\n)",
2514
- "end": "(?i)(::)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?",
2515
- "patterns": [
2516
- {
2517
- "include": "#class-name"
2518
- }
2519
- ],
2520
- "endCaptures": {
2521
- "1": {
2522
- "name": "keyword.operator.class.php"
2523
- },
2524
- "2": {
2525
- "name": "constant.other.class.php"
2526
- }
2527
- }
2528
- },
2529
- {
2530
- "include": "#constants"
2531
- }
2532
- ]
2533
- },
2534
- "php_doc": {
2535
- "patterns": [
2536
- {
2537
- "name": "invalid.illegal.missing-asterisk.phpdoc.php",
2538
- "match": "^(?!\\s*\\*).*?(?:(?=\\*\\/)|$\\n?)"
2539
- },
2540
- {
2541
- "match": "^\\s*\\*\\s*(@access)\\s+((public|private|protected)|(.+))\\s*$",
2542
- "captures": {
2543
- "1": {
2544
- "name": "keyword.other.phpdoc.php"
2545
- },
2546
- "3": {
2547
- "name": "storage.modifier.php"
2548
- },
2549
- "4": {
2550
- "name": "invalid.illegal.wrong-access-type.phpdoc.php"
2551
- }
2552
- }
2553
- },
2554
- {
2555
- "match": "(@xlink)\\s+(.+)\\s*$",
2556
- "captures": {
2557
- "1": {
2558
- "name": "keyword.other.phpdoc.php"
2559
- },
2560
- "2": {
2561
- "name": "markup.underline.link.php"
2562
- }
2563
- }
2564
- },
2565
- {
2566
- "contentName": "meta.other.type.phpdoc.php",
2567
- "begin": "(@(?:global|param|property(-(read|write))?|return|throws|var))\\s+(?=[A-Za-z_\\x{7f}-\\x{ff}\\\\]|\\()",
2568
- "end": "(?=\\s|\\*/)",
2569
- "patterns": [
2570
- {
2571
- "include": "#php_doc_types_array_multiple"
2572
- },
2573
- {
2574
- "include": "#php_doc_types_array_single"
2575
- },
2576
- {
2577
- "include": "#php_doc_types"
2578
- }
2579
- ],
2580
- "beginCaptures": {
2581
- "1": {
2582
- "name": "keyword.other.phpdoc.php"
2583
- }
2584
- }
2585
- },
2586
- {
2587
- "name": "keyword.other.phpdoc.php",
2588
- "match": "(?x)\n@\n(\n api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|\n license|link|method|property(-(read|write))?|package|param|return|see|since|source|\n static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore\n)\\b"
2589
- },
2590
- {
2591
- "name": "meta.tag.inline.phpdoc.php",
2592
- "match": "{(@(link|inherit[Dd]oc)).+?}",
2593
- "captures": {
2594
- "1": {
2595
- "name": "keyword.other.phpdoc.php"
2596
- }
2597
- }
2598
- }
2599
- ]
2600
- },
2601
- "php_doc_types": {
2602
- "match": "(?i)[a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*(\\|[a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*)*",
2603
- "captures": {
2604
- "0": {
2605
- "patterns": [
2606
- {
2607
- "name": "keyword.other.type.php",
2608
- "match": "(?x)\\b\n(string|integer|int|boolean|bool|float|double|object|mixed\n|array|resource|void|null|callback|false|true|self)\\b"
2609
- },
2610
- {
2611
- "include": "#class-name"
2612
- },
2613
- {
2614
- "name": "punctuation.separator.delimiter.php",
2615
- "match": "\\|"
2616
- }
2617
- ]
2618
- }
2619
- }
2620
- },
2621
- "php_doc_types_array_multiple": {
2622
- "begin": "\\(",
2623
- "end": "(\\))(\\[\\])|(?=\\*/)",
2624
- "patterns": [
2625
- {
2626
- "include": "#php_doc_types_array_multiple"
2627
- },
2628
- {
2629
- "include": "#php_doc_types_array_single"
2630
- },
2631
- {
2632
- "include": "#php_doc_types"
2633
- },
2634
- {
2635
- "name": "punctuation.separator.delimiter.php",
2636
- "match": "\\|"
2637
- }
2638
- ],
2639
- "beginCaptures": {
2640
- "0": {
2641
- "name": "punctuation.definition.type.begin.bracket.round.phpdoc.php"
2642
- }
2643
- },
2644
- "endCaptures": {
2645
- "1": {
2646
- "name": "punctuation.definition.type.end.bracket.round.phpdoc.php"
2647
- },
2648
- "2": {
2649
- "name": "keyword.other.array.phpdoc.php"
2650
- }
2651
- }
2652
- },
2653
- "php_doc_types_array_single": {
2654
- "match": "(?i)([a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*)(\\[\\])",
2655
- "captures": {
2656
- "1": {
2657
- "patterns": [
2658
- {
2659
- "include": "#php_doc_types"
2660
- }
2661
- ]
2662
- },
2663
- "2": {
2664
- "name": "keyword.other.array.phpdoc.php"
2665
- }
2666
- }
2667
- },
2668
- "regex-double-quoted": {
2669
- "name": "string.regexp.double-quoted.php",
2670
- "begin": "\"/(?=(\\\\.|[^\"/])++/[imsxeADSUXu]*\")",
2671
- "end": "(/)([imsxeADSUXu]*)(\")",
2672
- "patterns": [
2673
- {
2674
- "name": "constant.character.escape.regex.php",
2675
- "match": "(\\\\){1,2}[.$^\\[\\]{}]"
2676
- },
2677
- {
2678
- "include": "#interpolation"
2679
- },
2680
- {
2681
- "name": "string.regexp.arbitrary-repetition.php",
2682
- "match": "({)\\d+(,\\d+)?(})",
2683
- "captures": {
2684
- "1": {
2685
- "name": "punctuation.definition.arbitrary-repetition.php"
2686
- },
2687
- "3": {
2688
- "name": "punctuation.definition.arbitrary-repetition.php"
2689
- }
2690
- }
2691
- },
2692
- {
2693
- "name": "string.regexp.character-class.php",
2694
- "begin": "\\[(?:\\^?\\])?",
2695
- "end": "\\]",
2696
- "patterns": [
2697
- {
2698
- "include": "#interpolation"
2699
- }
2700
- ],
2701
- "captures": {
2702
- "0": {
2703
- "name": "punctuation.definition.character-class.php"
2704
- }
2705
- }
2706
- },
2707
- {
2708
- "name": "keyword.operator.regexp.php",
2709
- "match": "[$^+*]"
2710
- }
2711
- ],
2712
- "beginCaptures": {
2713
- "0": {
2714
- "name": "punctuation.definition.string.begin.php"
2715
- }
2716
- },
2717
- "endCaptures": {
2718
- "0": {
2719
- "name": "punctuation.definition.string.end.php"
2720
- }
2721
- }
2722
- },
2723
- "regex-single-quoted": {
2724
- "name": "string.regexp.single-quoted.php",
2725
- "begin": "'/(?=(\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)|[^'/])++/[imsxeADSUXu]*')",
2726
- "end": "(/)([imsxeADSUXu]*)(')",
2727
- "patterns": [
2728
- {
2729
- "include": "#single_quote_regex_escape"
2730
- },
2731
- {
2732
- "name": "string.regexp.arbitrary-repetition.php",
2733
- "match": "({)\\d+(,\\d+)?(})",
2734
- "captures": {
2735
- "1": {
2736
- "name": "punctuation.definition.arbitrary-repetition.php"
2737
- },
2738
- "3": {
2739
- "name": "punctuation.definition.arbitrary-repetition.php"
2740
- }
2741
- }
2742
- },
2743
- {
2744
- "name": "string.regexp.character-class.php",
2745
- "begin": "\\[(?:\\^?\\])?",
2746
- "end": "\\]",
2747
- "captures": {
2748
- "0": {
2749
- "name": "punctuation.definition.character-class.php"
2750
- }
2751
- }
2752
- },
2753
- {
2754
- "name": "keyword.operator.regexp.php",
2755
- "match": "[$^+*]"
2756
- }
2757
- ],
2758
- "beginCaptures": {
2759
- "0": {
2760
- "name": "punctuation.definition.string.begin.php"
2761
- }
2762
- },
2763
- "endCaptures": {
2764
- "0": {
2765
- "name": "punctuation.definition.string.end.php"
2766
- }
2767
- }
2768
- },
2769
- "scope-resolution": {
2770
- "patterns": [
2771
- {
2772
- "match": "(?i)\\b([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(?=\\s*::)",
2773
- "captures": {
2774
- "1": {
2775
- "patterns": [
2776
- {
2777
- "name": "storage.type.php",
2778
- "match": "\\b(self|static|parent)\\b"
2779
- },
2780
- {
2781
- "include": "#class-name"
2782
- },
2783
- {
2784
- "include": "#variable-name"
2785
- }
2786
- ]
2787
- }
2788
- }
2789
- },
2790
- {
2791
- "name": "meta.method-call.static.php",
2792
- "begin": "(?i)(::)\\s*([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()",
2793
- "end": "\\)|(?=\\?\u003e)",
2794
- "patterns": [
2795
- {
2796
- "include": "#language"
2797
- }
2798
- ],
2799
- "beginCaptures": {
2800
- "1": {
2801
- "name": "keyword.operator.class.php"
2802
- },
2803
- "2": {
2804
- "name": "entity.name.function.php"
2805
- },
2806
- "3": {
2807
- "name": "punctuation.definition.arguments.begin.bracket.round.php"
2808
- }
2809
- },
2810
- "endCaptures": {
2811
- "0": {
2812
- "name": "punctuation.definition.arguments.end.bracket.round.php"
2813
- }
2814
- }
2815
- },
2816
- {
2817
- "match": "(?i)(::)\\s*(class)\\b",
2818
- "captures": {
2819
- "1": {
2820
- "name": "keyword.operator.class.php"
2821
- },
2822
- "2": {
2823
- "name": "keyword.other.class.php"
2824
- }
2825
- }
2826
- },
2827
- {
2828
- "match": "(?xi)\n(::)\\s*\n(?:\n ((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable\n |\n ([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Constant\n)?",
2829
- "captures": {
2830
- "1": {
2831
- "name": "keyword.operator.class.php"
2832
- },
2833
- "2": {
2834
- "name": "variable.other.class.php"
2835
- },
2836
- "3": {
2837
- "name": "punctuation.definition.variable.php"
2838
- },
2839
- "4": {
2840
- "name": "constant.other.class.php"
2841
- }
2842
- }
2843
- }
2844
- ]
2845
- },
2846
- "single_quote_regex_escape": {
2847
- "name": "constant.character.escape.php",
2848
- "match": "\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)"
2849
- },
2850
- "sql-string-double-quoted": {
2851
- "name": "string.quoted.double.sql.php",
2852
- "contentName": "source.sql.embedded.php",
2853
- "begin": "\"\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)",
2854
- "end": "\"",
2855
- "patterns": [
2856
- {
2857
- "name": "comment.line.number-sign.sql",
2858
- "match": "(#)(\\\\\"|[^\"])*(?=\"|$)",
2859
- "captures": {
2860
- "1": {
2861
- "name": "punctuation.definition.comment.sql"
2862
- }
2863
- }
2864
- },
2865
- {
2866
- "name": "comment.line.double-dash.sql",
2867
- "match": "(--)(\\\\\"|[^\"])*(?=\"|$)",
2868
- "captures": {
2869
- "1": {
2870
- "name": "punctuation.definition.comment.sql"
2871
- }
2872
- }
2873
- },
2874
- {
2875
- "name": "constant.character.escape.php",
2876
- "match": "\\\\[\\\\\"`']"
2877
- },
2878
- {
2879
- "name": "string.quoted.single.unclosed.sql",
2880
- "match": "'(?=((\\\\')|[^'\"])*(\"|$))"
2881
- },
2882
- {
2883
- "name": "string.quoted.other.backtick.unclosed.sql",
2884
- "match": "`(?=((\\\\`)|[^`\"])*(\"|$))"
2885
- },
2886
- {
2887
- "name": "string.quoted.single.sql",
2888
- "begin": "'",
2889
- "end": "'",
2890
- "patterns": [
2891
- {
2892
- "include": "#interpolation"
2893
- }
2894
- ]
2895
- },
2896
- {
2897
- "name": "string.quoted.other.backtick.sql",
2898
- "begin": "`",
2899
- "end": "`",
2900
- "patterns": [
2901
- {
2902
- "include": "#interpolation"
2903
- }
2904
- ]
2905
- },
2906
- {
2907
- "include": "#interpolation"
2908
- },
2909
- {
2910
- "include": "source.sql"
2911
- }
2912
- ],
2913
- "beginCaptures": {
2914
- "0": {
2915
- "name": "punctuation.definition.string.begin.php"
2916
- }
2917
- },
2918
- "endCaptures": {
2919
- "0": {
2920
- "name": "punctuation.definition.string.end.php"
2921
- }
2922
- }
2923
- },
2924
- "sql-string-single-quoted": {
2925
- "name": "string.quoted.single.sql.php",
2926
- "contentName": "source.sql.embedded.php",
2927
- "begin": "'\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)",
2928
- "end": "'",
2929
- "patterns": [
2930
- {
2931
- "name": "comment.line.number-sign.sql",
2932
- "match": "(#)(\\\\'|[^'])*(?='|$)",
2933
- "captures": {
2934
- "1": {
2935
- "name": "punctuation.definition.comment.sql"
2936
- }
2937
- }
2938
- },
2939
- {
2940
- "name": "comment.line.double-dash.sql",
2941
- "match": "(--)(\\\\'|[^'])*(?='|$)",
2942
- "captures": {
2943
- "1": {
2944
- "name": "punctuation.definition.comment.sql"
2945
- }
2946
- }
2947
- },
2948
- {
2949
- "name": "constant.character.escape.php",
2950
- "match": "\\\\[\\\\'`\"]"
2951
- },
2952
- {
2953
- "name": "string.quoted.other.backtick.unclosed.sql",
2954
- "match": "`(?=((\\\\`)|[^`'])*('|$))"
2955
- },
2956
- {
2957
- "name": "string.quoted.double.unclosed.sql",
2958
- "match": "\"(?=((\\\\\")|[^\"'])*('|$))"
2959
- },
2960
- {
2961
- "include": "source.sql"
2962
- }
2963
- ],
2964
- "beginCaptures": {
2965
- "0": {
2966
- "name": "punctuation.definition.string.begin.php"
2967
- }
2968
- },
2969
- "endCaptures": {
2970
- "0": {
2971
- "name": "punctuation.definition.string.end.php"
2972
- }
2973
- }
2974
- },
2975
- "string-backtick": {
2976
- "name": "string.interpolated.php",
2977
- "begin": "`",
2978
- "end": "`",
2979
- "patterns": [
2980
- {
2981
- "name": "constant.character.escape.php",
2982
- "match": "\\\\."
2983
- },
2984
- {
2985
- "include": "#interpolation"
2986
- }
2987
- ],
2988
- "beginCaptures": {
2989
- "0": {
2990
- "name": "punctuation.definition.string.begin.php"
2991
- }
2992
- },
2993
- "endCaptures": {
2994
- "0": {
2995
- "name": "punctuation.definition.string.end.php"
2996
- }
2997
- }
2998
- },
2999
- "string-double-quoted": {
3000
- "name": "string.quoted.double.php",
3001
- "begin": "\"",
3002
- "end": "\"",
3003
- "patterns": [
3004
- {
3005
- "include": "#interpolation"
3006
- }
3007
- ],
3008
- "beginCaptures": {
3009
- "0": {
3010
- "name": "punctuation.definition.string.begin.php"
3011
- }
3012
- },
3013
- "endCaptures": {
3014
- "0": {
3015
- "name": "punctuation.definition.string.end.php"
3016
- }
3017
- }
3018
- },
3019
- "string-single-quoted": {
3020
- "name": "string.quoted.single.php",
3021
- "begin": "'",
3022
- "end": "'",
3023
- "patterns": [
3024
- {
3025
- "name": "constant.character.escape.php",
3026
- "match": "\\\\[\\\\']"
3027
- }
3028
- ],
3029
- "beginCaptures": {
3030
- "0": {
3031
- "name": "punctuation.definition.string.begin.php"
3032
- }
3033
- },
3034
- "endCaptures": {
3035
- "0": {
3036
- "name": "punctuation.definition.string.end.php"
3037
- }
3038
- }
3039
- },
3040
- "strings": {
3041
- "patterns": [
3042
- {
3043
- "include": "#regex-double-quoted"
3044
- },
3045
- {
3046
- "include": "#sql-string-double-quoted"
3047
- },
3048
- {
3049
- "include": "#string-double-quoted"
3050
- },
3051
- {
3052
- "include": "#regex-single-quoted"
3053
- },
3054
- {
3055
- "include": "#sql-string-single-quoted"
3056
- },
3057
- {
3058
- "include": "#string-single-quoted"
3059
- }
3060
- ]
3061
- },
3062
- "support": {
3063
- "patterns": [
3064
- {
3065
- "name": "support.function.apc.php",
3066
- "match": "(?xi)\n\\b\napc_(\n store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|\n exists|fetch|load_constants|add|bin_(dump|load)(file)?\n)\\b"
3067
- },
3068
- {
3069
- "name": "support.function.array.php",
3070
- "match": "(?xi)\\b\n(\n shuffle|sizeof|sort|next|nat(case)?sort|count|compact|current|in_array|usort|uksort|uasort|\n pos|prev|end|each|extract|ksort|key(_exists)?|krsort|list|asort|arsort|rsort|reset|range|\n array(_(shift|sum|splice|search|slice|chunk|change_key_case|count_values|column|combine|\n (diff|intersect)(_(u)?(key|assoc))?|u(diff|intersect)(_(u)?assoc)?|unshift|unique|\n pop|push|pad|product|values|keys|key_exists|filter|fill(_keys)?|flip|walk(_recursive)?|\n reduce|replace(_recursive)?|reverse|rand|multisort|merge(_recursive)?|map)?)\n)\\b"
3071
- },
3072
- {
3073
- "name": "support.function.basic_functions.php",
3074
- "match": "(?xi)\\b\n(\n show_source|sys_getloadavg|sleep|highlight_(file|string)|constant|connection_(aborted|status)|\n time_(nanosleep|sleep_until)|ignore_user_abort|die|define(d)?|usleep|uniqid|unpack|__halt_compiler|\n php_(check_syntax|strip_whitespace)|pack|eval|exit|get_browser\n)\\b"
3075
- },
3076
- {
3077
- "name": "support.function.bcmath.php",
3078
- "match": "(?i)\\bbc(scale|sub|sqrt|comp|div|pow(mod)?|add|mod|mul)\\b"
3079
- },
3080
- {
3081
- "name": "support.function.blenc.php",
3082
- "match": "(?i)\\bblenc_encrypt\\b"
3083
- },
3084
- {
3085
- "name": "support.function.bz2.php",
3086
- "match": "(?i)\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\b"
3087
- },
3088
- {
3089
- "name": "support.function.calendar.php",
3090
- "match": "(?xi)\\b\n(\n (French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|\n jdto(unix|jewish)|easter_(date|days)|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek)\n)\\b"
3091
- },
3092
- {
3093
- "name": "support.function.classobj.php",
3094
- "match": "(?xi)\\b\n(\n class_alias|all_user_method(_array)?|is_(a|subclass_of)|__autoload|(class|interface|method|property|trait)_exists|\n get_(class(_(vars|methods))?|(called|parent)_class|object_vars|declared_(classes|interfaces|traits))\n)\\b"
3095
- },
3096
- {
3097
- "name": "support.function.com.php",
3098
- "match": "(?xi)\\b\n(\n com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|\n variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|\n pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul)\n)\\b"
3099
- },
3100
- {
3101
- "name": "support.function.construct.php",
3102
- "begin": "(?i)\\b(isset|unset|eval|empty|list)\\b"
3103
- },
3104
- {
3105
- "name": "support.function.construct.output.php",
3106
- "match": "(?i)\\b(print|echo)\\b"
3107
- },
3108
- {
3109
- "name": "support.function.ctype.php",
3110
- "match": "(?i)\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\b"
3111
- },
3112
- {
3113
- "name": "support.function.curl.php",
3114
- "match": "(?xi)\\b\ncurl_(\n share_(close|init|setopt)|strerror|setopt(_array)?|copy_handle|close|init|unescape|pause|escape|\n errno|error|exec|version|file_create|reset|getinfo|\n multi_(strerror|setopt|select|close|init|info_read|(add|remove)_handle|getcontent|exec)\n)\\b"
3115
- },
3116
- {
3117
- "name": "support.function.datetime.php",
3118
- "match": "(?xi)\\b\n(\n strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|\n timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|\n date(_(sun(rise|set)|sun_info|sub|create(_(immutable_)?from_format)?|timestamp_(get|set)|timezone_(get|set)|time_set|\n isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_(get|set)|date_set|\n parse(_from_format)?|format|add|get_last_errors|modify))?|\n localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime\n)\\b"
3119
- },
3120
- {
3121
- "name": "support.function.dba.php",
3122
- "match": "(?i)\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\b"
3123
- },
3124
- {
3125
- "name": "support.function.dbx.php",
3126
- "match": "(?i)\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\b"
3127
- },
3128
- {
3129
- "name": "support.function.dir.php",
3130
- "match": "(?i)\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\b"
3131
- },
3132
- {
3133
- "name": "support.function.eio.php",
3134
- "match": "(?xi)\\b\neio_(\n sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|\n seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|\n event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|\n read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy\n)\\b"
3135
- },
3136
- {
3137
- "name": "support.function.enchant.php",
3138
- "match": "(?xi)\\b\nenchant_(\n dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|\n broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error)\n)\\b"
3139
- },
3140
- {
3141
- "name": "support.function.ereg.php",
3142
- "match": "(?i)\\bsplit(i)?|sql_regcase|ereg(i)?(_replace)?\\b"
3143
- },
3144
- {
3145
- "name": "support.function.errorfunc.php",
3146
- "match": "(?i)\\b((restore|set)_(error_handler|exception_handler)|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|get_last))\\b"
3147
- },
3148
- {
3149
- "name": "support.function.exec.php",
3150
- "match": "(?i)\\bshell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec\\b"
3151
- },
3152
- {
3153
- "name": "support.function.exif.php",
3154
- "match": "(?i)\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\b"
3155
- },
3156
- {
3157
- "name": "support.function.fann.php",
3158
- "match": "(?xi)\\b\nfann_(\n (duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|(input|output)(_train_data)?)|\n set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|\n cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|\n output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|\n (max|min)_(cand|out)_epochs)|\n callback|training_algorithm|train_(error|stop)_function|(input|output)_scaling_params|error_log|\n quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|\n activation_(function|steepness)(_(hidden|layer|output))?|\n rprop_((decrease|increase)_factor|delta_(max|min|zero)))|\n save(_train)?|num_(input|output)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|\n create_((sparse|shortcut|standard)(_array)?|train(_from_callback)?|from_file)|\n test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|\n print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|\n get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|\n network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|\n cascade_(num_(candidates|candidate_groups)|(candidate|output)_(change_fraction|limit|stagnation_epochs)|\n weight_multiplier|activation_(functions|steepnesses)(_count)?|(max|min)_(cand|out)_epochs)|\n total_(connections|neurons)|training_algorithm|train_(error|stop)_function|err(no|str)|\n quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|\n rprop_((decrease|increase)_factor|delta_(max|min|zero)))\n)\\b"
3159
- },
3160
- {
3161
- "name": "support.function.file.php",
3162
- "match": "(?xi)\\b\n(\n symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|\n is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|\n dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|\n fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|\n f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|\n rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename\n)\\b"
3163
- },
3164
- {
3165
- "name": "support.function.fileinfo.php",
3166
- "match": "(?i)\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\b"
3167
- },
3168
- {
3169
- "name": "support.function.filter.php",
3170
- "match": "(?i)\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\b"
3171
- },
3172
- {
3173
- "name": "support.function.fpm.php",
3174
- "match": "(?i)\\bfastcgi_finish_request\\b"
3175
- },
3176
- {
3177
- "name": "support.function.funchand.php",
3178
- "match": "(?i)\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\b"
3179
- },
3180
- {
3181
- "name": "support.function.gettext.php",
3182
- "match": "(?i)\\b((n)?gettext|textdomain|d((n)?gettext|c(n)?gettext)|bind(textdomain|_textdomain_codeset))\\b"
3183
- },
3184
- {
3185
- "name": "support.function.gmp.php",
3186
- "match": "(?xi)\\b\ngmp_(\n scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|\n intval|init|invert|import|or|div(exact)?|div_(q|qr|r)|jacobi|popcount|pow(m)?|perfect_square|\n prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range))?|gcd(ext)?|xor|mod|mul\n)\\b"
3187
- },
3188
- {
3189
- "name": "support.function.hash.php",
3190
- "match": "(?i)\\bhash(_(hmac(_file)?|copy|init|update(_(file|stream))?|pbkdf2|equals|file|final|algos))?\\b"
3191
- },
3192
- {
3193
- "name": "support.function.http.php",
3194
- "match": "(?xi)\\b\n(\n http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|\n negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|\n inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|\n parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|\n get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|\n ob_(etag|deflate|inflate)handler\n)\\b"
3195
- },
3196
- {
3197
- "name": "support.function.iconv.php",
3198
- "match": "(?i)\\b(iconv(_(str(pos|len|rpos)|substr|(get|set)_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\b"
3199
- },
3200
- {
3201
- "name": "support.function.iisfunc.php",
3202
- "match": "(?i)\\biis_((start|stop)_(service|server)|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\b"
3203
- },
3204
- {
3205
- "name": "support.function.image.php",
3206
- "match": "(?xi)\\b\n(\n iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|\n image(s[xy]|scale|(char|string)(up)?|set(style|thickness|tile|interpolation|pixel|brush)|savealpha|\n convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|\n color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|\n crop(auto)?|create(truecolor|from(string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|xpm|xbm))?|\n types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|\n _type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|\n palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|\n filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|\n antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd(2)?|gammacorrect|\n grab(screen|window)|xbm)\n)\\b"
3207
- },
3208
- {
3209
- "name": "support.function.info.php",
3210
- "match": "(?xi)\\b\n(\n sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_(get|set)_process_title|\n ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|\n php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|\n assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|\n get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|\n magic_quotes_(gpc|runtime)|required_files|resources)|\n get(env|lastmod|rusage|my(inode|[gup]id))|\n memory_get_(peak_)?usage|main|magic_quotes_runtime\n)\\b"
3211
- },
3212
- {
3213
- "name": "support.function.interbase.php",
3214
- "match": "(?xi)\\b\nibase_(\n set_event_handler|service_(attach|detach)|server_info|num_(fields|params)|name_result|connect|\n commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|\n execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|\n add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|\n blob_(cancel|close|create|import|info|open|echo|add|get)\n)\\b"
3215
- },
3216
- {
3217
- "name": "support.function.intl.php",
3218
- "match": "(?xi)\\b\n(\n normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|\n numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|\n get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|\n collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|\n get_(strength|sort_key|error_(code|message)|locale|attribute))|\n transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|\n intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|\n datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|\n get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|\n locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|\n get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|\n resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|\n grapheme_(str(i?str|r?i?pos|len)|substr|extract)|\n msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale))\n)\\b"
3219
- },
3220
- {
3221
- "name": "support.function.json.php",
3222
- "match": "(?i)\\bjson_(decode|encode|last_error(_msg)?)\\b"
3223
- },
3224
- {
3225
- "name": "support.function.ldap.php",
3226
- "match": "(?xi)\\b\nldap_(\n start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|\n connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|\n dn2ufn|delete|unbind|parse_(reference|result)|escape|errno|err2str|error|explode_dn|bind|\n free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|\n mod_(add|del|replace)\n)\\b"
3227
- },
3228
- {
3229
- "name": "support.function.libxml.php",
3230
- "match": "(?i)\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\b"
3231
- },
3232
- {
3233
- "name": "support.function.mail.php",
3234
- "match": "(?i)\\b(ezmlm_hash|mail)\\b"
3235
- },
3236
- {
3237
- "name": "support.function.math.php",
3238
- "match": "(?xi)\\b\n(\n (a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|\n pi|pow|exp(m1)?|floor|fmod|lcg_value|log(1(p|0))?|atan2|abs|round|rand|rad2deg|getrandmax|\n mt_(srand|rand|getrandmax)|max|min|bindec|base_convert\n)\\b"
3239
- },
3240
- {
3241
- "name": "support.function.mbstring.php",
3242
- "match": "(?xi)\\b\nmb_(\n str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos)|\n substitute_character|substr(_count)?|split|send_mail|http_(input|output)|check_encoding|\n convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|\n detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|\n ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|\n list_encodings|language|regex_(set_options|encoding)|get_info\n)\\b"
3243
- },
3244
- {
3245
- "name": "support.function.mcrypt.php",
3246
- "match": "(?xi)\\b\n(\n mcrypt_(\n cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|\n enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|\n get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|\n get_(cipher_name|(block|iv|key)_size)|\n module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|\n get_(supported_key_sizes|algo_(block|key)_size)))|\n mdecrypt_generic\n)\\b"
3247
- },
3248
- {
3249
- "name": "support.function.memcache.php",
3250
- "match": "(?i)\\bmemcache_debug\\b"
3251
- },
3252
- {
3253
- "name": "support.function.mhash.php",
3254
- "match": "(?i)\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\b"
3255
- },
3256
- {
3257
- "name": "support.function.mongo.php",
3258
- "match": "(?i)\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_(decode|encode))\\b"
3259
- },
3260
- {
3261
- "name": "support.function.mysql.php",
3262
- "match": "(?xi)\\b\nmysql_(\n stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|\n thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|\n errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|\n free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|\n get_(client|host|proto|server)_info\n)\\b"
3263
- },
3264
- {
3265
- "name": "support.function.mysqli.php",
3266
- "match": "(?xi)\\b\nmysqli_(\n ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|\n stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|\n attr_(get|set)|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|\n select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|\n client_encoding|close|thread_safe|init|options|(enable|disable)_(reads_from_master|rpl_parse)|\n dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|\n embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|\n fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|\n release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|\n get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|\n master_query|bind_(param|result)|begin_transaction\n)\\b"
3267
- },
3268
- {
3269
- "name": "support.function.mysqlnd-memcache.php",
3270
- "match": "(?i)\\bmysqlnd_memcache_(set|get_config)\\b"
3271
- },
3272
- {
3273
- "name": "support.function.mysqlnd-ms.php",
3274
- "match": "(?i)\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\b"
3275
- },
3276
- {
3277
- "name": "support.function.mysqlnd-qc.php",
3278
- "match": "(?i)\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\b"
3279
- },
3280
- {
3281
- "name": "support.function.mysqlnd-uh.php",
3282
- "match": "(?i)\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\b"
3283
- },
3284
- {
3285
- "name": "support.function.network.php",
3286
- "match": "(?xi)\\b\n(\n syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|\n headers_(list|sent)|header(_(register_callback|remove))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|\n openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|\n get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(name|number)|mxrr)\n)\\b"
3287
- },
3288
- {
3289
- "name": "support.function.nsapi.php",
3290
- "match": "(?i)\\bnsapi_(virtual|response_headers|request_headers)\\b"
3291
- },
3292
- {
3293
- "name": "support.function.oci8.php",
3294
- "match": "(?xi)\\b\n(\n oci(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|\n column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|\n closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|\n free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(on|off)|rowcount|rollback|\n result|bindbyname)|\n oci_(statement_type|set_(client_(info|identifier)|prefetch|edition|action|module_name)|server_version|\n num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|\n internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|\n field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|\n free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)\n)\\b"
3295
- },
3296
- {
3297
- "name": "support.function.opcache.php",
3298
- "match": "(?i)\\bopcache_(compile_file|invalidate|reset|get_(status|configuration))\\b"
3299
- },
3300
- {
3301
- "name": "support.function.openssl.php",
3302
- "match": "(?xi)\\b\nopenssl_(\n sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|\n cipher_iv_length|open|dh_compute_key|digest|decrypt|public_(decrypt|encrypt)|encrypt|error_string|\n pkcs12_(export(_to_file)?|read)|pkcs7_(sign|decrypt|encrypt|verify)|verify|free_key|random_pseudo_bytes|\n pkey_(new|export(_to_file)?|free|get_(details|public|private))|private_(decrypt|encrypt)|pbkdf2|\n get_((cipher|md)_methods|cert_locations|(public|private)key)|\n x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read)\n)\\b"
3303
- },
3304
- {
3305
- "name": "support.function.output.php",
3306
- "match": "(?xi)\\b\n(\n output_(add_rewrite_var|reset_rewrite_vars)|flush|\n ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|\n get_(status|contents|clean|flush|length|level))\n)\\b"
3307
- },
3308
- {
3309
- "name": "support.function.password.php",
3310
- "match": "(?i)\\bpassword_(hash|needs_rehash|verify|get_info)\\b"
3311
- },
3312
- {
3313
- "name": "support.function.pcntl.php",
3314
- "match": "(?xi)\\b\npcntl_(\n strerror|signal(_dispatch)?|sig(timedwait|procmask|waitinfo)|setpriority|errno|exec|fork|\n w(stopsig|termsig|if(stopped|signaled|exited))|wait(pid)?|alarm|getpriority|get_last_error\n)\\b"
3315
- },
3316
- {
3317
- "name": "support.function.pgsql.php",
3318
- "match": "(?xi)\\b\npg_(\n socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|\n num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|\n client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|\n unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|\n escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|\n field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|\n fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|\n lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|\n)\\b"
3319
- },
3320
- {
3321
- "name": "support.function.php_apache.php",
3322
- "match": "(?i)\\b(virtual|getallheaders|apache_((get|set)env|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\b"
3323
- },
3324
- {
3325
- "name": "support.function.php_dom.php",
3326
- "match": "(?i)\\bdom_import_simplexml\\b"
3327
- },
3328
- {
3329
- "name": "support.function.php_ftp.php",
3330
- "match": "(?xi)\\b\nftp_(\n ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|\n delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir\n)\\b"
3331
- },
3332
- {
3333
- "name": "support.function.php_imap.php",
3334
- "match": "(?xi)\\b\nimap_(\n (create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|\n num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|\n 8bit|unsubscribe|undelete|utf7_(decode|encode)|utf8|uid|ping|errors|expunge|qprint|gc|\n fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(scan|subscribed)|last_error|\n rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|\n msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64\n)\\b"
3335
- },
3336
- {
3337
- "name": "support.function.php_mssql.php",
3338
- "match": "(?xi)\\b\nmssql_(\n select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|\n field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|\n rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind\n)\\b"
3339
- },
3340
- {
3341
- "name": "support.function.php_odbc.php",
3342
- "match": "(?xi)\\b\nodbc_(\n statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|\n cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|\n prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|\n fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode\n)\\b"
3343
- },
3344
- {
3345
- "name": "support.function.php_pcre.php",
3346
- "match": "(?i)\\bpreg_(split|quote|filter|last_error|replace(_callback)?|grep|match(_all)?)\\b"
3347
- },
3348
- {
3349
- "name": "support.function.php_spl.php",
3350
- "match": "(?i)\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\b"
3351
- },
3352
- {
3353
- "name": "support.function.php_zip.php",
3354
- "match": "(?i)\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\b"
3355
- },
3356
- {
3357
- "name": "support.function.posix.php",
3358
- "match": "(?xi)\\b\nposix_(\n strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|access|\n get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|\n get_last_error|mknod|mkfifo\n)\\b"
3359
- },
3360
- {
3361
- "name": "support.function.proctitle.php",
3362
- "match": "(?i)\\bset(thread|proc)title\\b"
3363
- },
3364
- {
3365
- "name": "support.function.pspell.php",
3366
- "match": "(?xi)\\b\npspell_(\n store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|\n config_(save_repl|create|ignore|(data|dict)_dir|personal|runtogether|repl|mode)|add_to_(session|personal)\n)\\b"
3367
- },
3368
- {
3369
- "name": "support.function.readline.php",
3370
- "match": "(?i)\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\b"
3371
- },
3372
- {
3373
- "name": "support.function.recode.php",
3374
- "match": "(?i)\\brecode(_(string|file))?\\b"
3375
- },
3376
- {
3377
- "name": "support.function.rrd.php",
3378
- "match": "(?i)\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\b"
3379
- },
3380
- {
3381
- "name": "support.function.sem.php",
3382
- "match": "(?xi)\\b\n(\n shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|\n msg_((get|remove|set|stat)_queue|send|queue_exists|receive)\n)\\b"
3383
- },
3384
- {
3385
- "name": "support.function.session.php",
3386
- "match": "(?xi)\\b\nsession_(\n status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|\n is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|\n regenerate_id|get_cookie_params|module_name\n)\\b"
3387
- },
3388
- {
3389
- "name": "support.function.shmop.php",
3390
- "match": "(?i)\\bshmop_(size|close|open|delete|write|read)\\b"
3391
- },
3392
- {
3393
- "name": "support.function.simplexml.php",
3394
- "match": "(?i)\\bsimplexml_(import_dom|load_(string|file))\\b"
3395
- },
3396
- {
3397
- "name": "support.function.snmp.php",
3398
- "match": "(?xi)\\b\n(\n snmp(walk(oid)?|realwalk|get(next)?|set)|\n snmp_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|\n get_(valueretrieval|quick_print))|\n snmp[23]_(set|walk|real_walk|get(next)?)\n)\\b"
3399
- },
3400
- {
3401
- "name": "support.function.soap.php",
3402
- "match": "(?i)\\b(is_soap_fault|use_soap_error_handler)\\b"
3403
- },
3404
- {
3405
- "name": "support.function.sockets.php",
3406
- "match": "(?xi)\\b\nsocket_(\n shutdown|strerror|send(to|msg)?|set_((non)?block|option)|select|connect|close|clear_error|bind|\n create(_(pair|listen))?|cmsg_space|import_stream|write|listen|last_error|accept|recv(from|msg)?|\n read|get(peer|sock)name|get_option\n)\\b"
3407
- },
3408
- {
3409
- "name": "support.function.sqlite.php",
3410
- "match": "(?xi)\\b\nsqlite_(\n single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|\n create_(aggregate|function)|open|unbuffered_query|udf_(decode|encode)_binary|popen|prev|\n escape_string|error_string|exec|valid|key|query|field_name|factory|\n fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|\n last_(insert_rowid|error)|array_query|rewind|busy_timeout\n)\\b"
3411
- },
3412
- {
3413
- "name": "support.function.sqlsrv.php",
3414
- "match": "(?xi)\\b\nsqlsrv_(\n send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|\n client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|\n free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction\n)\\b"
3415
- },
3416
- {
3417
- "name": "support.function.stats.php",
3418
- "match": "(?xi)\\b\nstats_(\n harmonic_mean|covariance|standard_deviation|skew|\n cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|\n logistic|laplace|gamma|binomial|beta)|\n stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|\n dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|\n weibull|logistic|laplace|gamma|beta)|\n den_uniform|variance|kurtosis|absolute_deviation|\n rand_(setall|phrase_to_seeds|ranf|get_seeds|\n gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|\n i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta))\n)\\b"
3419
- },
3420
- {
3421
- "name": "support.function.streamsfuncs.php",
3422
- "match": "(?xi)\\b\n(\n set_socket_blocking|\n stream_(socket_(shutdown|sendto|server|client|pair|enable_crypto|accept|recvfrom|get_name)|\n set_(chunk_size|timeout|(read|write)_buffer|blocking)|select|notification_callback|supports_lock|\n context_(set_(option|default|params)|create|get_(options|default|params))|copy_to_stream|is_local|\n encoding|filter_(append|prepend|register|remove)|wrapper_((un)?register|restore)|\n resolve_include_path|register_wrapper|get_(contents|transports|filters|wrappers|line|meta_data)|\n bucket_(new|prepend|append|make_writeable)\n )\n)\\b"
3423
- },
3424
- {
3425
- "name": "support.function.string.php",
3426
- "match": "(?xi)\\b\n(\n money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|\n str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|\n str_(getcsv|ireplace|pad|repeat|replace|rot13|shuffle|split|word_count)|\n strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|\n html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|\n chop|chunk_split|chr|convert_(cyr_string|uu(decode|encode))|count_chars|crypt|crc32|trim|implode|ord|\n uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_(decode|encode)|\n quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table\n)\\b"
3427
- },
3428
- {
3429
- "name": "support.function.sybase.php",
3430
- "match": "(?xi)\\b\nsybase_(\n set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|\n unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|\n affected_rows|result|get_last_message|min_(client|error|message|server)_severity\n)\\b"
3431
- },
3432
- {
3433
- "name": "support.function.taint.php",
3434
- "match": "(?i)\\b(taint|is_tainted|untaint)\\b"
3435
- },
3436
- {
3437
- "name": "support.function.tidy.php",
3438
- "match": "(?xi)\\b\n(\n tidy_((get|set)opt|set_encoding|save_config|config_count|clean_repair|is_(xhtml|xml)|diagnose|\n (access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|\n get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|\n ob_tidyhandler\n)\\b"
3439
- },
3440
- {
3441
- "name": "support.function.tokenizer.php",
3442
- "match": "(?i)\\btoken_(name|get_all)\\b"
3443
- },
3444
- {
3445
- "name": "support.function.trader.php",
3446
- "match": "(?xi)\\b\ntrader_(\n stoch(f|r|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|\n ht_(sine|trend(line|mode)|dc(period|phase)|phasor)|natr|cci|cos(h)?|correl|\n cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|\n hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|\n counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|\n identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|\n upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|\n piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|\n ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|\n gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|\n belthold|breakaway)|\n ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|\n plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|\n linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|ad|add|adx(r)?|apo|avgprice|\n aroon(osc)?|rsi|roc|rocp|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|\n minmax(index)?|mid(point|price)|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?\n)\\b"
3447
- },
3448
- {
3449
- "name": "support.function.uopz.php",
3450
- "match": "(?i)\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\b"
3451
- },
3452
- {
3453
- "name": "support.function.url.php",
3454
- "match": "(?i)\\b(http_build_query|(raw)?url(decode|encode)|parse_url|get_(headers|meta_tags)|base64_(decode|encode))\\b"
3455
- },
3456
- {
3457
- "name": "support.function.var.php",
3458
- "match": "(?xi)\\b\n(\n strval|settype|serialize|(bool|double|float)val|debug_zval_dump|intval|import_request_variables|isset|\n is_(scalar|string|null|numeric|callable|int(eger)?|object|double|float|long|array|resource|real|bool)|\n unset|unserialize|print_r|empty|var_(dump|export)|gettype|get_(defined_vars|resource_type)\n)\\b"
3459
- },
3460
- {
3461
- "name": "support.function.wddx.php",
3462
- "match": "(?i)\\bwddx_(serialize_(value|vars)|deserialize|packet_(start|end)|add_vars)\\b"
3463
- },
3464
- {
3465
- "name": "support.function.xhprof.php",
3466
- "match": "(?i)\\bxhprof_(sample_)?(disable|enable)\\b"
3467
- },
3468
- {
3469
- "name": "support.function.xml.php",
3470
- "match": "(?xi)\n\\b\n(\n utf8_(decode|encode)|\n xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|\n (character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|\n parse(_into_struct)?|parser_((get|set)_option|create(_ns)?|free)|error_string|\n get_(current_((column|line)_number|byte_index)|error_code))\n)\\b"
3471
- },
3472
- {
3473
- "name": "support.function.xmlrpc.php",
3474
- "match": "(?xi)\\b\nxmlrpc_(\n server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|\n is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|(get|set)_type\n)\\b"
3475
- },
3476
- {
3477
- "name": "support.function.xmlwriter.php",
3478
- "match": "(?xi)\\b\nxmlwriter_(\n (end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|\n (start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|\n full_end_element|flush|\n)\\b"
3479
- },
3480
- {
3481
- "name": "support.function.zlib.php",
3482
- "match": "(?xi)\\b\n(\n zlib_(decode|encode|get_coding_type)|readgzfile|\n gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|\n write|rewind|read|getc|getss?)\n)\\b"
3483
- },
3484
- {
3485
- "name": "support.function.alias.php",
3486
- "match": "(?i)\\bis_int(eger)?\\b"
3487
- }
3488
- ]
3489
- },
3490
- "switch_statement": {
3491
- "patterns": [
3492
- {
3493
- "match": "\\s+(?=switch\\b)"
3494
- },
3495
- {
3496
- "name": "meta.switch-statement.php",
3497
- "begin": "\\bswitch\\b(?!\\s*\\(.*\\)\\s*:)",
3498
- "end": "}|(?=\\?\u003e)",
3499
- "patterns": [
3500
- {
3501
- "begin": "\\(",
3502
- "end": "\\)|(?=\\?\u003e)",
3503
- "patterns": [
3504
- {
3505
- "include": "#language"
3506
- }
3507
- ],
3508
- "beginCaptures": {
3509
- "0": {
3510
- "name": "punctuation.definition.switch-expression.begin.bracket.round.php"
3511
- }
3512
- },
3513
- "endCaptures": {
3514
- "0": {
3515
- "name": "punctuation.definition.switch-expression.end.bracket.round.php"
3516
- }
3517
- }
3518
- },
3519
- {
3520
- "begin": "{",
3521
- "end": "(?=}|\\?\u003e)",
3522
- "patterns": [
3523
- {
3524
- "include": "#language"
3525
- }
3526
- ],
3527
- "beginCaptures": {
3528
- "0": {
3529
- "name": "punctuation.definition.section.switch-block.begin.bracket.curly.php"
3530
- }
3531
- }
3532
- }
3533
- ],
3534
- "beginCaptures": {
3535
- "0": {
3536
- "name": "keyword.control.switch.php"
3537
- }
3538
- },
3539
- "endCaptures": {
3540
- "0": {
3541
- "name": "punctuation.definition.section.switch-block.end.bracket.curly.php"
3542
- }
3543
- }
3544
- }
3545
- ]
3546
- },
3547
- "use-inner": {
3548
- "patterns": [
3549
- {
3550
- "include": "#comments"
3551
- },
3552
- {
3553
- "begin": "(?i)\\b(as)\\s+",
3554
- "end": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*",
3555
- "beginCaptures": {
3556
- "1": {
3557
- "name": "keyword.other.use-as.php"
3558
- }
3559
- },
3560
- "endCaptures": {
3561
- "0": {
3562
- "name": "entity.other.alias.php"
3563
- }
3564
- }
3565
- },
3566
- {
3567
- "include": "#class-name"
3568
- },
3569
- {
3570
- "name": "punctuation.separator.delimiter.php",
3571
- "match": ","
3572
- }
3573
- ]
3574
- },
3575
- "var_basic": {
3576
- "patterns": [
3577
- {
3578
- "name": "variable.other.php",
3579
- "match": "(?i)(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\b",
3580
- "captures": {
3581
- "1": {
3582
- "name": "punctuation.definition.variable.php"
3583
- }
3584
- }
3585
- }
3586
- ]
3587
- },
3588
- "var_global": {
3589
- "name": "variable.other.global.php",
3590
- "match": "(\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg(v|c))\\b",
3591
- "captures": {
3592
- "1": {
3593
- "name": "punctuation.definition.variable.php"
3594
- }
3595
- }
3596
- },
3597
- "var_global_safer": {
3598
- "name": "variable.other.global.safer.php",
3599
- "match": "(\\$)((GLOBALS|_(ENV|SERVER|SESSION)))",
3600
- "captures": {
3601
- "1": {
3602
- "name": "punctuation.definition.variable.php"
3603
- }
3604
- }
3605
- },
3606
- "var_language": {
3607
- "name": "variable.language.this.php",
3608
- "match": "(\\$)this\\b",
3609
- "captures": {
3610
- "1": {
3611
- "name": "punctuation.definition.variable.php"
3612
- }
3613
- }
3614
- },
3615
- "variable-name": {
3616
- "patterns": [
3617
- {
3618
- "include": "#var_global"
3619
- },
3620
- {
3621
- "include": "#var_global_safer"
3622
- },
3623
- {
3624
- "match": "(?xi)\n((\\$)(?\u003cname\u003e[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*))\n(?:\n (-\u003e)(\\g\u003cname\u003e)\n |\n (\\[)(?:(\\d+)|((\\$)\\g\u003cname\u003e)|([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*))(\\])\n)?",
3625
- "captures": {
3626
- "1": {
3627
- "name": "variable.other.php"
3628
- },
3629
- "10": {
3630
- "name": "string.unquoted.index.php"
3631
- },
3632
- "11": {
3633
- "name": "punctuation.section.array.end.php"
3634
- },
3635
- "2": {
3636
- "name": "punctuation.definition.variable.php"
3637
- },
3638
- "4": {
3639
- "name": "keyword.operator.class.php"
3640
- },
3641
- "5": {
3642
- "name": "variable.other.property.php"
3643
- },
3644
- "6": {
3645
- "name": "punctuation.section.array.begin.php"
3646
- },
3647
- "7": {
3648
- "name": "constant.numeric.index.php"
3649
- },
3650
- "8": {
3651
- "name": "variable.other.index.php"
3652
- },
3653
- "9": {
3654
- "name": "punctuation.definition.variable.php"
3655
- }
3656
- }
3657
- },
3658
- {
3659
- "match": "(?i)((\\${)(?\u003cname\u003e[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(}))",
3660
- "captures": {
3661
- "1": {
3662
- "name": "variable.other.php"
3663
- },
3664
- "2": {
3665
- "name": "punctuation.definition.variable.php"
3666
- },
3667
- "4": {
3668
- "name": "punctuation.definition.variable.php"
3669
- }
3670
- }
3671
- }
3672
- ]
3673
- },
3674
- "variables": {
3675
- "patterns": [
3676
- {
3677
- "include": "#var_language"
3678
- },
3679
- {
3680
- "include": "#var_global"
3681
- },
3682
- {
3683
- "include": "#var_global_safer"
3684
- },
3685
- {
3686
- "include": "#var_basic"
3687
- },
3688
- {
3689
- "begin": "\\${(?=.*?})",
3690
- "end": "}",
3691
- "patterns": [
3692
- {
3693
- "include": "#language"
3694
- }
3695
- ],
3696
- "beginCaptures": {
3697
- "0": {
3698
- "name": "punctuation.definition.variable.php"
3699
- }
3700
- },
3701
- "endCaptures": {
3702
- "0": {
3703
- "name": "punctuation.definition.variable.php"
3704
- }
3705
- }
3706
- }
3707
- ]
3708
- }
3709
- },
3710
- "injections": {
3711
- "text.html.php.blade - (meta.embedded | meta.tag | comment.block.blade), L:(text.html.php.blade meta.tag - (comment.block.blade | meta.embedded.block.blade)), L:(source.js.embedded.html - (comment.block.blade | meta.embedded.block.blade))": {
3712
- "patterns": [
3713
- {
3714
- "include": "#blade"
3715
- },
3716
- {
3717
- "begin": "(^\\s*)(?=\u003c\\?(?![^?]*\\?\u003e))",
3718
- "end": "(?!\\G)(\\s*$\\n)?",
3719
- "patterns": [
3720
- {
3721
- "name": "meta.embedded.block.php",
3722
- "contentName": "source.php",
3723
- "begin": "\u003c\\?(?i:php|=)?",
3724
- "end": "(\\?)\u003e",
3725
- "patterns": [
3726
- {
3727
- "include": "#language"
3728
- }
3729
- ],
3730
- "beginCaptures": {
3731
- "0": {
3732
- "name": "punctuation.section.embedded.begin.php"
3733
- }
3734
- },
3735
- "endCaptures": {
3736
- "0": {
3737
- "name": "punctuation.section.embedded.end.php"
3738
- },
3739
- "1": {
3740
- "name": "source.php"
3741
- }
3742
- }
3743
- }
3744
- ],
3745
- "beginCaptures": {
3746
- "0": {
3747
- "name": "punctuation.whitespace.embedded.leading.php"
3748
- }
3749
- },
3750
- "endCaptures": {
3751
- "0": {
3752
- "name": "punctuation.whitespace.embedded.trailing.php"
3753
- }
3754
- }
3755
- },
3756
- {
3757
- "name": "meta.embedded.block.php",
3758
- "contentName": "source.php",
3759
- "begin": "\u003c\\?(?i:php|=)?(?![^?]*\\?\u003e)",
3760
- "end": "(\\?)\u003e",
3761
- "patterns": [
3762
- {
3763
- "include": "#language"
3764
- }
3765
- ],
3766
- "beginCaptures": {
3767
- "0": {
3768
- "name": "punctuation.section.embedded.begin.php"
3769
- }
3770
- },
3771
- "endCaptures": {
3772
- "0": {
3773
- "name": "punctuation.section.embedded.end.php"
3774
- },
3775
- "1": {
3776
- "name": "source.php"
3777
- }
3778
- }
3779
- },
3780
- {
3781
- "name": "meta.embedded.line.php",
3782
- "begin": "\u003c\\?(?i:php|=)?",
3783
- "end": "\u003e",
3784
- "patterns": [
3785
- {
3786
- "name": "meta.special.empty-tag.php",
3787
- "match": "\\G(\\s*)((\\?))(?=\u003e)",
3788
- "captures": {
3789
- "1": {
3790
- "name": "source.php"
3791
- },
3792
- "2": {
3793
- "name": "punctuation.section.embedded.end.php"
3794
- },
3795
- "3": {
3796
- "name": "source.php"
3797
- }
3798
- }
3799
- },
3800
- {
3801
- "contentName": "source.php",
3802
- "begin": "\\G",
3803
- "end": "(\\?)(?=\u003e)",
3804
- "patterns": [
3805
- {
3806
- "include": "#language"
3807
- }
3808
- ],
3809
- "endCaptures": {
3810
- "0": {
3811
- "name": "punctuation.section.embedded.end.php"
3812
- },
3813
- "1": {
3814
- "name": "source.php"
3815
- }
3816
- }
3817
- }
3818
- ],
3819
- "beginCaptures": {
3820
- "0": {
3821
- "name": "punctuation.section.embedded.begin.php"
3822
- }
3823
- },
3824
- "endCaptures": {
3825
- "0": {
3826
- "name": "punctuation.section.embedded.end.php"
3827
- }
3828
- }
3829
- }
3830
- ]
3831
- }
3832
- }
3833
- }
1
+ {"name":"Blade","scopeName":"text.html.php.blade","patterns":[{"include":"text.html.basic"}],"repository":{"balance_brackets":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#balance_brackets"}]},{"match":"[^()]+"}]},"blade":{"patterns":[{"name":"comment.block.blade","begin":"{{--","end":"--}}","patterns":[{"name":"invalid.illegal.php-code-in-comment.blade","begin":"(^\\s*)(?=\u003c\\?(?![^?]*\\?\u003e))","end":"(?!\\G)(\\s*$\\n)?","patterns":[{"name":"meta.embedded.block.php","contentName":"source.php","begin":"\u003c\\?(?i:php|=)?","end":"(\\?)\u003e","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}}}],"beginCaptures":{"0":{"name":"punctuation.whitespace.embedded.leading.php"}},"endCaptures":{"0":{"name":"punctuation.whitespace.embedded.trailing.php"}}},{"name":"invalid.illegal.php-code-in-comment.blade.meta.embedded.block.php","contentName":"source.php","begin":"\u003c\\?(?i:php|=)?(?![^?]*\\?\u003e)","end":"(\\?)\u003e","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}}},{"name":"invalid.illegal.php-code-in-comment.blade.meta.embedded.line.php","begin":"\u003c\\?(?i:php|=)?","end":"\u003e","patterns":[{"name":"meta.special.empty-tag.php","match":"\\G(\\s*)((\\?))(?=\u003e)","captures":{"1":{"name":"source.php"},"2":{"name":"punctuation.section.embedded.end.php"},"3":{"name":"source.php"}}},{"contentName":"source.php","begin":"\\G","end":"(\\?)(?=\u003e)","patterns":[{"include":"#language"}],"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}}}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.blade"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.blade"}}},{"name":"comment.blade","match":"@(?={{{|{{|{!!|@\\w+(?:::\\w+)?)"},{"name":"meta.function.echo.blade","contentName":"source.php","begin":"(?\u003c!@){{{","end":"(})}}","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"support.function.construct.begin.blade"}},"endCaptures":{"0":{"name":"support.function.construct.end.blade"},"1":{"name":"source.php"}}},{"name":"meta.function.echo.blade","contentName":"source.php","begin":"(?\u003c![@{]){{","end":"(})}","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"support.function.construct.begin.blade"}},"endCaptures":{"0":{"name":"support.function.construct.end.blade"},"1":{"name":"source.php"}}},{"name":"meta.function.echo.blade","contentName":"source.php","begin":"(?\u003c!@){!!","end":"(!)!}","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"support.function.construct.begin.blade"}},"endCaptures":{"0":{"name":"support.function.construct.end.blade"},"1":{"name":"source.php"}}},{"name":"meta.directive.blade","contentName":"source.php","begin":"(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n auth\n |break\n |can\n |canany\n |cannot\n |case\n |choice\n |component\n |componentfirst\n |continue\n |dd\n |dump\n |each\n |elseauth\n |elsecan\n |elsecanany\n |elsecannot\n |elseguest\n |elseif\n |empty\n |env\n |error\n |extends\n |for\n |foreach\n |forelse\n |guest\n |hassection\n |if\n |include\n |includefirst\n |includeif\n |includeunless\n |includewhen\n |inject\n |isset\n |json\n |lang\n |method\n |php\n |prepend\n |push\n |section\n |slot\n |stack\n |switch\n |unless\n |unset\n |while\n |yield\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses","end":"\\)","patterns":[{"include":"#language"}],"beginCaptures":{"1":{"name":"keyword.blade"},"2":{"name":"begin.bracket.round.blade.php"}},"endCaptures":{"0":{"name":"end.bracket.round.blade.php"}}},{"name":"meta.directive.blade","contentName":"comment.blade","begin":"(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n append\n |csrf\n |default\n |else\n |endauth\n |endcan\n |endcanany\n |endcannot\n |endcomponent\n |endcomponentfirst\n |endempty\n |endenv\n |enderror\n |endfor\n |endforeach\n |endforelse\n |endguest\n |endif\n |endisset\n |endlang\n |endprepend\n |endproduction\n |endpush\n |endsection\n |endslot\n |endswitch\n |endunless\n |endwhile\n |overwrite\n |parent\n |production\n |show\n |stop\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses","end":"\\)","patterns":[{"include":"#balance_brackets"}],"beginCaptures":{"1":{"name":"keyword.blade"},"2":{"name":"begin.bracket.round.blade.php"}},"endCaptures":{"0":{"name":"end.bracket.round.blade.php"}}},{"name":"keyword.blade","match":"(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to word boundary\n (?i)append\n|(?i)auth\n|(?i)break\n|(?i)continue\n|(?i)csrf\n|(?i)default\n|(?i)else\n|(?i)elseauth\n|(?i)elseguest\n|(?i)empty\n|(?i)endauth\n|(?i)endcan\n|(?i)endcanany\n|(?i)endcannot\n|(?i)endcomponent\n|(?i)endcomponentfirst\n|(?i)endempty\n|(?i)endenv\n|(?i)enderror\n|(?i)endfor\n|(?i)endforeach\n|(?i)endforelse\n|(?i)endguest\n|(?i)endif\n|(?i)endisset\n|(?i)endlang\n|(?i)endprepend\n|(?i)endproduction\n|(?i)endpush\n|(?i)endsection\n|(?i)endslot\n|(?i)endswitch\n|(?i)endunless\n|endverbatim\n|(?i)endwhile\n|(?i)guest\n|(?i)lang\n|(?i)overwrite\n|(?i)parent\n|(?i)production\n|(?i)show\n|(?i)stop\n|verbatim\n)\n\\b"},{"name":"meta.embedded.block.blade","contentName":"source.php","begin":"(?\u003c![A-Za-z0-9_@])@(?i:php)\\b","end":"(?\u003c![A-Za-z0-9_@])(?=@(?i:endphp)\\b)","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"keyword.begin.blade"}},"endCaptures":{"0":{"name":"keyword.end.blade"}}},{"name":"meta.directive.blade","contentName":"comment.blade","begin":"(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i:\n endphp\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses","end":"\\)","patterns":[{"include":"#balance_brackets"}],"beginCaptures":{"1":{"name":"keyword.end.blade"},"2":{"name":"begin.bracket.round.blade.php"}},"endCaptures":{"0":{"name":"end.bracket.round.blade.php"}}},{"name":"keyword.end.blade","match":"(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to word boundary\n (?i)endphp\n)\n\\b"},{"name":"meta.directive.custom.blade","contentName":"source.php","begin":"(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n \\w+(?:::\\w+)? # Any number/letter sequence, can also be postfixed by ::someOtherString\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses","end":"\\)","patterns":[{"include":"#language"}],"beginCaptures":{"1":{"name":"entity.name.function.blade"},"2":{"name":"begin.bracket.round.blade.php"}},"endCaptures":{"0":{"name":"end.bracket.round.blade.php"}}},{"name":"entity.name.function.blade","match":"(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n\\w+(?:::\\w+)? # Any number/letter sequence, can also be postfixed by ::someOtherString\n\\b # Bounded by word boundary"}]},"class-builtin":{"patterns":[{"name":"support.class.builtin.php","match":"(?xi)\n(\\\\)?\\b\n((APC|Append)Iterator|Array(Access|Iterator|Object)\n|Bad(Function|Method)CallException\n|(Caching|CallbackFilter)Iterator|Collator|Collectable|Cond|Countable|CURLFile\n|Date(Interval|Period|Time(Interface|Immutable|Zone)?)?|Directory(Iterator)?|DomainException\n|DOM(Attr|CdataSection|CharacterData|Comment|Document(Fragment)?|Element|EntityReference\n |Implementation|NamedNodeMap|Node(list)?|ProcessingInstruction|Text|XPath)\n|(Error)?Exception|EmptyIterator\n|finfo\n|Ev(Check|Child|Embed|Fork|Idle|Io|Loop|Periodic|Prepare|Signal|Stat|Timer|Watcher)?\n|Event(Base|Buffer(Event)?|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?\n|FANNConnection|(Filter|Filesystem)Iterator\n|Gender\\\\Gender|GlobIterator|Gmagick(Draw|Pixel)?\n|Haru(Annotation|Destination|Doc|Encoder|Font|Image|Outline|Page)\n|Http((Inflate|Deflate)?Stream|Message|Request(Pool)?|Response|QueryString)\n|HRTime\\\\(PerformanceCounter|StopWatch)\n|Intl(Calendar|((CodePoint|RuleBased)?Break|Parts)?Iterator|DateFormatter|TimeZone)\n|Imagick(Draw|Pixel(Iterator)?)?\n|InfiniteIterator|InvalidArgumentException|Iterator(Aggregate|Iterator)?\n|JsonSerializable\n|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|(AttachedPicture)?Frame))\n|Lapack|(Length|Locale|Logic)Exception|LimitIterator|Lua(Closure)?\n|Mongo(BinData|Client|Code|Collection|CommandCursor|Cursor(Exception)?|Date|DB(Ref)?|DeleteBatch\n |Grid(FS(Cursor|File)?)|Id|InsertBatch|Int(32|64)|Log|Pool|Regex|ResultException|Timestamp\n |UpdateBatch|Write(Batch|ConcernException))?\n|Memcache(d)?|MessageFormatter|MultipleIterator|Mutex\n|mysqli(_(driver|stmt|warning|result))?\n|MysqlndUh(Connection|PreparedStatement)\n|NoRewindIterator|Normalizer|NumberFormatter\n|OCI-(Collection|Lob)|OuterIterator|(OutOf(Bounds|Range)|Overflow)Exception\n|ParentIterator|PDO(Statement)?|Phar(Data|FileInfo)?|php_user_filter|Pool\n|QuickHash(Int(Set|StringHash)|StringIntHash)\n|Recursive(Array|Caching|Directory|Fallback|Filter|Iterator|Regex|Tree)?Iterator\n|Reflection(Class|Function(Abstract)?|Method|Object|Parameter|Property|(Zend)?Extension)?\n|RangeException|Reflector|RegexIterator|ResourceBundle|RuntimeException|RRD(Creator|Graph|Updater)\n|SAM(Connection|Message)|SCA(_(SoapProxy|LocalProxy))?\n|SDO_(DAS_(ChangeSummary|Data(Factory|Object)|Relational|Setting|XML(_Document)?)\n |Data(Factory|Object)|Exception|List|Model_(Property|ReflectionDataObject|Type)|Sequence)\n|SeekableIterator|Serializable|SessionHandler(Interface)?|SimpleXML(Iterator|Element)|SNMP\n|Soap(Client|Fault|Header|Param|Server|Var)\n|SphinxClient|Spoofchecker\n|Spl(DoublyLinkedList|Enum|File(Info|Object)|FixedArray|(Max|Min)?Heap|Observer|ObjectStorage\n |(Priority)?Queue|Stack|Subject|Type|TempFileObject)\n|SQLite(3(Result|Stmt)?|Database|Result|Unbuffered)\n|stdClass|streamWrapper|SVM(Model)?|Swish(Result(s)?|Search)?|Sync(Event|Mutex|ReaderWriter|Semaphore)\n|Thread(ed)?|tidy(Node)?|TokyoTyrant(Table|Iterator|Query)?|Transliterator|Traversable\n|UConverter|(Underflow|UnexpectedValue)Exception\n|V8Js(Exception)?|Varnish(Admin|Log|Stat)\n|Worker|Weak(Map|Ref)\n|XML(Diff\\\\(Base|DOM|File|Memory)|Reader|Writer)|XsltProcessor\n|Yaf_(Route_(Interface|Map|Regex|Rewrite|Simple|Supervar)\n |Action_Abstract|Application|Config_(Simple|Ini|Abstract)|Controller_Abstract\n |Dispatcher|Exception|Loader|Plugin_Abstract|Registry|Request_(Abstract|Simple|Http)\n |Response_Abstract|Router|Session|View_(Simple|Interface))\n|Yar_(Client(_Exception)?|Concurrent_Client|Server(_Exception)?)\n|ZipArchive|ZMQ(Context|Device|Poll|Socket)?)\n\\b","captures":{"1":{"name":"punctuation.separator.inheritance.php"}}}]},"class-name":{"patterns":[{"begin":"(?i)(?=\\\\?[a-z_0-9]+\\\\)","end":"(?i)([a-z_][a-z_0-9]*)?(?=[^a-z0-9_\\\\])","patterns":[{"include":"#namespace"}],"endCaptures":{"1":{"name":"support.class.php"}}},{"include":"#class-builtin"},{"begin":"(?=[\\\\a-zA-Z_])","end":"(?i)([a-z_][a-z_0-9]*)?(?=[^a-z0-9_\\\\])","patterns":[{"include":"#namespace"}],"endCaptures":{"1":{"name":"support.class.php"}}}]},"comments":{"patterns":[{"name":"comment.block.documentation.phpdoc.php","begin":"/\\*\\*(?=\\s)","end":"\\*/","patterns":[{"include":"#php_doc"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.php"}}},{"name":"comment.block.php","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.php"}}},{"begin":"(^\\s+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.php","begin":"//","end":"\\n|(?=\\?\u003e)","beginCaptures":{"0":{"name":"punctuation.definition.comment.php"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.php"}}},{"begin":"(^\\s+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.php","begin":"#","end":"\\n|(?=\\?\u003e)","beginCaptures":{"0":{"name":"punctuation.definition.comment.php"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.php"}}}]},"constants":{"patterns":[{"name":"constant.language.php","match":"(?i)\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\b"},{"name":"support.constant.core.php","match":"(?x)\n(\\\\)?\\b\n(DEFAULT_INCLUDE_PATH\n|EAR_(INSTALL|EXTENSION)_DIR\n|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE\n |PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)\n|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN\n |BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)\n |INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR\n |URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX\n |EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?\n |WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)\n |VERSION_(MAJOR|MINOR)|BUILD|SUITEMASK|SP_(MAJOR|MINOR)\n |PRODUCTTYPE|PLATFORM)\n |LIBDIR|LOCALSTATEDIR)\n|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\n\\b","captures":{"1":{"name":"punctuation.separator.inheritance.php"}}},{"name":"support.constant.std.php","match":"(?x)\n(\\\\)?\\b\n(__COMPILER_HALT_OFFSET__|AB(MON_(1|2|3|4|5|6|7|8|9|10|11|12)|DAY[1-7])\n|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS\n|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)\n|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)\n|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL\n|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)\n|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR\n|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)\n|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)\n|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)\n|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)\n|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)\n|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL\n |NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)\n|M_(1_PI|SQRT(1_2|2|3|PI)|2_(SQRT)?PI|PI(_(2|4))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)\n|MON_(1|2|3|4|5|6|7|8|9|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)\n|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)\n|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN\n|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR\n|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)\n|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP\n|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)\n|YES(EXPR|STR))\n\\b","captures":{"1":{"name":"punctuation.separator.inheritance.php"}}},{"name":"support.constant.ext.php","match":"(?x)\n(\\\\)?\\b\n(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)\n|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE\n |OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)\n |ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE\n |NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE\n |UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT\n |PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)\n |ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(NMTOKEN(S)?|NOTATION|NODE)\n |CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)\n|MHASH_(RIPEMD(128|160|256|320)|GOST|MD(2|4|5)|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)\n |CRC23(B)?|TIGER(128|160)?|WHIRLPOOL|ADLER32)\n|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))\n|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)\n |READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH\n |STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT\n |SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)\n |NO_(DEFAULT_VALUE_FLAG|DATA)|NOT_NULL_FLAG|NUM(_FLAG)?\n |CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)\n |CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)\n |TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR\n |TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)\n |TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG\n |OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)\n |DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG\n |ASSOC|ASYNC|AUTO_INCREMENT_FLAG)\n|MCRYPT_(RC(2|6)|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS\n |BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY\n |TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)\n|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR\n |SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)\n |NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS\n |FILE_SIZE_IS|FAILURE|AUTH_(REQUIRED|RESULT))\n |CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)\n |CAST_(AS_STREAM|FOR_SELECT)|(IGNORE|IS)_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB\n |OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH\n |PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))\n|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)\n|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT\n |CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY\n |FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)\n|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)\n|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)\n |MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)\n |CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)\n |INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME\n |(SIZE|SPEED)_(DOWNLOAD|UPLOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME\n |CONNECT_TIME|CONTENT_(TYPE|LENGTH_(DOWNLOAD|UPLOAD))|CERTINFO|TOTAL_TIME\n |PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)\n |OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE\n |MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE\n |SSH_(HOST_PUBLIC_KEY_MD5|(PRIVATE|PUBLIC)_KEYFILE)|AUTH_TYPES)\n |SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)\n |SSL_(CIPHER_LIST|VERIFY(HOST|PEER))\n |STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)\n |HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?\n |COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT\n |TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE\n |DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD\n |PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT\n |POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT\n |FTP(APPEND|LISTONLY|PORT|SSLAUTH)\n |FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)\n |FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)\n |AUTOREFERER)\n |PROXY_(HTTP|SOCKS(4|5))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)\n |E_((RECV|READ)_ERROR|GOT_NOTHING|MALFORMAT_USER\n |BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)\n |SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))\n |SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)\n |COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE\n |OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL\n |UNKNOWN_TELNET_OPTION|PARTIAL_FILE\n |FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)\n |CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR\n |WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)\n |FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND\n |LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)\n |VERSION_NOW\n |FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))\n |AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))\n|CURL_(HTTP_VERSION_(1_(0|1)|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)\n |IPRESOLVE_(V(4|6)|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))\n|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)\n|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)\n|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)\n|DOM(STRING_SIZE_ERR)\n|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_(MODIFICATION_ALLOWED|DATA_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE\n |INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)\n|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)\n|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT\n |SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)\n|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))\n|PCRE_VERSION|POSIX_((F|R|W|X)_OK|S_IF(REG|BLK|SOCK|CHR|IFO))\n|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)\n|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW\n |SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL\n |EMAIL|ENCODED|FULL_SPCIAL_CHARS)\n |VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)\n |FORCE_ARRAY\n |FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES\n |IPV(4|6)|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED\n |ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))\n|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)\n|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)\n|FORCE_(DEFLATE|GZIP)\n|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)\n |COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\n\\b","captures":{"1":{"name":"punctuation.separator.inheritance.php"}}},{"name":"support.constant.parser-token.php","match":"(?x)\n(\\\\)?\\b\n(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK\n |BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC\n |SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT\n |CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?\n |CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))\n |INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)\n |OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)\n |DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC\n |PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE\n |END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE\n |FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)\n |ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\n\\b","captures":{"1":{"name":"punctuation.separator.inheritance.php"}}},{"name":"constant.other.php","match":"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"}]},"function-call":{"patterns":[{"name":"meta.function-call.php","begin":"(?xi)\n(\n \\\\?\\b # Optional root namespace\n [a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]* # First namespace\n (?:\\\\[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)+ # Additional namespaces\n)\\s*(\\()","end":"\\)|(?=\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"1":{"patterns":[{"include":"#namespace"},{"name":"entity.name.function.php","match":"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"}]},"2":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}}},{"name":"meta.function-call.php","begin":"(?i)(\\\\)?\\b([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()","end":"\\)|(?=\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"1":{"patterns":[{"include":"#namespace"}]},"2":{"patterns":[{"include":"#support"},{"name":"entity.name.function.php","match":"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"}]},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}}},{"name":"support.function.construct.output.php","match":"(?i)\\b(print|echo)\\b"}]},"function-parameters":{"patterns":[{"include":"#comments"},{"name":"punctuation.separator.delimiter.php","match":","},{"name":"meta.function.parameter.array.php","contentName":"meta.array.php","begin":"(?xi)\n(array) # Typehint\n\\s+((\u0026)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(=)\\s*(array)\\s*(\\() # Default value","end":"\\)","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"}],"beginCaptures":{"1":{"name":"storage.type.php"},"2":{"name":"variable.other.php"},"3":{"name":"storage.modifier.reference.php"},"4":{"name":"punctuation.definition.variable.php"},"5":{"name":"keyword.operator.assignment.php"},"6":{"name":"support.function.construct.php"},"7":{"name":"punctuation.definition.array.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.php"}}},{"name":"meta.function.parameter.array.php","match":"(?xi)\n(array|callable) # Typehint\n\\s+((\u0026)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n(?: # Optional default value\n \\s*(=)\\s*\n (?:\n (null)\n |\n (\\[)((?\u003e[^\\[\\]]+|\\[\\g\u003c8\u003e\\])*)(\\])\n |((?:\\S*?\\(\\))|(?:\\S*?))\n )\n)?\n\\s*(?=,|\\)|/[/*]|\\#|$) # A closing parentheses (end of argument list) or a comma or a comment","captures":{"1":{"name":"storage.type.php"},"10":{"name":"invalid.illegal.non-null-typehinted.php"},"2":{"name":"variable.other.php"},"3":{"name":"storage.modifier.reference.php"},"4":{"name":"punctuation.definition.variable.php"},"5":{"name":"keyword.operator.assignment.php"},"6":{"name":"constant.language.php"},"7":{"name":"punctuation.section.array.begin.php"},"8":{"patterns":[{"include":"#parameter-default-types"}]},"9":{"name":"punctuation.section.array.end.php"}}},{"name":"meta.function.parameter.typehinted.php","begin":"(?xi)\n(\\\\?(?:[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)*) # Optional namespace\n([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Typehinted class name\n\\s+((\u0026)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference","end":"(?=,|\\)|/[/*]|\\#)","patterns":[{"begin":"=","end":"(?=,|\\)|/[/*]|\\#)","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.php"}}}],"beginCaptures":{"1":{"name":"support.other.namespace.php","patterns":[{"name":"storage.type.php","match":"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"},{"name":"punctuation.separator.inheritance.php","match":"\\\\"}]},"2":{"name":"storage.type.php"},"3":{"name":"variable.other.php"},"4":{"name":"storage.modifier.reference.php"},"5":{"name":"keyword.operator.variadic.php"},"6":{"name":"punctuation.definition.variable.php"}}},{"name":"meta.function.parameter.no-default.php","match":"(?xi)\n((\u0026)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(?=,|\\)|/[/*]|\\#|$) # A closing parentheses (end of argument list) or a comma or a comment","captures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"keyword.operator.variadic.php"},"4":{"name":"punctuation.definition.variable.php"}}},{"name":"meta.function.parameter.default.php","begin":"(?xi)\n((\u0026)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(=)\\s*\n(?:(\\[)((?\u003e[^\\[\\]]+|\\[\\g\u003c6\u003e\\])*)(\\]))? # Optional default type","end":"(?=,|\\)|/[/*]|\\#)","patterns":[{"include":"#parameter-default-types"}],"beginCaptures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"keyword.operator.variadic.php"},"4":{"name":"punctuation.definition.variable.php"},"5":{"name":"keyword.operator.assignment.php"},"6":{"name":"punctuation.section.array.begin.php"},"7":{"patterns":[{"include":"#parameter-default-types"}]},"8":{"name":"punctuation.section.array.end.php"}}}]},"heredoc":{"patterns":[{"name":"string.unquoted.heredoc.php","begin":"(?i)(?=\u003c\u003c\u003c\\s*(\"?)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(\\1)\\s*$)","end":"(?!\\G)","patterns":[{"include":"#heredoc_interior"}]},{"name":"string.unquoted.nowdoc.php","begin":"(?=\u003c\u003c\u003c\\s*'([a-zA-Z_]+[a-zA-Z0-9_]*)'\\s*$)","end":"(?!\\G)","patterns":[{"include":"#nowdoc_interior"}]}]},"heredoc_interior":{"patterns":[{"name":"meta.embedded.html","contentName":"text.html","begin":"(\u003c\u003c\u003c)\\s*(\"?)(HTML)(\\2)(\\s*)$","end":"^(\\3)\\b","patterns":[{"include":"#interpolation"},{"include":"text.html.basic"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}}},{"name":"meta.embedded.xml","contentName":"text.xml","begin":"(\u003c\u003c\u003c)\\s*(\"?)(XML)(\\2)(\\s*)$","end":"^(\\3)\\b","patterns":[{"include":"#interpolation"},{"include":"text.xml"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}}},{"name":"meta.embedded.sql","contentName":"source.sql","begin":"(\u003c\u003c\u003c)\\s*(\"?)(SQL)(\\2)(\\s*)$","end":"^(\\3)\\b","patterns":[{"include":"#interpolation"},{"include":"source.sql"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}}},{"name":"meta.embedded.js","contentName":"source.js","begin":"(\u003c\u003c\u003c)\\s*(\"?)(JAVASCRIPT|JS)(\\2)(\\s*)$","end":"^(\\3)\\b","patterns":[{"include":"#interpolation"},{"include":"source.js"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}}},{"name":"meta.embedded.json","contentName":"source.json","begin":"(\u003c\u003c\u003c)\\s*(\"?)(JSON)(\\2)(\\s*)$","end":"^(\\3)\\b","patterns":[{"include":"#interpolation"},{"include":"source.json"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}}},{"name":"meta.embedded.css","contentName":"source.css","begin":"(\u003c\u003c\u003c)\\s*(\"?)(CSS)(\\2)(\\s*)$","end":"^(\\3)\\b","patterns":[{"include":"#interpolation"},{"include":"source.css"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}}},{"contentName":"string.regexp.heredoc.php","begin":"(\u003c\u003c\u003c)\\s*(\"?)(REGEXP?)(\\2)(\\s*)$","end":"^(\\3)\\b","patterns":[{"include":"#interpolation"},{"name":"constant.character.escape.regex.php","match":"(\\\\){1,2}[.$^\\[\\]{}]"},{"name":"string.regexp.arbitrary-repitition.php","match":"({)\\d+(,\\d+)?(})","captures":{"1":{"name":"punctuation.definition.arbitrary-repitition.php"},"3":{"name":"punctuation.definition.arbitrary-repitition.php"}}},{"name":"string.regexp.character-class.php","begin":"\\[(?:\\^?\\])?","end":"\\]","patterns":[{"name":"constant.character.escape.php","match":"\\\\[\\\\'\\[\\]]"}],"captures":{"0":{"name":"punctuation.definition.character-class.php"}}},{"name":"keyword.operator.regexp.php","match":"[$^+*]"},{"name":"comment.line.number-sign.php","begin":"(?i)(?\u003c=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{ff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.comment.php"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.php"}}}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}}},{"begin":"(?i)(\u003c\u003c\u003c)\\s*(\"?)([a-z_\\x{7f}-\\x{ff}]+[a-z0-9_\\x{7f}-\\x{ff}]*)(\\2)(\\s*)","end":"^(\\3)\\b","patterns":[{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"1":{"name":"keyword.operator.heredoc.php"}}}]},"instantiation":{"begin":"(?i)(new)\\s+","end":"(?i)(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])","patterns":[{"name":"storage.type.php","match":"(?i)(parent|static|self)(?![a-z0-9_\\x{7f}-\\x{ff}])"},{"include":"#class-name"},{"include":"#variable-name"}],"beginCaptures":{"1":{"name":"keyword.other.new.php"}}},"interpolation":{"patterns":[{"name":"constant.character.escape.octal.php","match":"\\\\[0-7]{1,3}"},{"name":"constant.character.escape.hex.php","match":"\\\\x[0-9A-Fa-f]{1,2}"},{"name":"constant.character.escape.unicode.php","match":"\\\\u{[0-9A-Fa-f]+}"},{"name":"constant.character.escape.php","match":"\\\\[nrtvef$\"\\\\]"},{"begin":"{(?=\\$.*?})","end":"}","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.php"}}},{"include":"#variable-name"}]},"invoke-call":{"name":"meta.function-call.invoke.php","match":"(?i)(\\$+)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(?=\\s*\\()","captures":{"1":{"name":"punctuation.definition.variable.php"},"2":{"name":"variable.other.php"}}},"language":{"patterns":[{"include":"#comments"},{"name":"meta.interface.php","begin":"(?i)^\\s*(interface)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(extends)?\\s*","end":"(?i)((?:[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\s*,\\s*)*)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?\\s*(?:(?={)|$)","patterns":[{"include":"#namespace"}],"beginCaptures":{"1":{"name":"storage.type.interface.php"},"2":{"name":"entity.name.type.interface.php"},"3":{"name":"storage.modifier.extends.php"}},"endCaptures":{"1":{"patterns":[{"name":"entity.other.inherited-class.php","match":"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"},{"name":"punctuation.separator.classes.php","match":","}]},"2":{"name":"entity.other.inherited-class.php"}}},{"name":"meta.trait.php","begin":"(?i)^\\s*(trait)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)","end":"(?={)","patterns":[{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.type.trait.php"},"2":{"name":"entity.name.type.trait.php"}}},{"name":"meta.namespace.php","match":"(?i)(?:^|(?\u003c=\u003c\\?php))\\s*(namespace)\\s+([a-z0-9_\\x{7f}-\\x{ff}\\\\]+)(?=\\s*;)","captures":{"1":{"name":"keyword.other.namespace.php"},"2":{"name":"entity.name.type.namespace.php","patterns":[{"name":"punctuation.separator.inheritance.php","match":"\\\\"}]}}},{"name":"meta.namespace.php","begin":"(?i)(?:^|(?\u003c=\u003c\\?php))\\s*(namespace)\\s+","end":"(?\u003c=})|(?=\\?\u003e)","patterns":[{"include":"#comments"},{"name":"entity.name.type.namespace.php","match":"(?i)[a-z0-9_\\x{7f}-\\x{ff}\\\\]+","captures":{"0":{"patterns":[{"name":"punctuation.separator.inheritance.php","match":"\\\\"}]}}},{"begin":"{","end":"}|(?=\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.definition.namespace.begin.bracket.curly.php"}},"endCaptures":{"0":{"name":"punctuation.definition.namespace.end.bracket.curly.php"}}},{"name":"invalid.illegal.identifier.php","match":"[^\\s]+"}],"beginCaptures":{"1":{"name":"keyword.other.namespace.php"}}},{"match":"\\s+(?=use\\b)"},{"name":"meta.use.php","begin":"(?i)\\buse\\b","end":"(?\u003c=})|(?=;)","patterns":[{"name":"storage.type.${1:/downcase}.php","match":"\\b(const|function)\\b"},{"begin":"{","end":"}","patterns":[{"include":"#scope-resolution"},{"match":"(?xi)\n\\b(as)\n\\s+(final|abstract|public|private|protected|static)\n\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\n\\b","captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"name":"storage.modifier.php"},"3":{"name":"entity.other.alias.php"}}},{"match":"(?xi)\n\\b(as)\n\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\n\\b","captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"patterns":[{"name":"storage.modifier.php","match":"^(?:final|abstract|public|private|protected|static)$"},{"name":"entity.other.alias.php","match":".+"}]}}},{"match":"(?i)\\b(insteadof)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)","captures":{"1":{"name":"keyword.other.use-insteadof.php"},"2":{"name":"support.class.php"}}},{"name":"punctuation.terminator.expression.php","match":";"},{"include":"#use-inner"}],"beginCaptures":{"0":{"name":"punctuation.definition.use.begin.bracket.curly.php"}},"endCaptures":{"0":{"name":"punctuation.definition.use.end.bracket.curly.php"}}},{"include":"#use-inner"}],"beginCaptures":{"0":{"name":"keyword.other.use.php"}}},{"name":"meta.class.php","begin":"(?i)^\\s*(?:(abstract|final)\\s+)?(class)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)","end":"}|(?=\\?\u003e)","patterns":[{"include":"#comments"},{"contentName":"meta.other.inherited-class.php","begin":"(?i)(extends)\\s+","end":"(?i)(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])","patterns":[{"begin":"(?i)(?=\\\\?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)","end":"(?i)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])","patterns":[{"include":"#namespace"}],"endCaptures":{"1":{"name":"entity.other.inherited-class.php"}}},{"include":"#class-builtin"},{"include":"#namespace"},{"name":"entity.other.inherited-class.php","match":"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"}],"beginCaptures":{"1":{"name":"storage.modifier.extends.php"}}},{"begin":"(?i)(implements)\\s+","end":"(?i)(?=[;{])","patterns":[{"include":"#comments"},{"contentName":"meta.other.inherited-class.php","begin":"(?i)(?=[a-z0-9_\\x{7f}-\\x{ff}\\\\]+)","end":"(?i)(?:\\s*(?:,|(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\\\s]))\\s*)","patterns":[{"begin":"(?i)(?=\\\\?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)","end":"(?i)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])","patterns":[{"include":"#namespace"}],"endCaptures":{"1":{"name":"entity.other.inherited-class.php"}}},{"include":"#class-builtin"},{"include":"#namespace"},{"name":"entity.other.inherited-class.php","match":"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"}]}],"beginCaptures":{"1":{"name":"storage.modifier.implements.php"}}},{"contentName":"meta.class.body.php","begin":"{","end":"(?=}|\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.definition.class.begin.bracket.curly.php"}}}],"beginCaptures":{"1":{"name":"storage.modifier.${1:/downcase}.php"},"2":{"name":"storage.type.class.php"},"3":{"name":"entity.name.type.class.php"}},"endCaptures":{"0":{"name":"punctuation.definition.class.end.bracket.curly.php"}}},{"include":"#switch_statement"},{"match":"(?x)\n\\s*\n\\b(\n break|case|continue|declare|default|die|do|\n else(if)?|end(declare|for(each)?|if|switch|while)|exit|\n for(each)?|if|return|switch|use|while|yield\n)\\b","captures":{"1":{"name":"keyword.control.${1:/downcase}.php"}}},{"name":"meta.include.php","begin":"(?i)\\b((?:require|include)(?:_once)?)\\s+","end":"(?=\\s|;|$|\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"1":{"name":"keyword.control.import.include.php"}}},{"name":"meta.catch.php","begin":"\\b(catch)\\s*(\\()","end":"\\)","patterns":[{"include":"#namespace"},{"match":"(?xi)\n([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Exception class\n((?:\\s*\\|\\s*[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)*) # Optional additional exception classes\n\\s*\n((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable","captures":{"1":{"name":"support.class.exception.php"},"2":{"patterns":[{"name":"support.class.exception.php","match":"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*"},{"name":"punctuation.separator.delimiter.php","match":"\\|"}]},"3":{"name":"variable.other.php"},"4":{"name":"punctuation.definition.variable.php"}}}],"beginCaptures":{"1":{"name":"keyword.control.exception.catch.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}}},{"name":"keyword.control.exception.php","match":"\\b(catch|try|throw|exception|finally)\\b"},{"name":"meta.function.closure.php","begin":"(?i)\\b(function)\\s*(?=\\()","end":"(?={)","patterns":[{"contentName":"meta.function.parameters.php","begin":"\\(","end":"\\)","patterns":[{"include":"#function-parameters"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}}},{"begin":"(?i)(use)\\s*(\\()","end":"\\)","patterns":[{"name":"meta.function.closure.use.php","match":"(?i)((\u0026)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(?=,|\\))","captures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"punctuation.definition.variable.php"}}}],"beginCaptures":{"1":{"name":"keyword.other.function.use.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}}}],"beginCaptures":{"1":{"name":"storage.type.function.php"}}},{"name":"meta.function.php","contentName":"meta.function.parameters.php","begin":"(?x)\n((?:(?:final|abstract|public|private|protected|static)\\s+)*)\n(function)\\s+\n(?i:\n (__(?:call|construct|debugInfo|destruct|get|set|isset|unset|tostring|\n clone|set_state|sleep|wakeup|autoload|invoke|callStatic))\n |([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\n)\n\\s*(\\()","end":"(\\))(?:\\s*(:)\\s*([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*))?","patterns":[{"include":"#function-parameters"}],"beginCaptures":{"1":{"patterns":[{"name":"storage.modifier.php","match":"final|abstract|public|private|protected|static"}]},"2":{"name":"storage.type.function.php"},"3":{"name":"support.function.magic.php"},"4":{"name":"entity.name.function.php"},"5":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.bracket.round.php"},"2":{"name":"keyword.operator.return-value.php"},"3":{"name":"storage.type.php"}}},{"include":"#invoke-call"},{"include":"#scope-resolution"},{"include":"#variables"},{"include":"#strings"},{"name":"meta.array.empty.php","match":"(array)(\\()(\\))","captures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.bracket.round.php"},"3":{"name":"punctuation.definition.array.end.bracket.round.php"}}},{"name":"meta.array.php","begin":"(array)(\\()","end":"\\)|(?=\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.php"}}},{"match":"(?i)(\\()\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\s*(\\))","captures":{"1":{"name":"punctuation.definition.storage-type.begin.bracket.round.php"},"2":{"name":"storage.type.php"},"3":{"name":"punctuation.definition.storage-type.end.bracket.round.php"}}},{"name":"storage.type.php","match":"(?i)\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object)\\b"},{"name":"storage.modifier.php","match":"(?i)\\b(global|abstract|const|extends|implements|final|private|protected|public|static)\\b"},{"include":"#object"},{"name":"punctuation.terminator.expression.php","match":";"},{"name":"punctuation.terminator.statement.php","match":":"},{"include":"#heredoc"},{"include":"#numbers"},{"name":"keyword.other.clone.php","match":"(?i)\\bclone\\b"},{"name":"keyword.operator.string.php","match":"\\.=?"},{"name":"keyword.operator.key.php","match":"=\u003e"},{"match":"(?i)(\\=)(\u0026)|(\u0026)(?=[$a-z_])","captures":{"1":{"name":"keyword.operator.assignment.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"storage.modifier.reference.php"}}},{"name":"keyword.operator.error-control.php","match":"@"},{"name":"keyword.operator.comparison.php","match":"===|==|!==|!=|\u003c\u003e"},{"name":"keyword.operator.assignment.php","match":"=|\\+=|\\-=|\\*=|/=|%=|\u0026=|\\|=|\\^=|\u003c\u003c=|\u003e\u003e="},{"name":"keyword.operator.comparison.php","match":"\u003c=\u003e|\u003c=|\u003e=|\u003c|\u003e"},{"name":"keyword.operator.increment-decrement.php","match":"\\-\\-|\\+\\+"},{"name":"keyword.operator.arithmetic.php","match":"\\-|\\+|\\*|/|%"},{"name":"keyword.operator.logical.php","match":"(?i)(!|\u0026\u0026|\\|\\|)|\\b(and|or|xor|as)\\b"},{"include":"#function-call"},{"name":"keyword.operator.bitwise.php","match":"\u003c\u003c|\u003e\u003e|~|\\^|\u0026|\\|"},{"begin":"(?i)\\b(instanceof)\\s+(?=[\\\\$a-z_])","end":"(?=[^\\\\$a-z0-9_\\x{7f}-\\x{ff}])","patterns":[{"include":"#class-name"},{"include":"#variable-name"}],"beginCaptures":{"1":{"name":"keyword.operator.type.php"}}},{"include":"#instantiation"},{"match":"(?i)(goto)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)","captures":{"1":{"name":"keyword.control.goto.php"},"2":{"name":"support.other.php"}}},{"match":"(?i)^\\s*([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*:(?!:)","captures":{"1":{"name":"entity.name.goto-label.php"}}},{"include":"#string-backtick"},{"begin":"{","end":"}|(?=\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.curly.php"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.php"}}},{"begin":"\\[","end":"\\]|(?=\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.section.array.begin.php"}},"endCaptures":{"0":{"name":"punctuation.section.array.end.php"}}},{"begin":"\\(","end":"\\)|(?=\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.php"}}},{"include":"#constants"},{"name":"punctuation.separator.delimiter.php","match":","}]},"namespace":{"name":"support.other.namespace.php","begin":"(?i)(?:(namespace)|[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(\\\\)(?=.*?[^a-z0-9_\\x{7f}-\\x{ff}\\\\])","end":"(?i)(?=[a-z0-9_\\x{7f}-\\x{ff}]*[^a-z0-9_\\x{7f}-\\x{ff}\\\\])","patterns":[{"name":"punctuation.separator.inheritance.php","match":"\\\\"}],"beginCaptures":{"1":{"name":"variable.language.namespace.php"},"2":{"name":"punctuation.separator.inheritance.php"}}},"nowdoc_interior":{"patterns":[{"name":"meta.embedded.html","contentName":"text.html","begin":"(\u003c\u003c\u003c)\\s*'(HTML)'(\\s*)$","end":"^(\\2)\\b","patterns":[{"include":"text.html.basic"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}}},{"name":"meta.embedded.xml","contentName":"text.xml","begin":"(\u003c\u003c\u003c)\\s*'(XML)'(\\s*)$","end":"^(\\2)\\b","patterns":[{"include":"text.xml"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}}},{"name":"meta.embedded.sql","contentName":"source.sql","begin":"(\u003c\u003c\u003c)\\s*'(SQL)'(\\s*)$","end":"^(\\2)\\b","patterns":[{"include":"source.sql"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}}},{"name":"meta.embedded.js","contentName":"source.js","begin":"(\u003c\u003c\u003c)\\s*'(JAVASCRIPT|JS)'(\\s*)$","end":"^(\\2)\\b","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}}},{"name":"meta.embedded.json","contentName":"source.json","begin":"(\u003c\u003c\u003c)\\s*'(JSON)'(\\s*)$","end":"^(\\2)\\b","patterns":[{"include":"source.json"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}}},{"name":"meta.embedded.css","contentName":"source.css","begin":"(\u003c\u003c\u003c)\\s*'(CSS)'(\\s*)$","end":"^(\\2)\\b","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}}},{"contentName":"string.regexp.nowdoc.php","begin":"(\u003c\u003c\u003c)\\s*'(REGEXP?)'(\\s*)$","end":"^(\\2)\\b","patterns":[{"name":"constant.character.escape.regex.php","match":"(\\\\){1,2}[.$^\\[\\]{}]"},{"name":"string.regexp.arbitrary-repitition.php","match":"({)\\d+(,\\d+)?(})","captures":{"1":{"name":"punctuation.definition.arbitrary-repitition.php"},"3":{"name":"punctuation.definition.arbitrary-repitition.php"}}},{"name":"string.regexp.character-class.php","begin":"\\[(?:\\^?\\])?","end":"\\]","patterns":[{"name":"constant.character.escape.php","match":"\\\\[\\\\'\\[\\]]"}],"captures":{"0":{"name":"punctuation.definition.character-class.php"}}},{"name":"keyword.operator.regexp.php","match":"[$^+*]"},{"name":"comment.line.number-sign.php","begin":"(?i)(?\u003c=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{ff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.comment.php"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.php"}}}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}}},{"begin":"(?i)(\u003c\u003c\u003c)\\s*'([a-z_\\x{7f}-\\x{ff}]+[a-z0-9_\\x{7f}-\\x{ff}]*)'(\\s*)","end":"^(\\2)\\b","beginCaptures":{"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"endCaptures":{"1":{"name":"keyword.operator.nowdoc.php"}}}]},"numbers":{"patterns":[{"name":"constant.numeric.hex.php","match":"0[xX][0-9a-fA-F]+"},{"name":"constant.numeric.binary.php","match":"0[bB][01]+"},{"name":"constant.numeric.octal.php","match":"0[0-7]+"},{"name":"constant.numeric.decimal.php","match":"(?x)\n(?:\n [0-9]*(\\.)[0-9]+(?:[eE][+-]?[0-9]+)?|\n [0-9]+(\\.)[0-9]*(?:[eE][+-]?[0-9]+)?|\n [0-9]+[eE][+-]?[0-9]+\n)","captures":{"1":{"name":"punctuation.separator.decimal.period.php"},"2":{"name":"punctuation.separator.decimal.period.php"}}},{"name":"constant.numeric.decimal.php","match":"0|[1-9][0-9]*"}]},"object":{"patterns":[{"begin":"(-\u003e)(\\$?{)","end":"}","patterns":[{"include":"#language"}],"beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"punctuation.definition.variable.php"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.php"}}},{"name":"meta.method-call.php","begin":"(?i)(-\u003e)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()","end":"\\)|(?=\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"entity.name.function.php"},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}}},{"match":"(?i)(-\u003e)((\\$+)?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?","captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"variable.other.property.php"},"3":{"name":"punctuation.definition.variable.php"}}}]},"parameter-default-types":{"patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#string-backtick"},{"include":"#variables"},{"name":"keyword.operator.key.php","match":"=\u003e"},{"name":"keyword.operator.assignment.php","match":"="},{"name":"storage.modifier.reference.php","match":"\u0026(?=\\s*\\$)"},{"name":"meta.array.php","begin":"(array)\\s*(\\()","end":"\\)","patterns":[{"include":"#parameter-default-types"}],"beginCaptures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.php"}}},{"include":"#instantiation"},{"begin":"(?xi)\n(?=[a-z0-9_\\x{7f}-\\x{ff}\\\\]+(::)\n ([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?\n)","end":"(?i)(::)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?","patterns":[{"include":"#class-name"}],"endCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"constant.other.class.php"}}},{"include":"#constants"}]},"php_doc":{"patterns":[{"name":"invalid.illegal.missing-asterisk.phpdoc.php","match":"^(?!\\s*\\*).*?(?:(?=\\*\\/)|$\\n?)"},{"match":"^\\s*\\*\\s*(@access)\\s+((public|private|protected)|(.+))\\s*$","captures":{"1":{"name":"keyword.other.phpdoc.php"},"3":{"name":"storage.modifier.php"},"4":{"name":"invalid.illegal.wrong-access-type.phpdoc.php"}}},{"match":"(@xlink)\\s+(.+)\\s*$","captures":{"1":{"name":"keyword.other.phpdoc.php"},"2":{"name":"markup.underline.link.php"}}},{"contentName":"meta.other.type.phpdoc.php","begin":"(@(?:global|param|property(-(read|write))?|return|throws|var))\\s+(?=[A-Za-z_\\x{7f}-\\x{ff}\\\\]|\\()","end":"(?=\\s|\\*/)","patterns":[{"include":"#php_doc_types_array_multiple"},{"include":"#php_doc_types_array_single"},{"include":"#php_doc_types"}],"beginCaptures":{"1":{"name":"keyword.other.phpdoc.php"}}},{"name":"keyword.other.phpdoc.php","match":"(?x)\n@\n(\n api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|\n license|link|method|property(-(read|write))?|package|param|return|see|since|source|\n static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore\n)\\b"},{"name":"meta.tag.inline.phpdoc.php","match":"{(@(link|inherit[Dd]oc)).+?}","captures":{"1":{"name":"keyword.other.phpdoc.php"}}}]},"php_doc_types":{"match":"(?i)[a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*(\\|[a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*)*","captures":{"0":{"patterns":[{"name":"keyword.other.type.php","match":"(?x)\\b\n(string|integer|int|boolean|bool|float|double|object|mixed\n|array|resource|void|null|callback|false|true|self)\\b"},{"include":"#class-name"},{"name":"punctuation.separator.delimiter.php","match":"\\|"}]}}},"php_doc_types_array_multiple":{"begin":"\\(","end":"(\\))(\\[\\])|(?=\\*/)","patterns":[{"include":"#php_doc_types_array_multiple"},{"include":"#php_doc_types_array_single"},{"include":"#php_doc_types"},{"name":"punctuation.separator.delimiter.php","match":"\\|"}],"beginCaptures":{"0":{"name":"punctuation.definition.type.begin.bracket.round.phpdoc.php"}},"endCaptures":{"1":{"name":"punctuation.definition.type.end.bracket.round.phpdoc.php"},"2":{"name":"keyword.other.array.phpdoc.php"}}},"php_doc_types_array_single":{"match":"(?i)([a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*)(\\[\\])","captures":{"1":{"patterns":[{"include":"#php_doc_types"}]},"2":{"name":"keyword.other.array.phpdoc.php"}}},"regex-double-quoted":{"name":"string.regexp.double-quoted.php","begin":"\"/(?=(\\\\.|[^\"/])++/[imsxeADSUXu]*\")","end":"(/)([imsxeADSUXu]*)(\")","patterns":[{"name":"constant.character.escape.regex.php","match":"(\\\\){1,2}[.$^\\[\\]{}]"},{"include":"#interpolation"},{"name":"string.regexp.arbitrary-repetition.php","match":"({)\\d+(,\\d+)?(})","captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.php"},"3":{"name":"punctuation.definition.arbitrary-repetition.php"}}},{"name":"string.regexp.character-class.php","begin":"\\[(?:\\^?\\])?","end":"\\]","patterns":[{"include":"#interpolation"}],"captures":{"0":{"name":"punctuation.definition.character-class.php"}}},{"name":"keyword.operator.regexp.php","match":"[$^+*]"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}}},"regex-single-quoted":{"name":"string.regexp.single-quoted.php","begin":"'/(?=(\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)|[^'/])++/[imsxeADSUXu]*')","end":"(/)([imsxeADSUXu]*)(')","patterns":[{"include":"#single_quote_regex_escape"},{"name":"string.regexp.arbitrary-repetition.php","match":"({)\\d+(,\\d+)?(})","captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.php"},"3":{"name":"punctuation.definition.arbitrary-repetition.php"}}},{"name":"string.regexp.character-class.php","begin":"\\[(?:\\^?\\])?","end":"\\]","captures":{"0":{"name":"punctuation.definition.character-class.php"}}},{"name":"keyword.operator.regexp.php","match":"[$^+*]"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}}},"scope-resolution":{"patterns":[{"match":"(?i)\\b([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(?=\\s*::)","captures":{"1":{"patterns":[{"name":"storage.type.php","match":"\\b(self|static|parent)\\b"},{"include":"#class-name"},{"include":"#variable-name"}]}}},{"name":"meta.method-call.static.php","begin":"(?i)(::)\\s*([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()","end":"\\)|(?=\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"entity.name.function.php"},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}}},{"match":"(?i)(::)\\s*(class)\\b","captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"keyword.other.class.php"}}},{"match":"(?xi)\n(::)\\s*\n(?:\n ((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable\n |\n ([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Constant\n)?","captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"variable.other.class.php"},"3":{"name":"punctuation.definition.variable.php"},"4":{"name":"constant.other.class.php"}}}]},"single_quote_regex_escape":{"name":"constant.character.escape.php","match":"\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)"},"sql-string-double-quoted":{"name":"string.quoted.double.sql.php","contentName":"source.sql.embedded.php","begin":"\"\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)","end":"\"","patterns":[{"name":"comment.line.number-sign.sql","match":"(#)(\\\\\"|[^\"])*(?=\"|$)","captures":{"1":{"name":"punctuation.definition.comment.sql"}}},{"name":"comment.line.double-dash.sql","match":"(--)(\\\\\"|[^\"])*(?=\"|$)","captures":{"1":{"name":"punctuation.definition.comment.sql"}}},{"name":"constant.character.escape.php","match":"\\\\[\\\\\"`']"},{"name":"string.quoted.single.unclosed.sql","match":"'(?=((\\\\')|[^'\"])*(\"|$))"},{"name":"string.quoted.other.backtick.unclosed.sql","match":"`(?=((\\\\`)|[^`\"])*(\"|$))"},{"name":"string.quoted.single.sql","begin":"'","end":"'","patterns":[{"include":"#interpolation"}]},{"name":"string.quoted.other.backtick.sql","begin":"`","end":"`","patterns":[{"include":"#interpolation"}]},{"include":"#interpolation"},{"include":"source.sql"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}}},"sql-string-single-quoted":{"name":"string.quoted.single.sql.php","contentName":"source.sql.embedded.php","begin":"'\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)","end":"'","patterns":[{"name":"comment.line.number-sign.sql","match":"(#)(\\\\'|[^'])*(?='|$)","captures":{"1":{"name":"punctuation.definition.comment.sql"}}},{"name":"comment.line.double-dash.sql","match":"(--)(\\\\'|[^'])*(?='|$)","captures":{"1":{"name":"punctuation.definition.comment.sql"}}},{"name":"constant.character.escape.php","match":"\\\\[\\\\'`\"]"},{"name":"string.quoted.other.backtick.unclosed.sql","match":"`(?=((\\\\`)|[^`'])*('|$))"},{"name":"string.quoted.double.unclosed.sql","match":"\"(?=((\\\\\")|[^\"'])*('|$))"},{"include":"source.sql"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}}},"string-backtick":{"name":"string.interpolated.php","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.php","match":"\\\\."},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}}},"string-double-quoted":{"name":"string.quoted.double.php","begin":"\"","end":"\"","patterns":[{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}}},"string-single-quoted":{"name":"string.quoted.single.php","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.php","match":"\\\\[\\\\']"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}}},"strings":{"patterns":[{"include":"#regex-double-quoted"},{"include":"#sql-string-double-quoted"},{"include":"#string-double-quoted"},{"include":"#regex-single-quoted"},{"include":"#sql-string-single-quoted"},{"include":"#string-single-quoted"}]},"support":{"patterns":[{"name":"support.function.apc.php","match":"(?xi)\n\\b\napc_(\n store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|\n exists|fetch|load_constants|add|bin_(dump|load)(file)?\n)\\b"},{"name":"support.function.array.php","match":"(?xi)\\b\n(\n shuffle|sizeof|sort|next|nat(case)?sort|count|compact|current|in_array|usort|uksort|uasort|\n pos|prev|end|each|extract|ksort|key(_exists)?|krsort|list|asort|arsort|rsort|reset|range|\n array(_(shift|sum|splice|search|slice|chunk|change_key_case|count_values|column|combine|\n (diff|intersect)(_(u)?(key|assoc))?|u(diff|intersect)(_(u)?assoc)?|unshift|unique|\n pop|push|pad|product|values|keys|key_exists|filter|fill(_keys)?|flip|walk(_recursive)?|\n reduce|replace(_recursive)?|reverse|rand|multisort|merge(_recursive)?|map)?)\n)\\b"},{"name":"support.function.basic_functions.php","match":"(?xi)\\b\n(\n show_source|sys_getloadavg|sleep|highlight_(file|string)|constant|connection_(aborted|status)|\n time_(nanosleep|sleep_until)|ignore_user_abort|die|define(d)?|usleep|uniqid|unpack|__halt_compiler|\n php_(check_syntax|strip_whitespace)|pack|eval|exit|get_browser\n)\\b"},{"name":"support.function.bcmath.php","match":"(?i)\\bbc(scale|sub|sqrt|comp|div|pow(mod)?|add|mod|mul)\\b"},{"name":"support.function.blenc.php","match":"(?i)\\bblenc_encrypt\\b"},{"name":"support.function.bz2.php","match":"(?i)\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\b"},{"name":"support.function.calendar.php","match":"(?xi)\\b\n(\n (French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|\n jdto(unix|jewish)|easter_(date|days)|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek)\n)\\b"},{"name":"support.function.classobj.php","match":"(?xi)\\b\n(\n class_alias|all_user_method(_array)?|is_(a|subclass_of)|__autoload|(class|interface|method|property|trait)_exists|\n get_(class(_(vars|methods))?|(called|parent)_class|object_vars|declared_(classes|interfaces|traits))\n)\\b"},{"name":"support.function.com.php","match":"(?xi)\\b\n(\n com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|\n variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|\n pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul)\n)\\b"},{"name":"support.function.construct.php","begin":"(?i)\\b(isset|unset|eval|empty|list)\\b"},{"name":"support.function.construct.output.php","match":"(?i)\\b(print|echo)\\b"},{"name":"support.function.ctype.php","match":"(?i)\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\b"},{"name":"support.function.curl.php","match":"(?xi)\\b\ncurl_(\n share_(close|init|setopt)|strerror|setopt(_array)?|copy_handle|close|init|unescape|pause|escape|\n errno|error|exec|version|file_create|reset|getinfo|\n multi_(strerror|setopt|select|close|init|info_read|(add|remove)_handle|getcontent|exec)\n)\\b"},{"name":"support.function.datetime.php","match":"(?xi)\\b\n(\n strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|\n timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|\n date(_(sun(rise|set)|sun_info|sub|create(_(immutable_)?from_format)?|timestamp_(get|set)|timezone_(get|set)|time_set|\n isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_(get|set)|date_set|\n parse(_from_format)?|format|add|get_last_errors|modify))?|\n localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime\n)\\b"},{"name":"support.function.dba.php","match":"(?i)\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\b"},{"name":"support.function.dbx.php","match":"(?i)\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\b"},{"name":"support.function.dir.php","match":"(?i)\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\b"},{"name":"support.function.eio.php","match":"(?xi)\\b\neio_(\n sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|\n seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|\n event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|\n read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy\n)\\b"},{"name":"support.function.enchant.php","match":"(?xi)\\b\nenchant_(\n dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|\n broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error)\n)\\b"},{"name":"support.function.ereg.php","match":"(?i)\\bsplit(i)?|sql_regcase|ereg(i)?(_replace)?\\b"},{"name":"support.function.errorfunc.php","match":"(?i)\\b((restore|set)_(error_handler|exception_handler)|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|get_last))\\b"},{"name":"support.function.exec.php","match":"(?i)\\bshell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec\\b"},{"name":"support.function.exif.php","match":"(?i)\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\b"},{"name":"support.function.fann.php","match":"(?xi)\\b\nfann_(\n (duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|(input|output)(_train_data)?)|\n set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|\n cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|\n output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|\n (max|min)_(cand|out)_epochs)|\n callback|training_algorithm|train_(error|stop)_function|(input|output)_scaling_params|error_log|\n quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|\n activation_(function|steepness)(_(hidden|layer|output))?|\n rprop_((decrease|increase)_factor|delta_(max|min|zero)))|\n save(_train)?|num_(input|output)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|\n create_((sparse|shortcut|standard)(_array)?|train(_from_callback)?|from_file)|\n test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|\n print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|\n get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|\n network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|\n cascade_(num_(candidates|candidate_groups)|(candidate|output)_(change_fraction|limit|stagnation_epochs)|\n weight_multiplier|activation_(functions|steepnesses)(_count)?|(max|min)_(cand|out)_epochs)|\n total_(connections|neurons)|training_algorithm|train_(error|stop)_function|err(no|str)|\n quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|\n rprop_((decrease|increase)_factor|delta_(max|min|zero)))\n)\\b"},{"name":"support.function.file.php","match":"(?xi)\\b\n(\n symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|\n is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|\n dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|\n fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|\n f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|\n rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename\n)\\b"},{"name":"support.function.fileinfo.php","match":"(?i)\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\b"},{"name":"support.function.filter.php","match":"(?i)\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\b"},{"name":"support.function.fpm.php","match":"(?i)\\bfastcgi_finish_request\\b"},{"name":"support.function.funchand.php","match":"(?i)\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\b"},{"name":"support.function.gettext.php","match":"(?i)\\b((n)?gettext|textdomain|d((n)?gettext|c(n)?gettext)|bind(textdomain|_textdomain_codeset))\\b"},{"name":"support.function.gmp.php","match":"(?xi)\\b\ngmp_(\n scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|\n intval|init|invert|import|or|div(exact)?|div_(q|qr|r)|jacobi|popcount|pow(m)?|perfect_square|\n prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range))?|gcd(ext)?|xor|mod|mul\n)\\b"},{"name":"support.function.hash.php","match":"(?i)\\bhash(_(hmac(_file)?|copy|init|update(_(file|stream))?|pbkdf2|equals|file|final|algos))?\\b"},{"name":"support.function.http.php","match":"(?xi)\\b\n(\n http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|\n negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|\n inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|\n parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|\n get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|\n ob_(etag|deflate|inflate)handler\n)\\b"},{"name":"support.function.iconv.php","match":"(?i)\\b(iconv(_(str(pos|len|rpos)|substr|(get|set)_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\b"},{"name":"support.function.iisfunc.php","match":"(?i)\\biis_((start|stop)_(service|server)|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\b"},{"name":"support.function.image.php","match":"(?xi)\\b\n(\n iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|\n image(s[xy]|scale|(char|string)(up)?|set(style|thickness|tile|interpolation|pixel|brush)|savealpha|\n convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|\n color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|\n crop(auto)?|create(truecolor|from(string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|xpm|xbm))?|\n types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|\n _type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|\n palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|\n filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|\n antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd(2)?|gammacorrect|\n grab(screen|window)|xbm)\n)\\b"},{"name":"support.function.info.php","match":"(?xi)\\b\n(\n sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_(get|set)_process_title|\n ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|\n php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|\n assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|\n get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|\n magic_quotes_(gpc|runtime)|required_files|resources)|\n get(env|lastmod|rusage|my(inode|[gup]id))|\n memory_get_(peak_)?usage|main|magic_quotes_runtime\n)\\b"},{"name":"support.function.interbase.php","match":"(?xi)\\b\nibase_(\n set_event_handler|service_(attach|detach)|server_info|num_(fields|params)|name_result|connect|\n commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|\n execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|\n add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|\n blob_(cancel|close|create|import|info|open|echo|add|get)\n)\\b"},{"name":"support.function.intl.php","match":"(?xi)\\b\n(\n normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|\n numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|\n get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|\n collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|\n get_(strength|sort_key|error_(code|message)|locale|attribute))|\n transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|\n intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|\n datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|\n get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|\n locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|\n get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|\n resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|\n grapheme_(str(i?str|r?i?pos|len)|substr|extract)|\n msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale))\n)\\b"},{"name":"support.function.json.php","match":"(?i)\\bjson_(decode|encode|last_error(_msg)?)\\b"},{"name":"support.function.ldap.php","match":"(?xi)\\b\nldap_(\n start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|\n connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|\n dn2ufn|delete|unbind|parse_(reference|result)|escape|errno|err2str|error|explode_dn|bind|\n free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|\n mod_(add|del|replace)\n)\\b"},{"name":"support.function.libxml.php","match":"(?i)\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\b"},{"name":"support.function.mail.php","match":"(?i)\\b(ezmlm_hash|mail)\\b"},{"name":"support.function.math.php","match":"(?xi)\\b\n(\n (a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|\n pi|pow|exp(m1)?|floor|fmod|lcg_value|log(1(p|0))?|atan2|abs|round|rand|rad2deg|getrandmax|\n mt_(srand|rand|getrandmax)|max|min|bindec|base_convert\n)\\b"},{"name":"support.function.mbstring.php","match":"(?xi)\\b\nmb_(\n str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos)|\n substitute_character|substr(_count)?|split|send_mail|http_(input|output)|check_encoding|\n convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|\n detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|\n ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|\n list_encodings|language|regex_(set_options|encoding)|get_info\n)\\b"},{"name":"support.function.mcrypt.php","match":"(?xi)\\b\n(\n mcrypt_(\n cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|\n enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|\n get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|\n get_(cipher_name|(block|iv|key)_size)|\n module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|\n get_(supported_key_sizes|algo_(block|key)_size)))|\n mdecrypt_generic\n)\\b"},{"name":"support.function.memcache.php","match":"(?i)\\bmemcache_debug\\b"},{"name":"support.function.mhash.php","match":"(?i)\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\b"},{"name":"support.function.mongo.php","match":"(?i)\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_(decode|encode))\\b"},{"name":"support.function.mysql.php","match":"(?xi)\\b\nmysql_(\n stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|\n thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|\n errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|\n free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|\n get_(client|host|proto|server)_info\n)\\b"},{"name":"support.function.mysqli.php","match":"(?xi)\\b\nmysqli_(\n ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|\n stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|\n attr_(get|set)|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|\n select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|\n client_encoding|close|thread_safe|init|options|(enable|disable)_(reads_from_master|rpl_parse)|\n dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|\n embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|\n fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|\n release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|\n get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|\n master_query|bind_(param|result)|begin_transaction\n)\\b"},{"name":"support.function.mysqlnd-memcache.php","match":"(?i)\\bmysqlnd_memcache_(set|get_config)\\b"},{"name":"support.function.mysqlnd-ms.php","match":"(?i)\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\b"},{"name":"support.function.mysqlnd-qc.php","match":"(?i)\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\b"},{"name":"support.function.mysqlnd-uh.php","match":"(?i)\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\b"},{"name":"support.function.network.php","match":"(?xi)\\b\n(\n syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|\n headers_(list|sent)|header(_(register_callback|remove))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|\n openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|\n get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(name|number)|mxrr)\n)\\b"},{"name":"support.function.nsapi.php","match":"(?i)\\bnsapi_(virtual|response_headers|request_headers)\\b"},{"name":"support.function.oci8.php","match":"(?xi)\\b\n(\n oci(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|\n column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|\n closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|\n free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(on|off)|rowcount|rollback|\n result|bindbyname)|\n oci_(statement_type|set_(client_(info|identifier)|prefetch|edition|action|module_name)|server_version|\n num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|\n internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|\n field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|\n free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)\n)\\b"},{"name":"support.function.opcache.php","match":"(?i)\\bopcache_(compile_file|invalidate|reset|get_(status|configuration))\\b"},{"name":"support.function.openssl.php","match":"(?xi)\\b\nopenssl_(\n sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|\n cipher_iv_length|open|dh_compute_key|digest|decrypt|public_(decrypt|encrypt)|encrypt|error_string|\n pkcs12_(export(_to_file)?|read)|pkcs7_(sign|decrypt|encrypt|verify)|verify|free_key|random_pseudo_bytes|\n pkey_(new|export(_to_file)?|free|get_(details|public|private))|private_(decrypt|encrypt)|pbkdf2|\n get_((cipher|md)_methods|cert_locations|(public|private)key)|\n x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read)\n)\\b"},{"name":"support.function.output.php","match":"(?xi)\\b\n(\n output_(add_rewrite_var|reset_rewrite_vars)|flush|\n ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|\n get_(status|contents|clean|flush|length|level))\n)\\b"},{"name":"support.function.password.php","match":"(?i)\\bpassword_(hash|needs_rehash|verify|get_info)\\b"},{"name":"support.function.pcntl.php","match":"(?xi)\\b\npcntl_(\n strerror|signal(_dispatch)?|sig(timedwait|procmask|waitinfo)|setpriority|errno|exec|fork|\n w(stopsig|termsig|if(stopped|signaled|exited))|wait(pid)?|alarm|getpriority|get_last_error\n)\\b"},{"name":"support.function.pgsql.php","match":"(?xi)\\b\npg_(\n socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|\n num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|\n client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|\n unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|\n escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|\n field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|\n fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|\n lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|\n)\\b"},{"name":"support.function.php_apache.php","match":"(?i)\\b(virtual|getallheaders|apache_((get|set)env|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\b"},{"name":"support.function.php_dom.php","match":"(?i)\\bdom_import_simplexml\\b"},{"name":"support.function.php_ftp.php","match":"(?xi)\\b\nftp_(\n ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|\n delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir\n)\\b"},{"name":"support.function.php_imap.php","match":"(?xi)\\b\nimap_(\n (create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|\n num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|\n 8bit|unsubscribe|undelete|utf7_(decode|encode)|utf8|uid|ping|errors|expunge|qprint|gc|\n fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(scan|subscribed)|last_error|\n rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|\n msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64\n)\\b"},{"name":"support.function.php_mssql.php","match":"(?xi)\\b\nmssql_(\n select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|\n field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|\n rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind\n)\\b"},{"name":"support.function.php_odbc.php","match":"(?xi)\\b\nodbc_(\n statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|\n cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|\n prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|\n fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode\n)\\b"},{"name":"support.function.php_pcre.php","match":"(?i)\\bpreg_(split|quote|filter|last_error|replace(_callback)?|grep|match(_all)?)\\b"},{"name":"support.function.php_spl.php","match":"(?i)\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\b"},{"name":"support.function.php_zip.php","match":"(?i)\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\b"},{"name":"support.function.posix.php","match":"(?xi)\\b\nposix_(\n strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|access|\n get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|\n get_last_error|mknod|mkfifo\n)\\b"},{"name":"support.function.proctitle.php","match":"(?i)\\bset(thread|proc)title\\b"},{"name":"support.function.pspell.php","match":"(?xi)\\b\npspell_(\n store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|\n config_(save_repl|create|ignore|(data|dict)_dir|personal|runtogether|repl|mode)|add_to_(session|personal)\n)\\b"},{"name":"support.function.readline.php","match":"(?i)\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\b"},{"name":"support.function.recode.php","match":"(?i)\\brecode(_(string|file))?\\b"},{"name":"support.function.rrd.php","match":"(?i)\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\b"},{"name":"support.function.sem.php","match":"(?xi)\\b\n(\n shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|\n msg_((get|remove|set|stat)_queue|send|queue_exists|receive)\n)\\b"},{"name":"support.function.session.php","match":"(?xi)\\b\nsession_(\n status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|\n is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|\n regenerate_id|get_cookie_params|module_name\n)\\b"},{"name":"support.function.shmop.php","match":"(?i)\\bshmop_(size|close|open|delete|write|read)\\b"},{"name":"support.function.simplexml.php","match":"(?i)\\bsimplexml_(import_dom|load_(string|file))\\b"},{"name":"support.function.snmp.php","match":"(?xi)\\b\n(\n snmp(walk(oid)?|realwalk|get(next)?|set)|\n snmp_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|\n get_(valueretrieval|quick_print))|\n snmp[23]_(set|walk|real_walk|get(next)?)\n)\\b"},{"name":"support.function.soap.php","match":"(?i)\\b(is_soap_fault|use_soap_error_handler)\\b"},{"name":"support.function.sockets.php","match":"(?xi)\\b\nsocket_(\n shutdown|strerror|send(to|msg)?|set_((non)?block|option)|select|connect|close|clear_error|bind|\n create(_(pair|listen))?|cmsg_space|import_stream|write|listen|last_error|accept|recv(from|msg)?|\n read|get(peer|sock)name|get_option\n)\\b"},{"name":"support.function.sqlite.php","match":"(?xi)\\b\nsqlite_(\n single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|\n create_(aggregate|function)|open|unbuffered_query|udf_(decode|encode)_binary|popen|prev|\n escape_string|error_string|exec|valid|key|query|field_name|factory|\n fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|\n last_(insert_rowid|error)|array_query|rewind|busy_timeout\n)\\b"},{"name":"support.function.sqlsrv.php","match":"(?xi)\\b\nsqlsrv_(\n send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|\n client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|\n free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction\n)\\b"},{"name":"support.function.stats.php","match":"(?xi)\\b\nstats_(\n harmonic_mean|covariance|standard_deviation|skew|\n cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|\n logistic|laplace|gamma|binomial|beta)|\n stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|\n dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|\n weibull|logistic|laplace|gamma|beta)|\n den_uniform|variance|kurtosis|absolute_deviation|\n rand_(setall|phrase_to_seeds|ranf|get_seeds|\n gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|\n i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta))\n)\\b"},{"name":"support.function.streamsfuncs.php","match":"(?xi)\\b\n(\n set_socket_blocking|\n stream_(socket_(shutdown|sendto|server|client|pair|enable_crypto|accept|recvfrom|get_name)|\n set_(chunk_size|timeout|(read|write)_buffer|blocking)|select|notification_callback|supports_lock|\n context_(set_(option|default|params)|create|get_(options|default|params))|copy_to_stream|is_local|\n encoding|filter_(append|prepend|register|remove)|wrapper_((un)?register|restore)|\n resolve_include_path|register_wrapper|get_(contents|transports|filters|wrappers|line|meta_data)|\n bucket_(new|prepend|append|make_writeable)\n )\n)\\b"},{"name":"support.function.string.php","match":"(?xi)\\b\n(\n money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|\n str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|\n str_(getcsv|ireplace|pad|repeat|replace|rot13|shuffle|split|word_count)|\n strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|\n html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|\n chop|chunk_split|chr|convert_(cyr_string|uu(decode|encode))|count_chars|crypt|crc32|trim|implode|ord|\n uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_(decode|encode)|\n quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table\n)\\b"},{"name":"support.function.sybase.php","match":"(?xi)\\b\nsybase_(\n set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|\n unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|\n affected_rows|result|get_last_message|min_(client|error|message|server)_severity\n)\\b"},{"name":"support.function.taint.php","match":"(?i)\\b(taint|is_tainted|untaint)\\b"},{"name":"support.function.tidy.php","match":"(?xi)\\b\n(\n tidy_((get|set)opt|set_encoding|save_config|config_count|clean_repair|is_(xhtml|xml)|diagnose|\n (access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|\n get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|\n ob_tidyhandler\n)\\b"},{"name":"support.function.tokenizer.php","match":"(?i)\\btoken_(name|get_all)\\b"},{"name":"support.function.trader.php","match":"(?xi)\\b\ntrader_(\n stoch(f|r|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|\n ht_(sine|trend(line|mode)|dc(period|phase)|phasor)|natr|cci|cos(h)?|correl|\n cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|\n hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|\n counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|\n identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|\n upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|\n piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|\n ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|\n gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|\n belthold|breakaway)|\n ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|\n plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|\n linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|ad|add|adx(r)?|apo|avgprice|\n aroon(osc)?|rsi|roc|rocp|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|\n minmax(index)?|mid(point|price)|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?\n)\\b"},{"name":"support.function.uopz.php","match":"(?i)\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\b"},{"name":"support.function.url.php","match":"(?i)\\b(http_build_query|(raw)?url(decode|encode)|parse_url|get_(headers|meta_tags)|base64_(decode|encode))\\b"},{"name":"support.function.var.php","match":"(?xi)\\b\n(\n strval|settype|serialize|(bool|double|float)val|debug_zval_dump|intval|import_request_variables|isset|\n is_(scalar|string|null|numeric|callable|int(eger)?|object|double|float|long|array|resource|real|bool)|\n unset|unserialize|print_r|empty|var_(dump|export)|gettype|get_(defined_vars|resource_type)\n)\\b"},{"name":"support.function.wddx.php","match":"(?i)\\bwddx_(serialize_(value|vars)|deserialize|packet_(start|end)|add_vars)\\b"},{"name":"support.function.xhprof.php","match":"(?i)\\bxhprof_(sample_)?(disable|enable)\\b"},{"name":"support.function.xml.php","match":"(?xi)\n\\b\n(\n utf8_(decode|encode)|\n xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|\n (character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|\n parse(_into_struct)?|parser_((get|set)_option|create(_ns)?|free)|error_string|\n get_(current_((column|line)_number|byte_index)|error_code))\n)\\b"},{"name":"support.function.xmlrpc.php","match":"(?xi)\\b\nxmlrpc_(\n server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|\n is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|(get|set)_type\n)\\b"},{"name":"support.function.xmlwriter.php","match":"(?xi)\\b\nxmlwriter_(\n (end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|\n (start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|\n full_end_element|flush|\n)\\b"},{"name":"support.function.zlib.php","match":"(?xi)\\b\n(\n zlib_(decode|encode|get_coding_type)|readgzfile|\n gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|\n write|rewind|read|getc|getss?)\n)\\b"},{"name":"support.function.alias.php","match":"(?i)\\bis_int(eger)?\\b"}]},"switch_statement":{"patterns":[{"match":"\\s+(?=switch\\b)"},{"name":"meta.switch-statement.php","begin":"\\bswitch\\b(?!\\s*\\(.*\\)\\s*:)","end":"}|(?=\\?\u003e)","patterns":[{"begin":"\\(","end":"\\)|(?=\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.definition.switch-expression.begin.bracket.round.php"}},"endCaptures":{"0":{"name":"punctuation.definition.switch-expression.end.bracket.round.php"}}},{"begin":"{","end":"(?=}|\\?\u003e)","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.definition.section.switch-block.begin.bracket.curly.php"}}}],"beginCaptures":{"0":{"name":"keyword.control.switch.php"}},"endCaptures":{"0":{"name":"punctuation.definition.section.switch-block.end.bracket.curly.php"}}}]},"use-inner":{"patterns":[{"include":"#comments"},{"begin":"(?i)\\b(as)\\s+","end":"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*","beginCaptures":{"1":{"name":"keyword.other.use-as.php"}},"endCaptures":{"0":{"name":"entity.other.alias.php"}}},{"include":"#class-name"},{"name":"punctuation.separator.delimiter.php","match":","}]},"var_basic":{"patterns":[{"name":"variable.other.php","match":"(?i)(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\b","captures":{"1":{"name":"punctuation.definition.variable.php"}}}]},"var_global":{"name":"variable.other.global.php","match":"(\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg(v|c))\\b","captures":{"1":{"name":"punctuation.definition.variable.php"}}},"var_global_safer":{"name":"variable.other.global.safer.php","match":"(\\$)((GLOBALS|_(ENV|SERVER|SESSION)))","captures":{"1":{"name":"punctuation.definition.variable.php"}}},"var_language":{"name":"variable.language.this.php","match":"(\\$)this\\b","captures":{"1":{"name":"punctuation.definition.variable.php"}}},"variable-name":{"patterns":[{"include":"#var_global"},{"include":"#var_global_safer"},{"match":"(?xi)\n((\\$)(?\u003cname\u003e[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*))\n(?:\n (-\u003e)(\\g\u003cname\u003e)\n |\n (\\[)(?:(\\d+)|((\\$)\\g\u003cname\u003e)|([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*))(\\])\n)?","captures":{"1":{"name":"variable.other.php"},"10":{"name":"string.unquoted.index.php"},"11":{"name":"punctuation.section.array.end.php"},"2":{"name":"punctuation.definition.variable.php"},"4":{"name":"keyword.operator.class.php"},"5":{"name":"variable.other.property.php"},"6":{"name":"punctuation.section.array.begin.php"},"7":{"name":"constant.numeric.index.php"},"8":{"name":"variable.other.index.php"},"9":{"name":"punctuation.definition.variable.php"}}},{"match":"(?i)((\\${)(?\u003cname\u003e[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(}))","captures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.php"},"4":{"name":"punctuation.definition.variable.php"}}}]},"variables":{"patterns":[{"include":"#var_language"},{"include":"#var_global"},{"include":"#var_global_safer"},{"include":"#var_basic"},{"begin":"\\${(?=.*?})","end":"}","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.php"}}}]}},"injections":{"text.html.php.blade - (meta.embedded | meta.tag | comment.block.blade), L:(text.html.php.blade meta.tag - (comment.block.blade | meta.embedded.block.blade)), L:(source.js.embedded.html - (comment.block.blade | meta.embedded.block.blade))":{"patterns":[{"include":"#blade"},{"begin":"(^\\s*)(?=\u003c\\?(?![^?]*\\?\u003e))","end":"(?!\\G)(\\s*$\\n)?","patterns":[{"name":"meta.embedded.block.php","contentName":"source.php","begin":"\u003c\\?(?i:php|=)?","end":"(\\?)\u003e","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}}}],"beginCaptures":{"0":{"name":"punctuation.whitespace.embedded.leading.php"}},"endCaptures":{"0":{"name":"punctuation.whitespace.embedded.trailing.php"}}},{"name":"meta.embedded.block.php","contentName":"source.php","begin":"\u003c\\?(?i:php|=)?(?![^?]*\\?\u003e)","end":"(\\?)\u003e","patterns":[{"include":"#language"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}}},{"name":"meta.embedded.line.php","begin":"\u003c\\?(?i:php|=)?","end":"\u003e","patterns":[{"name":"meta.special.empty-tag.php","match":"\\G(\\s*)((\\?))(?=\u003e)","captures":{"1":{"name":"source.php"},"2":{"name":"punctuation.section.embedded.end.php"},"3":{"name":"source.php"}}},{"contentName":"source.php","begin":"\\G","end":"(\\?)(?=\u003e)","patterns":[{"include":"#language"}],"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}}}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"}}}]}}}