prism-rails 1.19.0 → 1.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (383) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +22 -1
  4. data/lib/prism-rails/version.rb +1 -1
  5. data/vendor/assets/javascripts/languages/prism-abap.js +17 -17
  6. data/vendor/assets/javascripts/languages/prism-abnf.js +3 -3
  7. data/vendor/assets/javascripts/languages/prism-actionscript.js +6 -2
  8. data/vendor/assets/javascripts/languages/prism-ada.js +9 -6
  9. data/vendor/assets/javascripts/languages/prism-agda.js +24 -0
  10. data/vendor/assets/javascripts/languages/prism-al.js +25 -0
  11. data/vendor/assets/javascripts/languages/prism-antlr4.js +1 -1
  12. data/vendor/assets/javascripts/languages/prism-apacheconf.js +3 -3
  13. data/vendor/assets/javascripts/languages/prism-apex.js +65 -0
  14. data/vendor/assets/javascripts/languages/prism-apl.js +3 -3
  15. data/vendor/assets/javascripts/languages/prism-applescript.js +5 -8
  16. data/vendor/assets/javascripts/languages/prism-aql.js +14 -6
  17. data/vendor/assets/javascripts/languages/prism-arduino.js +5 -3
  18. data/vendor/assets/javascripts/languages/prism-arff.js +1 -1
  19. data/vendor/assets/javascripts/languages/prism-armasm.js +49 -0
  20. data/vendor/assets/javascripts/languages/prism-arturo.js +105 -0
  21. data/vendor/assets/javascripts/languages/prism-asciidoc.js +13 -13
  22. data/vendor/assets/javascripts/languages/prism-asm6502.js +15 -14
  23. data/vendor/assets/javascripts/languages/prism-asmatmel.js +43 -0
  24. data/vendor/assets/javascripts/languages/prism-aspnet.js +6 -6
  25. data/vendor/assets/javascripts/languages/prism-autohotkey.js +31 -14
  26. data/vendor/assets/javascripts/languages/prism-autoit.js +16 -16
  27. data/vendor/assets/javascripts/languages/prism-avisynth.js +188 -0
  28. data/vendor/assets/javascripts/languages/prism-avro-idl.js +50 -0
  29. data/vendor/assets/javascripts/languages/prism-awk.js +32 -0
  30. data/vendor/assets/javascripts/languages/prism-bash.js +60 -22
  31. data/vendor/assets/javascripts/languages/prism-basic.js +4 -4
  32. data/vendor/assets/javascripts/languages/prism-batch.js +10 -10
  33. data/vendor/assets/javascripts/languages/prism-bbcode.js +3 -1
  34. data/vendor/assets/javascripts/languages/prism-bbj.js +19 -0
  35. data/vendor/assets/javascripts/languages/prism-bicep.js +77 -0
  36. data/vendor/assets/javascripts/languages/prism-birb.js +23 -0
  37. data/vendor/assets/javascripts/languages/prism-bison.js +2 -2
  38. data/vendor/assets/javascripts/languages/prism-bqn.js +63 -0
  39. data/vendor/assets/javascripts/languages/prism-brainfuck.js +1 -1
  40. data/vendor/assets/javascripts/languages/prism-brightscript.js +2 -2
  41. data/vendor/assets/javascripts/languages/prism-bro.js +9 -20
  42. data/vendor/assets/javascripts/languages/prism-bsl.js +75 -0
  43. data/vendor/assets/javascripts/languages/prism-c.js +53 -14
  44. data/vendor/assets/javascripts/languages/prism-cfscript.js +44 -0
  45. data/vendor/assets/javascripts/languages/prism-chaiscript.js +60 -0
  46. data/vendor/assets/javascripts/languages/prism-cil.js +5 -5
  47. data/vendor/assets/javascripts/languages/prism-cilkc.js +8 -0
  48. data/vendor/assets/javascripts/languages/prism-cilkcpp.js +9 -0
  49. data/vendor/assets/javascripts/languages/prism-clike.js +7 -6
  50. data/vendor/assets/javascripts/languages/prism-clojure.js +20 -5
  51. data/vendor/assets/javascripts/languages/prism-cmake.js +7 -7
  52. data/vendor/assets/javascripts/languages/prism-cobol.js +53 -0
  53. data/vendor/assets/javascripts/languages/prism-coffeescript.js +79 -75
  54. data/vendor/assets/javascripts/languages/prism-concurnas.js +33 -20
  55. data/vendor/assets/javascripts/languages/prism-cooklang.js +146 -0
  56. data/vendor/assets/javascripts/languages/prism-coq.js +54 -0
  57. data/vendor/assets/javascripts/languages/prism-core.js +1087 -451
  58. data/vendor/assets/javascripts/languages/prism-cpp.js +99 -21
  59. data/vendor/assets/javascripts/languages/prism-crystal.js +36 -30
  60. data/vendor/assets/javascripts/languages/prism-csharp.js +343 -58
  61. data/vendor/assets/javascripts/languages/prism-cshtml.js +199 -0
  62. data/vendor/assets/javascripts/languages/prism-csp.js +67 -16
  63. data/vendor/assets/javascripts/languages/prism-css-extras.js +27 -16
  64. data/vendor/assets/javascripts/languages/prism-css.js +28 -26
  65. data/vendor/assets/javascripts/languages/prism-csv.js +6 -0
  66. data/vendor/assets/javascripts/languages/prism-cue.js +84 -0
  67. data/vendor/assets/javascripts/languages/prism-cypher.js +36 -0
  68. data/vendor/assets/javascripts/languages/prism-d.js +15 -10
  69. data/vendor/assets/javascripts/languages/prism-dart.js +76 -21
  70. data/vendor/assets/javascripts/languages/prism-dataweave.js +41 -0
  71. data/vendor/assets/javascripts/languages/prism-dax.js +27 -0
  72. data/vendor/assets/javascripts/languages/prism-dhall.js +69 -0
  73. data/vendor/assets/javascripts/languages/prism-diff.js +15 -5
  74. data/vendor/assets/javascripts/languages/prism-django.js +8 -8
  75. data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +3 -3
  76. data/vendor/assets/javascripts/languages/prism-docker.js +98 -11
  77. data/vendor/assets/javascripts/languages/prism-dot.js +76 -0
  78. data/vendor/assets/javascripts/languages/prism-ebnf.js +2 -2
  79. data/vendor/assets/javascripts/languages/prism-editorconfig.js +26 -0
  80. data/vendor/assets/javascripts/languages/prism-eiffel.js +5 -8
  81. data/vendor/assets/javascripts/languages/prism-ejs.js +4 -2
  82. data/vendor/assets/javascripts/languages/prism-elixir.js +21 -12
  83. data/vendor/assets/javascripts/languages/prism-elm.js +16 -15
  84. data/vendor/assets/javascripts/languages/prism-erb.js +12 -7
  85. data/vendor/assets/javascripts/languages/prism-erlang.js +6 -6
  86. data/vendor/assets/javascripts/languages/prism-excel-formula.js +66 -0
  87. data/vendor/assets/javascripts/languages/prism-factor.js +8 -8
  88. data/vendor/assets/javascripts/languages/prism-false.js +32 -0
  89. data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +2 -2
  90. data/vendor/assets/javascripts/languages/prism-flow.js +5 -5
  91. data/vendor/assets/javascripts/languages/prism-fortran.js +6 -6
  92. data/vendor/assets/javascripts/languages/prism-fsharp.js +20 -12
  93. data/vendor/assets/javascripts/languages/prism-ftl.js +12 -11
  94. data/vendor/assets/javascripts/languages/prism-gap.js +54 -0
  95. data/vendor/assets/javascripts/languages/prism-gcode.js +4 -3
  96. data/vendor/assets/javascripts/languages/prism-gdscript.js +2 -2
  97. data/vendor/assets/javascripts/languages/prism-gedcom.js +6 -6
  98. data/vendor/assets/javascripts/languages/prism-gettext.js +43 -0
  99. data/vendor/assets/javascripts/languages/prism-gherkin.js +7 -7
  100. data/vendor/assets/javascripts/languages/prism-git.js +3 -3
  101. data/vendor/assets/javascripts/languages/prism-glsl.js +2 -15
  102. data/vendor/assets/javascripts/languages/prism-gml.js +5 -5
  103. data/vendor/assets/javascripts/languages/prism-gn.js +51 -0
  104. data/vendor/assets/javascripts/languages/prism-go-module.js +24 -0
  105. data/vendor/assets/javascripts/languages/prism-go.js +21 -5
  106. data/vendor/assets/javascripts/languages/prism-gradle.js +63 -0
  107. data/vendor/assets/javascripts/languages/prism-graphql.js +187 -7
  108. data/vendor/assets/javascripts/languages/prism-groovy.js +56 -58
  109. data/vendor/assets/javascripts/languages/prism-haml.js +23 -16
  110. data/vendor/assets/javascripts/languages/prism-handlebars.js +10 -7
  111. data/vendor/assets/javascripts/languages/prism-haskell.js +42 -14
  112. data/vendor/assets/javascripts/languages/prism-haxe.js +54 -21
  113. data/vendor/assets/javascripts/languages/prism-hcl.js +12 -14
  114. data/vendor/assets/javascripts/languages/prism-hlsl.js +20 -0
  115. data/vendor/assets/javascripts/languages/prism-hoon.js +14 -0
  116. data/vendor/assets/javascripts/languages/prism-hpkp.js +4 -10
  117. data/vendor/assets/javascripts/languages/prism-hsts.js +4 -10
  118. data/vendor/assets/javascripts/languages/prism-http.js +91 -17
  119. data/vendor/assets/javascripts/languages/prism-ichigojam.js +5 -5
  120. data/vendor/assets/javascripts/languages/prism-icon.js +2 -2
  121. data/vendor/assets/javascripts/languages/prism-icu-message-format.js +148 -0
  122. data/vendor/assets/javascripts/languages/prism-idris.js +19 -0
  123. data/vendor/assets/javascripts/languages/prism-iecst.js +32 -0
  124. data/vendor/assets/javascripts/languages/prism-ignore.js +23 -0
  125. data/vendor/assets/javascripts/languages/prism-inform7.js +10 -10
  126. data/vendor/assets/javascripts/languages/prism-ini.js +39 -8
  127. data/vendor/assets/javascripts/languages/prism-io.js +10 -19
  128. data/vendor/assets/javascripts/languages/prism-j.js +7 -4
  129. data/vendor/assets/javascripts/languages/prism-java.js +80 -19
  130. data/vendor/assets/javascripts/languages/prism-javadoc.js +59 -31
  131. data/vendor/assets/javascripts/languages/prism-javadoclike.js +2 -2
  132. data/vendor/assets/javascripts/languages/prism-javascript.js +98 -17
  133. data/vendor/assets/javascripts/languages/prism-javastacktrace.js +63 -14
  134. data/vendor/assets/javascripts/languages/prism-jexl.js +14 -0
  135. data/vendor/assets/javascripts/languages/prism-jolie.js +23 -37
  136. data/vendor/assets/javascripts/languages/prism-jq.js +8 -6
  137. data/vendor/assets/javascripts/languages/prism-js-extras.js +34 -3
  138. data/vendor/assets/javascripts/languages/prism-js-templates.js +5 -2
  139. data/vendor/assets/javascripts/languages/prism-jsdoc.js +15 -10
  140. data/vendor/assets/javascripts/languages/prism-json.js +13 -5
  141. data/vendor/assets/javascripts/languages/prism-json5.js +3 -3
  142. data/vendor/assets/javascripts/languages/prism-jsonp.js +1 -1
  143. data/vendor/assets/javascripts/languages/prism-jsstacktrace.js +49 -0
  144. data/vendor/assets/javascripts/languages/prism-jsx.js +123 -104
  145. data/vendor/assets/javascripts/languages/prism-julia.js +31 -9
  146. data/vendor/assets/javascripts/languages/prism-keepalived.js +51 -0
  147. data/vendor/assets/javascripts/languages/prism-keyman.js +43 -13
  148. data/vendor/assets/javascripts/languages/prism-kotlin.js +56 -30
  149. data/vendor/assets/javascripts/languages/prism-kumir.js +106 -0
  150. data/vendor/assets/javascripts/languages/prism-kusto.js +44 -0
  151. data/vendor/assets/javascripts/languages/prism-latex.js +6 -6
  152. data/vendor/assets/javascripts/languages/prism-latte.js +11 -17
  153. data/vendor/assets/javascripts/languages/prism-less.js +5 -5
  154. data/vendor/assets/javascripts/languages/prism-lilypond.js +3 -3
  155. data/vendor/assets/javascripts/languages/prism-linker-script.js +30 -0
  156. data/vendor/assets/javascripts/languages/prism-liquid.js +62 -8
  157. data/vendor/assets/javascripts/languages/prism-lisp.js +41 -41
  158. data/vendor/assets/javascripts/languages/prism-livescript.js +3 -3
  159. data/vendor/assets/javascripts/languages/prism-llvm.js +19 -0
  160. data/vendor/assets/javascripts/languages/prism-log.js +120 -0
  161. data/vendor/assets/javascripts/languages/prism-lolcode.js +9 -9
  162. data/vendor/assets/javascripts/languages/prism-lua.js +3 -3
  163. data/vendor/assets/javascripts/languages/prism-magma.js +35 -0
  164. data/vendor/assets/javascripts/languages/prism-makefile.js +17 -17
  165. data/vendor/assets/javascripts/languages/prism-markdown.js +103 -32
  166. data/vendor/assets/javascripts/languages/prism-markup-templating.js +2 -1
  167. data/vendor/assets/javascripts/languages/prism-markup.js +95 -12
  168. data/vendor/assets/javascripts/languages/prism-mata.js +50 -0
  169. data/vendor/assets/javascripts/languages/prism-matlab.js +4 -4
  170. data/vendor/assets/javascripts/languages/prism-maxscript.js +91 -0
  171. data/vendor/assets/javascripts/languages/prism-mel.js +24 -21
  172. data/vendor/assets/javascripts/languages/prism-mermaid.js +113 -0
  173. data/vendor/assets/javascripts/languages/prism-metafont.js +84 -0
  174. data/vendor/assets/javascripts/languages/prism-mizar.js +3 -3
  175. data/vendor/assets/javascripts/languages/prism-mongodb.js +97 -0
  176. data/vendor/assets/javascripts/languages/prism-monkey.js +16 -18
  177. data/vendor/assets/javascripts/languages/prism-moonscript.js +1 -1
  178. data/vendor/assets/javascripts/languages/prism-n1ql.js +14 -8
  179. data/vendor/assets/javascripts/languages/prism-n4js.js +2 -2
  180. data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +3 -3
  181. data/vendor/assets/javascripts/languages/prism-naniscript.js +170 -0
  182. data/vendor/assets/javascripts/languages/prism-nasm.js +4 -4
  183. data/vendor/assets/javascripts/languages/prism-neon.js +5 -6
  184. data/vendor/assets/javascripts/languages/prism-nevod.js +125 -0
  185. data/vendor/assets/javascripts/languages/prism-nginx.js +54 -11
  186. data/vendor/assets/javascripts/languages/prism-nim.js +23 -12
  187. data/vendor/assets/javascripts/languages/prism-nix.js +10 -13
  188. data/vendor/assets/javascripts/languages/prism-nsis.js +10 -9
  189. data/vendor/assets/javascripts/languages/prism-objectivec.js +7 -2
  190. data/vendor/assets/javascripts/languages/prism-ocaml.js +32 -15
  191. data/vendor/assets/javascripts/languages/prism-odin.js +99 -0
  192. data/vendor/assets/javascripts/languages/prism-opencl.js +19 -12
  193. data/vendor/assets/javascripts/languages/prism-openqasm.js +23 -0
  194. data/vendor/assets/javascripts/languages/prism-oz.js +11 -8
  195. data/vendor/assets/javascripts/languages/prism-parigp.js +4 -4
  196. data/vendor/assets/javascripts/languages/prism-parser.js +3 -3
  197. data/vendor/assets/javascripts/languages/prism-pascal.js +24 -8
  198. data/vendor/assets/javascripts/languages/prism-pascaligo.js +7 -7
  199. data/vendor/assets/javascripts/languages/prism-pcaxis.js +2 -2
  200. data/vendor/assets/javascripts/languages/prism-peoplecode.js +42 -0
  201. data/vendor/assets/javascripts/languages/prism-perl.js +153 -188
  202. data/vendor/assets/javascripts/languages/prism-php-extras.js +8 -5
  203. data/vendor/assets/javascripts/languages/prism-php.js +275 -63
  204. data/vendor/assets/javascripts/languages/prism-phpdoc.js +1 -1
  205. data/vendor/assets/javascripts/languages/prism-plant-uml.js +103 -0
  206. data/vendor/assets/javascripts/languages/prism-plsql.js +16 -25
  207. data/vendor/assets/javascripts/languages/prism-powerquery.js +55 -0
  208. data/vendor/assets/javascripts/languages/prism-powershell.js +16 -18
  209. data/vendor/assets/javascripts/languages/prism-processing.js +6 -9
  210. data/vendor/assets/javascripts/languages/prism-prolog.js +7 -8
  211. data/vendor/assets/javascripts/languages/prism-promql.js +99 -0
  212. data/vendor/assets/javascripts/languages/prism-properties.js +9 -5
  213. data/vendor/assets/javascripts/languages/prism-protobuf.js +16 -9
  214. data/vendor/assets/javascripts/languages/prism-psl.js +35 -0
  215. data/vendor/assets/javascripts/languages/prism-pug.js +28 -21
  216. data/vendor/assets/javascripts/languages/prism-puppet.js +6 -6
  217. data/vendor/assets/javascripts/languages/prism-pure.js +9 -6
  218. data/vendor/assets/javascripts/languages/prism-purebasic.js +70 -0
  219. data/vendor/assets/javascripts/languages/prism-purescript.js +31 -0
  220. data/vendor/assets/javascripts/languages/prism-python.js +12 -11
  221. data/vendor/assets/javascripts/languages/prism-q.js +4 -4
  222. data/vendor/assets/javascripts/languages/prism-qml.js +9 -6
  223. data/vendor/assets/javascripts/languages/prism-qore.js +5 -5
  224. data/vendor/assets/javascripts/languages/prism-qsharp.js +132 -0
  225. data/vendor/assets/javascripts/languages/prism-r.js +5 -5
  226. data/vendor/assets/javascripts/languages/prism-racket.js +18 -0
  227. data/vendor/assets/javascripts/languages/prism-reason.js +5 -8
  228. data/vendor/assets/javascripts/languages/prism-regex.js +54 -47
  229. data/vendor/assets/javascripts/languages/prism-rego.js +30 -0
  230. data/vendor/assets/javascripts/languages/prism-renpy.js +12 -12
  231. data/vendor/assets/javascripts/languages/prism-rescript.js +60 -0
  232. data/vendor/assets/javascripts/languages/prism-rest.js +16 -16
  233. data/vendor/assets/javascripts/languages/prism-rip.js +22 -16
  234. data/vendor/assets/javascripts/languages/prism-roboconf.js +3 -3
  235. data/vendor/assets/javascripts/languages/prism-robotframework.js +5 -5
  236. data/vendor/assets/javascripts/languages/prism-ruby.js +127 -88
  237. data/vendor/assets/javascripts/languages/prism-rust.js +120 -60
  238. data/vendor/assets/javascripts/languages/prism-sas.js +62 -38
  239. data/vendor/assets/javascripts/languages/prism-sass.js +15 -10
  240. data/vendor/assets/javascripts/languages/prism-scala.js +36 -3
  241. data/vendor/assets/javascripts/languages/prism-scheme.js +120 -33
  242. data/vendor/assets/javascripts/languages/prism-scss.js +11 -7
  243. data/vendor/assets/javascripts/languages/prism-shell-session.js +42 -26
  244. data/vendor/assets/javascripts/languages/prism-smali.js +87 -0
  245. data/vendor/assets/javascripts/languages/prism-smalltalk.js +12 -5
  246. data/vendor/assets/javascripts/languages/prism-smarty.js +91 -47
  247. data/vendor/assets/javascripts/languages/prism-sml.js +68 -0
  248. data/vendor/assets/javascripts/languages/prism-solidity.js +3 -1
  249. data/vendor/assets/javascripts/languages/prism-solution-file.js +2 -2
  250. data/vendor/assets/javascripts/languages/prism-soy.js +9 -9
  251. data/vendor/assets/javascripts/languages/prism-sparql.js +8 -8
  252. data/vendor/assets/javascripts/languages/prism-splunk-spl.js +3 -3
  253. data/vendor/assets/javascripts/languages/prism-sqf.js +7 -7
  254. data/vendor/assets/javascripts/languages/prism-sql.js +12 -4
  255. data/vendor/assets/javascripts/languages/prism-squirrel.js +47 -0
  256. data/vendor/assets/javascripts/languages/prism-stan.js +65 -0
  257. data/vendor/assets/javascripts/languages/prism-stata.js +76 -0
  258. data/vendor/assets/javascripts/languages/prism-stylus.js +48 -16
  259. data/vendor/assets/javascripts/languages/prism-supercollider.js +36 -0
  260. data/vendor/assets/javascripts/languages/prism-swift.js +143 -20
  261. data/vendor/assets/javascripts/languages/prism-systemd.js +74 -0
  262. data/vendor/assets/javascripts/languages/prism-t4-templating.js +2 -2
  263. data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -1
  264. data/vendor/assets/javascripts/languages/prism-tap.js +13 -11
  265. data/vendor/assets/javascripts/languages/prism-tcl.js +8 -8
  266. data/vendor/assets/javascripts/languages/prism-textile.js +55 -29
  267. data/vendor/assets/javascripts/languages/prism-toml.js +14 -8
  268. data/vendor/assets/javascripts/languages/prism-tremor.js +72 -0
  269. data/vendor/assets/javascripts/languages/prism-tsx.js +15 -2
  270. data/vendor/assets/javascripts/languages/prism-tt2.js +7 -7
  271. data/vendor/assets/javascripts/languages/prism-turtle.js +4 -4
  272. data/vendor/assets/javascripts/languages/prism-twig.js +38 -40
  273. data/vendor/assets/javascripts/languages/prism-typescript.js +59 -6
  274. data/vendor/assets/javascripts/languages/prism-typoscript.js +80 -0
  275. data/vendor/assets/javascripts/languages/prism-unrealscript.js +42 -0
  276. data/vendor/assets/javascripts/languages/prism-uorazor.js +48 -0
  277. data/vendor/assets/javascripts/languages/prism-uri.js +96 -0
  278. data/vendor/assets/javascripts/languages/prism-v.js +81 -0
  279. data/vendor/assets/javascripts/languages/prism-vala.js +20 -10
  280. data/vendor/assets/javascripts/languages/prism-vbnet.js +11 -4
  281. data/vendor/assets/javascripts/languages/prism-velocity.js +6 -6
  282. data/vendor/assets/javascripts/languages/prism-verilog.js +14 -8
  283. data/vendor/assets/javascripts/languages/prism-vhdl.js +7 -4
  284. data/vendor/assets/javascripts/languages/prism-vim.js +4 -4
  285. data/vendor/assets/javascripts/languages/prism-visual-basic.js +9 -14
  286. data/vendor/assets/javascripts/languages/prism-warpscript.js +21 -0
  287. data/vendor/assets/javascripts/languages/prism-wasm.js +3 -3
  288. data/vendor/assets/javascripts/languages/prism-web-idl.js +101 -0
  289. data/vendor/assets/javascripts/languages/prism-wgsl.js +69 -0
  290. data/vendor/assets/javascripts/languages/prism-wiki.js +4 -4
  291. data/vendor/assets/javascripts/languages/prism-wolfram.js +29 -0
  292. data/vendor/assets/javascripts/languages/prism-wren.js +100 -0
  293. data/vendor/assets/javascripts/languages/prism-xeora.js +8 -8
  294. data/vendor/assets/javascripts/languages/prism-xml-doc.js +40 -0
  295. data/vendor/assets/javascripts/languages/prism-xojo.js +9 -8
  296. data/vendor/assets/javascripts/languages/prism-xquery.js +7 -7
  297. data/vendor/assets/javascripts/languages/prism-yaml.js +19 -12
  298. data/vendor/assets/javascripts/languages/prism-yang.js +20 -0
  299. data/vendor/assets/javascripts/languages/prism-zig.js +19 -15
  300. data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +60 -65
  301. data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +199 -67
  302. data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +212 -112
  303. data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +128 -43
  304. data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +23 -8
  305. data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +2 -6
  306. data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +19 -12
  307. data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +3 -2
  308. data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +169 -63
  309. data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +5 -3
  310. data/vendor/assets/javascripts/prism-plugin/prism-highlight-keywords.js +10 -13
  311. data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +29 -12
  312. data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +179 -82
  313. data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +53 -26
  314. data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +217 -84
  315. data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +152 -68
  316. data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +53 -47
  317. data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +203 -164
  318. data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +61 -52
  319. data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +16 -16
  320. data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +4 -5
  321. data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +147 -21
  322. data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +9 -8
  323. data/vendor/assets/javascripts/prism-plugin/prism-treeview.js +70 -0
  324. data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +41 -23
  325. data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +133 -148
  326. data/vendor/assets/javascripts/prism.js +96 -4
  327. data/vendor/assets/stylesheets/prism-plugin/prism-autolinker.min.css +1 -0
  328. data/vendor/assets/stylesheets/prism-plugin/prism-command-line.css +11 -1
  329. data/vendor/assets/stylesheets/prism-plugin/prism-command-line.min.css +1 -0
  330. data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.min.css +1 -0
  331. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +26 -2
  332. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.min.css +1 -0
  333. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +21 -0
  334. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.min.css +1 -0
  335. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +0 -1
  336. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.min.css +1 -0
  337. data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.min.css +1 -0
  338. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +1 -0
  339. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.min.css +1 -0
  340. data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.min.css +1 -0
  341. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +13 -12
  342. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.min.css +1 -0
  343. data/vendor/assets/stylesheets/prism-plugin/prism-treeview.css +168 -0
  344. data/vendor/assets/stylesheets/prism-plugin/prism-treeview.min.css +1 -0
  345. data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.min.css +1 -0
  346. data/vendor/assets/stylesheets/prism-plugin/prism-wpd.min.css +1 -0
  347. data/vendor/assets/stylesheets/prism-theme/prism-base16-ateliersulphurpool.light.css +3 -3
  348. data/vendor/assets/stylesheets/prism-theme/prism-cb.css +5 -35
  349. data/vendor/assets/stylesheets/prism-theme/prism-coldark-cold.css +317 -0
  350. data/vendor/assets/stylesheets/prism-theme/prism-coldark-dark.css +317 -0
  351. data/vendor/assets/stylesheets/prism-theme/prism-coy-without-shadows.css +140 -0
  352. data/vendor/assets/stylesheets/prism-theme/prism-coy.css +5 -12
  353. data/vendor/assets/stylesheets/prism-theme/prism-coy.min.css +1 -0
  354. data/vendor/assets/stylesheets/prism-theme/prism-dark.min.css +1 -0
  355. data/vendor/assets/stylesheets/prism-theme/prism-duotone-dark.css +3 -3
  356. data/vendor/assets/stylesheets/prism-theme/prism-duotone-earth.css +3 -3
  357. data/vendor/assets/stylesheets/prism-theme/prism-duotone-forest.css +3 -3
  358. data/vendor/assets/stylesheets/prism-theme/prism-duotone-light.css +3 -3
  359. data/vendor/assets/stylesheets/prism-theme/prism-duotone-sea.css +3 -3
  360. data/vendor/assets/stylesheets/prism-theme/prism-duotone-space.css +3 -3
  361. data/vendor/assets/stylesheets/prism-theme/prism-funky.min.css +1 -0
  362. data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-dark.css +143 -0
  363. data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-light.css +143 -0
  364. data/vendor/assets/stylesheets/prism-theme/prism-holi-theme.css +119 -0
  365. data/vendor/assets/stylesheets/prism-theme/prism-laserwave.css +133 -0
  366. data/vendor/assets/stylesheets/prism-theme/prism-lucario.css +122 -0
  367. data/vendor/assets/stylesheets/prism-theme/prism-night-owl.css +158 -0
  368. data/vendor/assets/stylesheets/prism-theme/prism-okaidia.css +1 -1
  369. data/vendor/assets/stylesheets/prism-theme/prism-okaidia.min.css +1 -0
  370. data/vendor/assets/stylesheets/prism-theme/prism-one-dark.css +440 -0
  371. data/vendor/assets/stylesheets/prism-theme/prism-one-light.css +428 -0
  372. data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +3 -7
  373. data/vendor/assets/stylesheets/prism-theme/prism-solarized-dark-atom.css +143 -0
  374. data/vendor/assets/stylesheets/prism-theme/prism-solarizedlight.min.css +1 -0
  375. data/vendor/assets/stylesheets/prism-theme/prism-tomorrow.min.css +1 -0
  376. data/vendor/assets/stylesheets/prism-theme/prism-twilight.css +3 -33
  377. data/vendor/assets/stylesheets/prism-theme/prism-twilight.min.css +1 -0
  378. data/vendor/assets/stylesheets/prism-theme/prism-vs.css +7 -3
  379. data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +108 -49
  380. data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +3 -30
  381. data/vendor/assets/stylesheets/prism-theme/prism-z-touch.css +160 -0
  382. data/vendor/assets/stylesheets/prism.css +1 -0
  383. metadata +133 -6
@@ -1,77 +1,239 @@
1
1
  /**
2
2
  * Original by Aaron Harun: http://aahacreative.com/2012/07/31/php-syntax-highlighting-prism/
3
3
  * Modified by Miles Johnson: http://milesj.me
4
+ * Rewritten by Tom Pavelec
4
5
  *
5
- * Supports the following:
6
- * - Extends clike syntax
7
- * - Support for PHP 5.3+ (namespaces, traits, generators, etc)
8
- * - Smarter constant and function matching
9
- *
10
- * Adds the following new token classes:
11
- * constant, delimiter, variable, function, package
6
+ * Supports PHP 5.3 - 8.0
12
7
  */
13
8
  (function (Prism) {
14
- Prism.languages.php = Prism.languages.extend('clike', {
15
- 'keyword': /\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,
16
- 'boolean': {
9
+ var comment = /\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/;
10
+ var constant = [
11
+ {
17
12
  pattern: /\b(?:false|true)\b/i,
18
- alias: 'constant'
13
+ alias: 'boolean'
19
14
  },
20
- 'constant': [
21
- /\b[A-Z_][A-Z0-9_]*\b/,
22
- /\b(?:null)\b/i,
23
- ],
24
- 'comment': {
25
- pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,
26
- lookbehind: true
27
- }
28
- });
29
-
30
- Prism.languages.insertBefore('php', 'string', {
31
- 'shell-comment': {
32
- pattern: /(^|[^\\])#.*/,
15
+ {
16
+ pattern: /(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,
17
+ greedy: true,
33
18
  lookbehind: true,
34
- alias: 'comment'
35
- }
36
- });
19
+ },
20
+ {
21
+ pattern: /(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,
22
+ greedy: true,
23
+ lookbehind: true,
24
+ },
25
+ /\b(?:null)\b/i,
26
+ /\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/,
27
+ ];
28
+ var number = /\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i;
29
+ var operator = /<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/;
30
+ var punctuation = /[{}\[\](),:;]/;
37
31
 
38
- Prism.languages.insertBefore('php', 'comment', {
32
+ Prism.languages.php = {
39
33
  'delimiter': {
40
34
  pattern: /\?>$|^<\?(?:php(?=\s)|=)?/i,
41
35
  alias: 'important'
42
- }
43
- });
44
-
45
- Prism.languages.insertBefore('php', 'keyword', {
46
- 'variable': /\$+(?:\w+\b|(?={))/i,
36
+ },
37
+ 'comment': comment,
38
+ 'variable': /\$+(?:\w+\b|(?=\{))/,
47
39
  'package': {
48
- pattern: /(\\|namespace\s+|use\s+)[\w\\]+/,
40
+ pattern: /(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,
49
41
  lookbehind: true,
50
42
  inside: {
51
- punctuation: /\\/
43
+ 'punctuation': /\\/
52
44
  }
53
- }
54
- });
55
-
56
- // Must be defined after the function pattern
57
- Prism.languages.insertBefore('php', 'operator', {
45
+ },
46
+ 'class-name-definition': {
47
+ pattern: /(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,
48
+ lookbehind: true,
49
+ alias: 'class-name'
50
+ },
51
+ 'function-definition': {
52
+ pattern: /(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,
53
+ lookbehind: true,
54
+ alias: 'function'
55
+ },
56
+ 'keyword': [
57
+ {
58
+ pattern: /(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,
59
+ alias: 'type-casting',
60
+ greedy: true,
61
+ lookbehind: true
62
+ },
63
+ {
64
+ pattern: /([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,
65
+ alias: 'type-hint',
66
+ greedy: true,
67
+ lookbehind: true
68
+ },
69
+ {
70
+ pattern: /(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,
71
+ alias: 'return-type',
72
+ greedy: true,
73
+ lookbehind: true
74
+ },
75
+ {
76
+ pattern: /\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,
77
+ alias: 'type-declaration',
78
+ greedy: true
79
+ },
80
+ {
81
+ pattern: /(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,
82
+ alias: 'type-declaration',
83
+ greedy: true,
84
+ lookbehind: true
85
+ },
86
+ {
87
+ pattern: /\b(?:parent|self|static)(?=\s*::)/i,
88
+ alias: 'static-context',
89
+ greedy: true
90
+ },
91
+ {
92
+ // yield from
93
+ pattern: /(\byield\s+)from\b/i,
94
+ lookbehind: true
95
+ },
96
+ // `class` is always a keyword unlike other keywords
97
+ /\bclass\b/i,
98
+ {
99
+ // https://www.php.net/manual/en/reserved.keywords.php
100
+ //
101
+ // keywords cannot be preceded by "->"
102
+ // the complex lookbehind means `(?<!(?:->|::)\s*)`
103
+ pattern: /((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,
104
+ lookbehind: true
105
+ }
106
+ ],
107
+ 'argument-name': {
108
+ pattern: /([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,
109
+ lookbehind: true
110
+ },
111
+ 'class-name': [
112
+ {
113
+ pattern: /(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,
114
+ greedy: true,
115
+ lookbehind: true
116
+ },
117
+ {
118
+ pattern: /(\|\s*)\b[a-z_]\w*(?!\\)\b/i,
119
+ greedy: true,
120
+ lookbehind: true
121
+ },
122
+ {
123
+ pattern: /\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,
124
+ greedy: true
125
+ },
126
+ {
127
+ pattern: /(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,
128
+ alias: 'class-name-fully-qualified',
129
+ greedy: true,
130
+ lookbehind: true,
131
+ inside: {
132
+ 'punctuation': /\\/
133
+ }
134
+ },
135
+ {
136
+ pattern: /(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,
137
+ alias: 'class-name-fully-qualified',
138
+ greedy: true,
139
+ inside: {
140
+ 'punctuation': /\\/
141
+ }
142
+ },
143
+ {
144
+ pattern: /(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,
145
+ alias: 'class-name-fully-qualified',
146
+ greedy: true,
147
+ lookbehind: true,
148
+ inside: {
149
+ 'punctuation': /\\/
150
+ }
151
+ },
152
+ {
153
+ pattern: /\b[a-z_]\w*(?=\s*\$)/i,
154
+ alias: 'type-declaration',
155
+ greedy: true
156
+ },
157
+ {
158
+ pattern: /(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,
159
+ alias: ['class-name-fully-qualified', 'type-declaration'],
160
+ greedy: true,
161
+ inside: {
162
+ 'punctuation': /\\/
163
+ }
164
+ },
165
+ {
166
+ pattern: /\b[a-z_]\w*(?=\s*::)/i,
167
+ alias: 'static-context',
168
+ greedy: true
169
+ },
170
+ {
171
+ pattern: /(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,
172
+ alias: ['class-name-fully-qualified', 'static-context'],
173
+ greedy: true,
174
+ inside: {
175
+ 'punctuation': /\\/
176
+ }
177
+ },
178
+ {
179
+ pattern: /([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,
180
+ alias: 'type-hint',
181
+ greedy: true,
182
+ lookbehind: true
183
+ },
184
+ {
185
+ pattern: /([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,
186
+ alias: ['class-name-fully-qualified', 'type-hint'],
187
+ greedy: true,
188
+ lookbehind: true,
189
+ inside: {
190
+ 'punctuation': /\\/
191
+ }
192
+ },
193
+ {
194
+ pattern: /(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,
195
+ alias: 'return-type',
196
+ greedy: true,
197
+ lookbehind: true
198
+ },
199
+ {
200
+ pattern: /(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,
201
+ alias: ['class-name-fully-qualified', 'return-type'],
202
+ greedy: true,
203
+ lookbehind: true,
204
+ inside: {
205
+ 'punctuation': /\\/
206
+ }
207
+ }
208
+ ],
209
+ 'constant': constant,
210
+ 'function': {
211
+ pattern: /(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,
212
+ lookbehind: true,
213
+ inside: {
214
+ 'punctuation': /\\/
215
+ }
216
+ },
58
217
  'property': {
59
- pattern: /(->)[\w]+/,
218
+ pattern: /(->\s*)\w+/,
60
219
  lookbehind: true
61
- }
62
- });
220
+ },
221
+ 'number': number,
222
+ 'operator': operator,
223
+ 'punctuation': punctuation
224
+ };
63
225
 
64
226
  var string_interpolation = {
65
- pattern: /{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/,
227
+ pattern: /\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,
66
228
  lookbehind: true,
67
229
  inside: Prism.languages.php
68
230
  };
69
231
 
70
- Prism.languages.insertBefore('php', 'string', {
71
- 'nowdoc-string': {
72
- pattern: /<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/,
232
+ var string = [
233
+ {
234
+ pattern: /<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,
235
+ alias: 'nowdoc-string',
73
236
  greedy: true,
74
- alias: 'string',
75
237
  inside: {
76
238
  'delimiter': {
77
239
  pattern: /^<<<'[^']+'|[a-z_]\w*;$/i,
@@ -82,10 +244,10 @@
82
244
  }
83
245
  }
84
246
  },
85
- 'heredoc-string': {
86
- pattern: /<<<(?:"([^"]+)"(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;|([a-z_]\w*)(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\2;)/i,
247
+ {
248
+ pattern: /<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,
249
+ alias: 'heredoc-string',
87
250
  greedy: true,
88
- alias: 'string',
89
251
  inside: {
90
252
  'delimiter': {
91
253
  pattern: /^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,
@@ -94,36 +256,86 @@
94
256
  'punctuation': /^<<<"?|[";]$/
95
257
  }
96
258
  },
97
- 'interpolation': string_interpolation // See below
259
+ 'interpolation': string_interpolation
98
260
  }
99
261
  },
100
- 'single-quoted-string': {
262
+ {
263
+ pattern: /`(?:\\[\s\S]|[^\\`])*`/,
264
+ alias: 'backtick-quoted-string',
265
+ greedy: true
266
+ },
267
+ {
101
268
  pattern: /'(?:\\[\s\S]|[^\\'])*'/,
102
- greedy: true,
103
- alias: 'string'
269
+ alias: 'single-quoted-string',
270
+ greedy: true
104
271
  },
105
- 'double-quoted-string': {
272
+ {
106
273
  pattern: /"(?:\\[\s\S]|[^\\"])*"/,
274
+ alias: 'double-quoted-string',
107
275
  greedy: true,
108
- alias: 'string',
109
276
  inside: {
110
- 'interpolation': string_interpolation // See below
277
+ 'interpolation': string_interpolation
111
278
  }
112
279
  }
280
+ ];
281
+
282
+ Prism.languages.insertBefore('php', 'variable', {
283
+ 'string': string,
284
+ 'attribute': {
285
+ pattern: /#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,
286
+ greedy: true,
287
+ inside: {
288
+ 'attribute-content': {
289
+ pattern: /^(#\[)[\s\S]+(?=\]$)/,
290
+ lookbehind: true,
291
+ // inside can appear subset of php
292
+ inside: {
293
+ 'comment': comment,
294
+ 'string': string,
295
+ 'attribute-class-name': [
296
+ {
297
+ pattern: /([^:]|^)\b[a-z_]\w*(?!\\)\b/i,
298
+ alias: 'class-name',
299
+ greedy: true,
300
+ lookbehind: true
301
+ },
302
+ {
303
+ pattern: /([^:]|^)(?:\\?\b[a-z_]\w*)+/i,
304
+ alias: [
305
+ 'class-name',
306
+ 'class-name-fully-qualified'
307
+ ],
308
+ greedy: true,
309
+ lookbehind: true,
310
+ inside: {
311
+ 'punctuation': /\\/
312
+ }
313
+ }
314
+ ],
315
+ 'constant': constant,
316
+ 'number': number,
317
+ 'operator': operator,
318
+ 'punctuation': punctuation
319
+ }
320
+ },
321
+ 'delimiter': {
322
+ pattern: /^#\[|\]$/,
323
+ alias: 'punctuation'
324
+ }
325
+ }
326
+ },
113
327
  });
114
- // The different types of PHP strings "replace" the C-like standard string
115
- delete Prism.languages.php['string'];
116
328
 
117
- Prism.hooks.add('before-tokenize', function(env) {
329
+ Prism.hooks.add('before-tokenize', function (env) {
118
330
  if (!/<\?/.test(env.code)) {
119
331
  return;
120
332
  }
121
333
 
122
- var phpPattern = /<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#)(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|\/\*[\s\S]*?(?:\*\/|$))*?(?:\?>|$)/ig;
334
+ var phpPattern = /<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;
123
335
  Prism.languages['markup-templating'].buildPlaceholders(env, 'php', phpPattern);
124
336
  });
125
337
 
126
- Prism.hooks.add('after-tokenize', function(env) {
338
+ Prism.hooks.add('after-tokenize', function (env) {
127
339
  Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php');
128
340
  });
129
341
 
@@ -15,7 +15,7 @@
15
15
  pattern: RegExp('(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\s+)' + typeExpression),
16
16
  lookbehind: true,
17
17
  inside: {
18
- 'keyword': /\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/,
18
+ 'keyword': /\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\b/,
19
19
  'punctuation': /[|\\[\]()]/
20
20
  }
21
21
  }
@@ -0,0 +1,103 @@
1
+ (function (Prism) {
2
+ var variable = /\$\w+|%[a-z]+%/;
3
+
4
+ var arrowAttr = /\[[^[\]]*\]/.source;
5
+ var arrowDirection = /(?:[drlu]|do|down|le|left|ri|right|up)/.source;
6
+ var arrowBody = '(?:-+' + arrowDirection + '-+|\\.+' + arrowDirection + '\\.+|-+(?:' + arrowAttr + '-*)?|' + arrowAttr + '-+|\\.+(?:' + arrowAttr + '\\.*)?|' + arrowAttr + '\\.+)';
7
+ var arrowLeft = /(?:<{1,2}|\/{1,2}|\\{1,2}|<\||[#*^+}xo])/.source;
8
+ var arrowRight = /(?:>{1,2}|\/{1,2}|\\{1,2}|\|>|[#*^+{xo])/.source;
9
+ var arrowPrefix = /[[?]?[ox]?/.source;
10
+ var arrowSuffix = /[ox]?[\]?]?/.source;
11
+ var arrow =
12
+ arrowPrefix +
13
+ '(?:' +
14
+ arrowBody + arrowRight +
15
+ '|' +
16
+ arrowLeft + arrowBody + '(?:' + arrowRight + ')?' +
17
+ ')' +
18
+ arrowSuffix;
19
+
20
+ Prism.languages['plant-uml'] = {
21
+ 'comment': {
22
+ pattern: /(^[ \t]*)(?:'.*|\/'[\s\S]*?'\/)/m,
23
+ lookbehind: true,
24
+ greedy: true
25
+ },
26
+ 'preprocessor': {
27
+ pattern: /(^[ \t]*)!.*/m,
28
+ lookbehind: true,
29
+ greedy: true,
30
+ alias: 'property',
31
+ inside: {
32
+ 'variable': variable
33
+ }
34
+ },
35
+ 'delimiter': {
36
+ pattern: /(^[ \t]*)@(?:end|start)uml\b/m,
37
+ lookbehind: true,
38
+ greedy: true,
39
+ alias: 'punctuation'
40
+ },
41
+
42
+ 'arrow': {
43
+ pattern: RegExp(/(^|[^-.<>?|\\[\]ox])/.source + arrow + /(?![-.<>?|\\\]ox])/.source),
44
+ lookbehind: true,
45
+ greedy: true,
46
+ alias: 'operator',
47
+ inside: {
48
+ 'expression': {
49
+ pattern: /(\[)[^[\]]+(?=\])/,
50
+ lookbehind: true,
51
+ inside: null // see below
52
+ },
53
+ 'punctuation': /\[(?=$|\])|^\]/
54
+ }
55
+ },
56
+
57
+ 'string': {
58
+ pattern: /"[^"]*"/,
59
+ greedy: true
60
+ },
61
+ 'text': {
62
+ pattern: /(\[[ \t]*[\r\n]+(?![\r\n]))[^\]]*(?=\])/,
63
+ lookbehind: true,
64
+ greedy: true,
65
+ alias: 'string'
66
+ },
67
+
68
+ 'keyword': [
69
+ {
70
+ pattern: /^([ \t]*)(?:abstract\s+class|end\s+(?:box|fork|group|merge|note|ref|split|title)|(?:fork|split)(?:\s+again)?|activate|actor|agent|alt|annotation|artifact|autoactivate|autonumber|backward|binary|boundary|box|break|caption|card|case|circle|class|clock|cloud|collections|component|concise|control|create|critical|database|deactivate|destroy|detach|diamond|else|elseif|end|end[hr]note|endif|endswitch|endwhile|entity|enum|file|folder|footer|frame|group|[hr]?note|header|hexagon|hide|if|interface|label|legend|loop|map|namespace|network|newpage|node|nwdiag|object|opt|package|page|par|participant|person|queue|rectangle|ref|remove|repeat|restore|return|robust|scale|set|show|skinparam|stack|start|state|stop|storage|switch|title|together|usecase|usecase\/|while)(?=\s|$)/m,
71
+ lookbehind: true,
72
+ greedy: true
73
+ },
74
+ /\b(?:elseif|equals|not|while)(?=\s*\()/,
75
+ /\b(?:as|is|then)\b/
76
+ ],
77
+
78
+ 'divider': {
79
+ pattern: /^==.+==$/m,
80
+ greedy: true,
81
+ alias: 'important'
82
+ },
83
+
84
+ 'time': {
85
+ pattern: /@(?:\d+(?:[:/]\d+){2}|[+-]?\d+|:[a-z]\w*(?:[+-]\d+)?)\b/i,
86
+ greedy: true,
87
+ alias: 'number'
88
+ },
89
+
90
+ 'color': {
91
+ pattern: /#(?:[a-z_]+|[a-fA-F0-9]+)\b/,
92
+ alias: 'symbol'
93
+ },
94
+ 'variable': variable,
95
+
96
+ 'punctuation': /[:,;()[\]{}]|\.{3}/
97
+ };
98
+
99
+ Prism.languages['plant-uml'].arrow.inside.expression.inside = Prism.languages['plant-uml'];
100
+
101
+ Prism.languages['plantuml'] = Prism.languages['plant-uml'];
102
+
103
+ }(Prism));
@@ -1,26 +1,17 @@
1
- (function (Prism) {
1
+ Prism.languages.plsql = Prism.languages.extend('sql', {
2
+ 'comment': {
3
+ pattern: /\/\*[\s\S]*?\*\/|--.*/,
4
+ greedy: true
5
+ },
6
+ // https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-reserved-words-keywords.html
7
+ 'keyword': /\b(?:A|ACCESSIBLE|ADD|AGENT|AGGREGATE|ALL|ALTER|AND|ANY|ARRAY|AS|ASC|AT|ATTRIBUTE|AUTHID|AVG|BEGIN|BETWEEN|BFILE_BASE|BINARY|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BULK|BY|BYTE|C|CALL|CALLING|CASCADE|CASE|CHAR|CHARACTER|CHARSET|CHARSETFORM|CHARSETID|CHAR_BASE|CHECK|CLOB_BASE|CLONE|CLOSE|CLUSTER|CLUSTERS|COLAUTH|COLLECT|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPILED|COMPRESS|CONNECT|CONSTANT|CONSTRUCTOR|CONTEXT|CONTINUE|CONVERT|COUNT|CRASH|CREATE|CREDENTIAL|CURRENT|CURSOR|CUSTOMDATUM|DANGLING|DATA|DATE|DATE_BASE|DAY|DECLARE|DEFAULT|DEFINE|DELETE|DESC|DETERMINISTIC|DIRECTORY|DISTINCT|DOUBLE|DROP|DURATION|ELEMENT|ELSE|ELSIF|EMPTY|END|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXTERNAL|FETCH|FINAL|FIRST|FIXED|FLOAT|FOR|FORALL|FORCE|FROM|FUNCTION|GENERAL|GOTO|GRANT|GROUP|HASH|HAVING|HEAP|HIDDEN|HOUR|IDENTIFIED|IF|IMMEDIATE|IMMUTABLE|IN|INCLUDING|INDEX|INDEXES|INDICATOR|INDICES|INFINITE|INSERT|INSTANTIABLE|INT|INTERFACE|INTERSECT|INTERVAL|INTO|INVALIDATE|IS|ISOLATION|JAVA|LANGUAGE|LARGE|LEADING|LENGTH|LEVEL|LIBRARY|LIKE|LIKE2|LIKE4|LIKEC|LIMIT|LIMITED|LOCAL|LOCK|LONG|LOOP|MAP|MAX|MAXLEN|MEMBER|MERGE|MIN|MINUS|MINUTE|MOD|MODE|MODIFY|MONTH|MULTISET|MUTABLE|NAME|NAN|NATIONAL|NATIVE|NCHAR|NEW|NOCOMPRESS|NOCOPY|NOT|NOWAIT|NULL|NUMBER_BASE|OBJECT|OCICOLL|OCIDATE|OCIDATETIME|OCIDURATION|OCIINTERVAL|OCILOBLOCATOR|OCINUMBER|OCIRAW|OCIREF|OCIREFCURSOR|OCIROWID|OCISTRING|OCITYPE|OF|OLD|ON|ONLY|OPAQUE|OPEN|OPERATOR|OPTION|OR|ORACLE|ORADATA|ORDER|ORGANIZATION|ORLANY|ORLVARY|OTHERS|OUT|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETER|PARAMETERS|PARENT|PARTITION|PASCAL|PERSISTABLE|PIPE|PIPELINED|PLUGGABLE|POLYMORPHIC|PRAGMA|PRECISION|PRIOR|PRIVATE|PROCEDURE|PUBLIC|RAISE|RANGE|RAW|READ|RECORD|REF|REFERENCE|RELIES_ON|REM|REMAINDER|RENAME|RESOURCE|RESULT|RESULT_CACHE|RETURN|RETURNING|REVERSE|REVOKE|ROLLBACK|ROW|SAMPLE|SAVE|SAVEPOINT|SB1|SB2|SB4|SECOND|SEGMENT|SELECT|SELF|SEPARATE|SEQUENCE|SERIALIZABLE|SET|SHARE|SHORT|SIZE|SIZE_T|SOME|SPARSE|SQL|SQLCODE|SQLDATA|SQLNAME|SQLSTATE|STANDARD|START|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUM|SYNONYM|TABAUTH|TABLE|TDO|THE|THEN|TIME|TIMESTAMP|TIMEZONE_ABBR|TIMEZONE_HOUR|TIMEZONE_MINUTE|TIMEZONE_REGION|TO|TRAILING|TRANSACTION|TRANSACTIONAL|TRUSTED|TYPE|UB1|UB2|UB4|UNDER|UNION|UNIQUE|UNPLUG|UNSIGNED|UNTRUSTED|UPDATE|USE|USING|VALIST|VALUE|VALUES|VARIABLE|VARIANCE|VARRAY|VARYING|VIEW|VIEWS|VOID|WHEN|WHERE|WHILE|WITH|WORK|WRAPPED|WRITE|YEAR|ZONE)\b/i,
8
+ // https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-language-fundamentals.html#GUID-96A42F7C-7A71-4B90-8255-CA9C8BD9722E
9
+ 'operator': /:=?|=>|[<>^~!]=|\.\.|\|\||\*\*|[-+*/%<>=@]/
10
+ });
2
11
 
3
- var plsql = Prism.languages.plsql = Prism.languages.extend('sql', {
4
- 'comment': [
5
- /\/\*[\s\S]*?\*\//,
6
- /--.*/
7
- ]
8
- });
9
-
10
- var keyword = plsql['keyword'];
11
- if (!Array.isArray(keyword)) {
12
- keyword = plsql['keyword'] = [keyword];
13
- }
14
- keyword.unshift(
15
- /\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i
16
- );
17
-
18
- var operator = plsql['operator'];
19
- if (!Array.isArray(operator)) {
20
- operator = plsql['operator'] = [operator];
21
- }
22
- operator.unshift(
23
- /:=/
24
- );
25
-
26
- }(Prism));
12
+ Prism.languages.insertBefore('plsql', 'operator', {
13
+ 'label': {
14
+ pattern: /<<\s*\w+\s*>>/,
15
+ alias: 'symbol'
16
+ },
17
+ });
@@ -0,0 +1,55 @@
1
+ // https://docs.microsoft.com/en-us/powerquery-m/power-query-m-language-specification
2
+
3
+ Prism.languages.powerquery = {
4
+ 'comment': {
5
+ pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,
6
+ lookbehind: true,
7
+ greedy: true
8
+ },
9
+ 'quoted-identifier': {
10
+ pattern: /#"(?:[^"\r\n]|"")*"(?!")/,
11
+ greedy: true
12
+ },
13
+ 'string': {
14
+ pattern: /(?:#!)?"(?:[^"\r\n]|"")*"(?!")/,
15
+ greedy: true
16
+ },
17
+ 'constant': [
18
+ /\bDay\.(?:Friday|Monday|Saturday|Sunday|Thursday|Tuesday|Wednesday)\b/,
19
+ /\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/,
20
+ /\bOccurrence\.(?:All|First|Last)\b/,
21
+ /\bOrder\.(?:Ascending|Descending)\b/,
22
+ /\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/,
23
+ /\bMissingField\.(?:Error|Ignore|UseNull)\b/,
24
+ /\bQuoteStyle\.(?:Csv|None)\b/,
25
+ /\bJoinKind\.(?:FullOuter|Inner|LeftAnti|LeftOuter|RightAnti|RightOuter)\b/,
26
+ /\bGroupKind\.(?:Global|Local)\b/,
27
+ /\bExtraValues\.(?:Error|Ignore|List)\b/,
28
+ /\bJoinAlgorithm\.(?:Dynamic|LeftHash|LeftIndex|PairwiseHash|RightHash|RightIndex|SortMerge)\b/,
29
+ /\bJoinSide\.(?:Left|Right)\b/,
30
+ /\bPrecision\.(?:Decimal|Double)\b/,
31
+ /\bRelativePosition\.From(?:End|Start)\b/,
32
+ /\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf16|Utf8|Windows)\b/,
33
+ /\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Function|Int16|Int32|Int64|Int8|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/,
34
+ /\bnull\b/
35
+ ],
36
+ 'boolean': /\b(?:false|true)\b/,
37
+ 'keyword': /\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/,
38
+ 'function': {
39
+ pattern: /(^|[^#\w.])[a-z_][\w.]*(?=\s*\()/i,
40
+ lookbehind: true
41
+ },
42
+ 'data-type': {
43
+ pattern: /\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time)\b/,
44
+ alias: 'class-name'
45
+ },
46
+ 'number': {
47
+ pattern: /\b0x[\da-f]+\b|(?:[+-]?(?:\b\d+\.)?\b\d+|[+-]\.\d+|(^|[^.])\B\.\d+)(?:e[+-]?\d+)?\b/i,
48
+ lookbehind: true
49
+ },
50
+ 'operator': /[-+*\/&?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/,
51
+ 'punctuation': /[,;\[\](){}]/
52
+ };
53
+
54
+ Prism.languages.pq = Prism.languages['powerquery'];
55
+ Prism.languages.mscript = Prism.languages['powerquery'];