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,3 +1,6 @@
1
+ // Specification:
2
+ // https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Throwable.html#printStackTrace()
3
+
1
4
  Prism.languages.javastacktrace = {
2
5
 
3
6
  // java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]
@@ -6,10 +9,11 @@ Prism.languages.javastacktrace = {
6
9
  // Caused by: MidLevelException: LowLevelException
7
10
  // Suppressed: Resource$CloseFailException: Resource ID = 0
8
11
  'summary': {
9
- pattern: /^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?:\:.*)?$/m,
12
+ pattern: /^([\t ]*)(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m,
13
+ lookbehind: true,
10
14
  inside: {
11
15
  'keyword': {
12
- pattern: /^(\s*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,
16
+ pattern: /^([\t ]*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,
13
17
  lookbehind: true
14
18
  },
15
19
 
@@ -22,9 +26,9 @@ Prism.languages.javastacktrace = {
22
26
  pattern: /^(:?\s*)[\w$.]+(?=:|$)/,
23
27
  lookbehind: true,
24
28
  inside: {
25
- 'class-name': /[\w$]+(?=$|:)/,
26
- 'namespace': /[a-z]\w*/,
27
- 'punctuation': /[.:]/
29
+ 'class-name': /[\w$]+$/,
30
+ 'namespace': /\b[a-z]\w*\b/,
31
+ 'punctuation': /\./
28
32
  }
29
33
  },
30
34
  'message': {
@@ -32,31 +36,50 @@ Prism.languages.javastacktrace = {
32
36
  lookbehind: true,
33
37
  alias: 'string'
34
38
  },
35
- 'punctuation': /[:]/
39
+ 'punctuation': /:/
36
40
  }
37
41
  },
38
42
 
39
43
  // at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
40
44
  // at org.hsqldb.jdbc.Util.throwError(Unknown Source) here could be some notes
45
+ // at java.base/java.lang.Class.forName0(Native Method)
41
46
  // at Util.<init>(Unknown Source)
47
+ // at com.foo.loader/foo@9.0/com.foo.Main.run(Main.java:101)
48
+ // at com.foo.loader//com.foo.bar.App.run(App.java:12)
49
+ // at acme@2.1/org.acme.Lib.test(Lib.java:80)
50
+ // at MyClass.mash(MyClass.java:9)
51
+ //
52
+ // More information:
53
+ // https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/StackTraceElement.html#toString()
54
+ //
55
+ // A valid Java module name is defined as:
56
+ // "A module name consists of one or more Java identifiers (§3.8) separated by "." tokens."
57
+ // https://docs.oracle.com/javase/specs/jls/se9/html/jls-6.html#jls-ModuleName
58
+ //
59
+ // A Java module version is defined by this class:
60
+ // https://docs.oracle.com/javase/9/docs/api/java/lang/module/ModuleDescriptor.Version.html
61
+ // This is the implementation of the `parse` method in JDK13:
62
+ // https://github.com/matcdac/jdk/blob/2305df71d1b7710266ae0956d73927a225132c0f/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java#L1108
63
+ // However, to keep this simple, a version will be matched by the pattern /@[\w$.+-]*/.
42
64
  'stack-frame': {
43
- pattern: /^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m,
65
+ pattern: /^([\t ]*)at (?:[\w$./]|@[\w$.+-]*\/)+(?:<init>)?\([^()]*\)/m,
66
+ lookbehind: true,
44
67
  inside: {
45
68
  'keyword': {
46
- pattern: /^(\s*)at/,
69
+ pattern: /^(\s*)at(?= )/,
47
70
  lookbehind: true
48
71
  },
49
72
  'source': [
50
73
  // (Main.java:15)
51
74
  // (Main.scala:15)
52
75
  {
53
- pattern: /(\()\w+.\w+:\d+(?=\))/,
76
+ pattern: /(\()\w+\.\w+:\d+(?=\))/,
54
77
  lookbehind: true,
55
78
  inside: {
56
79
  'file': /^\w+\.\w+/,
57
80
  'punctuation': /:/,
58
81
  'line-number': {
59
- pattern: /\d+/,
82
+ pattern: /\b\d+\b/,
60
83
  alias: 'number'
61
84
  }
62
85
  }
@@ -68,21 +91,47 @@ Prism.languages.javastacktrace = {
68
91
  pattern: /(\()[^()]*(?=\))/,
69
92
  lookbehind: true,
70
93
  inside: {
71
- 'keyword': /^(?:Unknown Source|Native Method)$/
94
+ 'keyword': /^(?:Native Method|Unknown Source)$/
72
95
  }
73
96
  }
74
97
  ],
75
98
  'class-name': /[\w$]+(?=\.(?:<init>|[\w$]+)\()/,
76
99
  'function': /(?:<init>|[\w$]+)(?=\()/,
77
- 'namespace': /[a-z]\w*/,
78
- 'punctuation': /[.()]/
100
+ 'class-loader': {
101
+ pattern: /(\s)[a-z]\w*(?:\.[a-z]\w*)*(?=\/[\w@$.]*\/)/,
102
+ lookbehind: true,
103
+ alias: 'namespace',
104
+ inside: {
105
+ 'punctuation': /\./
106
+ }
107
+ },
108
+ 'module': {
109
+ pattern: /([\s/])[a-z]\w*(?:\.[a-z]\w*)*(?:@[\w$.+-]*)?(?=\/)/,
110
+ lookbehind: true,
111
+ inside: {
112
+ 'version': {
113
+ pattern: /(@)[\s\S]+/,
114
+ lookbehind: true,
115
+ alias: 'number'
116
+ },
117
+ 'punctuation': /[@.]/
118
+ }
119
+ },
120
+ 'namespace': {
121
+ pattern: /(?:\b[a-z]\w*\.)+/,
122
+ inside: {
123
+ 'punctuation': /\./
124
+ }
125
+ },
126
+ 'punctuation': /[()/.]/
79
127
  }
80
128
  },
81
129
 
82
130
  // ... 32 more
83
131
  // ... 32 common frames omitted
84
132
  'more': {
85
- pattern: /^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m,
133
+ pattern: /^([\t ]*)\.{3} \d+ [a-z]+(?: [a-z]+)*/m,
134
+ lookbehind: true,
86
135
  inside: {
87
136
  'punctuation': /\.{3}/,
88
137
  'number': /\d+/,
@@ -0,0 +1,14 @@
1
+ Prism.languages.jexl = {
2
+ 'string': /(["'])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
3
+ 'transform': {
4
+ pattern: /(\|\s*)[a-zA-Zа-яА-Я_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\wа-яА-Я\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*/,
5
+ alias: 'function',
6
+ lookbehind: true
7
+ },
8
+ 'function': /[a-zA-Zа-яА-Я_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\wа-яА-Я\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*\s*(?=\()/,
9
+ 'number': /\b\d+(?:\.\d+)?\b|\B\.\d+\b/,
10
+ 'operator': /[<>!]=?|-|\+|&&|==|\|\|?|\/\/?|[?:*^%]/,
11
+ 'boolean': /\b(?:false|true)\b/,
12
+ 'keyword': /\bin\b/,
13
+ 'punctuation': /[{}[\](),.]/,
14
+ };
@@ -1,55 +1,41 @@
1
1
  Prism.languages.jolie = Prism.languages.extend('clike', {
2
- 'keyword': /\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/,
3
- 'builtin': /\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/,
4
- 'number': /(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?l?/i,
5
- 'operator': /-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[:?\/%^]/,
6
- 'symbol': /[|;@]/,
7
- 'punctuation': /[,.]/,
8
2
  'string': {
9
- pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
3
+ pattern: /(^|[^\\])"(?:\\[\s\S]|[^"\\])*"/,
4
+ lookbehind: true,
10
5
  greedy: true
11
- }
12
- });
13
-
14
- delete Prism.languages.jolie['class-name'];
15
-
16
- Prism.languages.insertBefore( 'jolie', 'keyword', {
17
- 'function':
18
- {
19
- pattern: /((?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*)\w+/,
6
+ },
7
+ 'class-name': {
8
+ pattern: /((?:\b(?:as|courier|embed|in|inputPort|outputPort|service)\b|@)[ \t]*)\w+/,
20
9
  lookbehind: true
21
10
  },
11
+ 'keyword': /\b(?:as|cH|comp|concurrent|constants|courier|cset|csets|default|define|else|embed|embedded|execution|exit|extender|for|foreach|forward|from|global|if|import|in|include|init|inputPort|install|instanceof|interface|is_defined|linkIn|linkOut|main|new|nullProcess|outputPort|over|private|provide|public|scope|sequential|service|single|spawn|synchronized|this|throw|throws|type|undef|until|while|with)\b/,
12
+ 'function': /\b[a-z_]\w*(?=[ \t]*[@(])/i,
13
+ 'number': /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?l?/i,
14
+ 'operator': /-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[?\/%^@|]/,
15
+ 'punctuation': /[()[\]{},;.:]/,
16
+ 'builtin': /\b(?:Byte|any|bool|char|double|enum|float|int|length|long|ranges|regex|string|undefined|void)\b/
17
+ });
18
+
19
+ Prism.languages.insertBefore('jolie', 'keyword', {
22
20
  'aggregates': {
23
21
  pattern: /(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/,
24
22
  lookbehind: true,
25
23
  inside: {
26
- 'with-extension': {
27
- pattern: /\bwith\s+\w+/,
28
- inside: {
29
- 'keyword' : /\bwith\b/
30
- }
31
- },
32
- 'function': {
33
- pattern: /\w+/
34
- },
35
- 'punctuation': {
36
- pattern: /,/
37
- }
24
+ 'keyword': /\bwith\b/,
25
+ 'class-name': /\w+/,
26
+ 'punctuation': /,/
38
27
  }
39
28
  },
40
29
  'redirects': {
41
30
  pattern: /(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/,
42
31
  lookbehind: true,
43
32
  inside: {
44
- 'punctuation': {
45
- pattern: /,/
46
- },
47
- 'function': {
48
- pattern: /\w+/
49
- },
50
- 'symbol': {
51
- pattern: /=>/
52
- }
33
+ 'punctuation': /,/,
34
+ 'class-name': /\w+/,
35
+ 'operator': /=>/
53
36
  }
37
+ },
38
+ 'property': {
39
+ pattern: /\b(?:Aggregates|[Ii]nterfaces|Java|Javascript|Jolie|[Ll]ocation|OneWay|[Pp]rotocol|Redirects|RequestResponse)\b(?=[ \t]*:)/
54
40
  }
55
41
  });
@@ -1,7 +1,7 @@
1
1
  (function (Prism) {
2
2
 
3
3
  var interpolation = /\\\((?:[^()]|\([^()]*\))*\)/.source;
4
- var string = RegExp(/"(?:[^"\r\n\\]|\\[^\r\n(]|__)*"/.source.replace(/__/g, interpolation));
4
+ var string = RegExp(/(^|[^\\])"(?:[^"\r\n\\]|\\[^\r\n(]|__)*"/.source.replace(/__/g, function () { return interpolation; }));
5
5
  var stringInterpolation = {
6
6
  'interpolation': {
7
7
  pattern: RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + interpolation),
@@ -21,11 +21,13 @@
21
21
  'comment': /#.*/,
22
22
  'property': {
23
23
  pattern: RegExp(string.source + /(?=\s*:(?!:))/.source),
24
+ lookbehind: true,
24
25
  greedy: true,
25
26
  inside: stringInterpolation
26
27
  },
27
28
  'string': {
28
29
  pattern: string,
30
+ lookbehind: true,
29
31
  greedy: true,
30
32
  inside: stringInterpolation
31
33
  },
@@ -37,19 +39,19 @@
37
39
 
38
40
  'variable': /\B\$\w+/,
39
41
  'property-literal': {
40
- pattern: /[a-z_]\w*(?=\s*:(?!:))/i,
42
+ pattern: /\b[a-z_]\w*(?=\s*:(?!:))/i,
41
43
  alias: 'property'
42
44
  },
43
45
  'keyword': /\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/,
44
- 'boolean': /\b(?:true|false)\b/,
45
- 'number': /(?:\b\d+\.|\B\.)?\d+(?:[eE][+-]?\d+)?\b/,
46
+ 'boolean': /\b(?:false|true)\b/,
47
+ 'number': /(?:\b\d+\.|\B\.)?\b\d+(?:[eE][+-]?\d+)?\b/,
46
48
 
47
49
  'operator': [
48
50
  {
49
51
  pattern: /\|=?/,
50
52
  alias: 'pipe'
51
53
  },
52
- /\.\.|[!=<>]?=|\?\/\/|\/\/=?|[-+*/%]=?|[<>?]|\b(?:and|or|not)\b/
54
+ /\.\.|[!=<>]?=|\?\/\/|\/\/=?|[-+*/%]=?|[<>?]|\b(?:and|not|or)\b/
53
55
  ],
54
56
  'c-style-function': {
55
57
  pattern: /\b[a-z_]\w*(?=\s*\()/i,
@@ -60,7 +62,7 @@
60
62
  pattern: /\./,
61
63
  alias: 'important'
62
64
  }
63
- }
65
+ };
64
66
 
65
67
  stringInterpolation.interpolation.inside.content.inside = jq;
66
68
 
@@ -21,7 +21,7 @@
21
21
  {
22
22
  // standard built-ins
23
23
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects
24
- pattern: /\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/,
24
+ pattern: /\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,
25
25
  alias: 'class-name'
26
26
  },
27
27
  {
@@ -32,11 +32,42 @@
32
32
  ]
33
33
  });
34
34
 
35
+ /**
36
+ * Replaces the `<ID>` placeholder in the given pattern with a pattern for general JS identifiers.
37
+ *
38
+ * @param {string} source
39
+ * @param {string} [flags]
40
+ * @returns {RegExp}
41
+ */
42
+ function withId(source, flags) {
43
+ return RegExp(
44
+ source.replace(/<ID>/g, function () { return /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source; }),
45
+ flags);
46
+ }
47
+ Prism.languages.insertBefore('javascript', 'keyword', {
48
+ 'imports': {
49
+ // https://tc39.es/ecma262/#sec-imports
50
+ pattern: withId(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),
51
+ lookbehind: true,
52
+ inside: Prism.languages.javascript
53
+ },
54
+ 'exports': {
55
+ // https://tc39.es/ecma262/#sec-exports
56
+ pattern: withId(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),
57
+ lookbehind: true,
58
+ inside: Prism.languages.javascript
59
+ }
60
+ });
61
+
35
62
  Prism.languages.javascript['keyword'].unshift(
36
63
  {
37
64
  pattern: /\b(?:as|default|export|from|import)\b/,
38
65
  alias: 'module'
39
66
  },
67
+ {
68
+ pattern: /\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,
69
+ alias: 'control-flow'
70
+ },
40
71
  {
41
72
  pattern: /\bnull\b/,
42
73
  alias: ['null', 'nil']
@@ -60,7 +91,7 @@
60
91
 
61
92
  Prism.languages.insertBefore('javascript', 'punctuation', {
62
93
  'property-access': {
63
- pattern: /(\.\s*)#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*/,
94
+ pattern: withId(/(\.\s*)#?<ID>/.source),
64
95
  lookbehind: true
65
96
  },
66
97
  'maybe-class-name': {
@@ -69,7 +100,7 @@
69
100
  },
70
101
  'dom': {
71
102
  // this contains only a few commonly used DOM variables
72
- pattern: /\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/,
103
+ pattern: /\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,
73
104
  alias: 'variable'
74
105
  },
75
106
  'console': {
@@ -58,11 +58,14 @@
58
58
  createTemplate('svg', /\bsvg/.source),
59
59
 
60
60
  // md`# h1`, markdown`## h2`
61
- createTemplate('markdown', /\b(?:md|markdown)/.source),
61
+ createTemplate('markdown', /\b(?:markdown|md)/.source),
62
62
 
63
63
  // gql`...`, graphql`...`, graphql.experimental`...`
64
64
  createTemplate('graphql', /\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),
65
65
 
66
+ // sql`...`
67
+ createTemplate('sql', /\bsql/.source),
68
+
66
69
  // vanilla template string
67
70
  templateString
68
71
  ].filter(Boolean);
@@ -170,7 +173,7 @@
170
173
  var interpolationExpression = token.content;
171
174
 
172
175
  var placeholder;
173
- while (code.indexOf(placeholder = getPlaceholder(placeholderCounter++, language)) !== -1) { }
176
+ while (code.indexOf(placeholder = getPlaceholder(placeholderCounter++, language)) !== -1) { /* noop */ }
174
177
  placeholderMap[placeholder] = interpolationExpression;
175
178
  return placeholder;
176
179
  }
@@ -2,13 +2,13 @@
2
2
 
3
3
  var javascript = Prism.languages.javascript;
4
4
 
5
- var type = /{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}/.source;
6
- var parameterPrefix = '(@(?:param|arg|argument|property)\\s+(?:' + type + '\\s+)?)';
5
+ var type = /\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source;
6
+ var parameterPrefix = '(@(?:arg|argument|param|property)\\s+(?:' + type + '\\s+)?)';
7
7
 
8
8
  Prism.languages.jsdoc = Prism.languages.extend('javadoclike', {
9
9
  'parameter': {
10
10
  // @param {string} foo - foo bar
11
- pattern: RegExp(parameterPrefix + /[$\w\xA0-\uFFFF.]+(?=\s|$)/.source),
11
+ pattern: RegExp(parameterPrefix + /(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),
12
12
  lookbehind: true,
13
13
  inside: {
14
14
  'punctuation': /\./
@@ -19,7 +19,7 @@
19
19
  Prism.languages.insertBefore('jsdoc', 'keyword', {
20
20
  'optional-parameter': {
21
21
  // @param {string} [baz.foo="bar"] foo bar
22
- pattern: RegExp(parameterPrefix + /\[[$\w\xA0-\uFFFF.]+(?:=[^[\]]+)?\](?=\s|$)/.source),
22
+ pattern: RegExp(parameterPrefix + /\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),
23
23
  lookbehind: true,
24
24
  inside: {
25
25
  'parameter': {
@@ -40,26 +40,31 @@
40
40
  },
41
41
  'class-name': [
42
42
  {
43
- pattern: RegExp('(@[a-z]+\\s+)' + type),
43
+ pattern: RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g, function () { return type; })),
44
44
  lookbehind: true,
45
45
  inside: {
46
- 'punctuation': /[.,:?=<>|{}()[\]]/
46
+ 'punctuation': /\./
47
47
  }
48
48
  },
49
49
  {
50
- pattern: /(@(?:augments|extends|class|interface|memberof!?|this)\s+)[A-Z]\w*(?:\.[A-Z]\w*)*/,
50
+ pattern: RegExp('(@[a-z]+\\s+)' + type),
51
51
  lookbehind: true,
52
52
  inside: {
53
- 'punctuation': /\./
53
+ 'string': javascript.string,
54
+ 'number': javascript.number,
55
+ 'boolean': javascript.boolean,
56
+ 'keyword': Prism.languages.typescript.keyword,
57
+ 'operator': /=>|\.\.\.|[&|?:*]/,
58
+ 'punctuation': /[.,;=<>{}()[\]]/
54
59
  }
55
60
  }
56
61
  ],
57
62
  'example': {
58
- pattern: /(@example\s+)[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,
63
+ pattern: /(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,
59
64
  lookbehind: true,
60
65
  inside: {
61
66
  'code': {
62
- pattern: /^(\s*(?:\*\s*)?).+$/m,
67
+ pattern: /^([\t ]*(?:\*\s*)?)\S.*$/m,
63
68
  lookbehind: true,
64
69
  inside: javascript,
65
70
  alias: 'language-javascript'
@@ -1,19 +1,27 @@
1
+ // https://www.json.org/json-en.html
1
2
  Prism.languages.json = {
2
3
  'property': {
3
- pattern: /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,
4
+ pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,
5
+ lookbehind: true,
4
6
  greedy: true
5
7
  },
6
8
  'string': {
7
- pattern: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,
9
+ pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,
10
+ lookbehind: true,
8
11
  greedy: true
9
12
  },
10
- 'comment': /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,
11
- 'number': /-?\d+\.?\d*(?:e[+-]?\d+)?/i,
13
+ 'comment': {
14
+ pattern: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,
15
+ greedy: true
16
+ },
17
+ 'number': /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
12
18
  'punctuation': /[{}[\],]/,
13
19
  'operator': /:/,
14
- 'boolean': /\b(?:true|false)\b/,
20
+ 'boolean': /\b(?:false|true)\b/,
15
21
  'null': {
16
22
  pattern: /\bnull\b/,
17
23
  alias: 'keyword'
18
24
  }
19
25
  };
26
+
27
+ Prism.languages.webmanifest = Prism.languages.json;
@@ -1,6 +1,6 @@
1
1
  (function (Prism) {
2
2
 
3
- var string = /("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/
3
+ var string = /("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/;
4
4
 
5
5
  Prism.languages.json5 = Prism.languages.extend('json', {
6
6
  'property': [
@@ -9,7 +9,7 @@
9
9
  greedy: true
10
10
  },
11
11
  {
12
- pattern: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*:)/,
12
+ pattern: /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/,
13
13
  alias: 'unquoted'
14
14
  }
15
15
  ],
@@ -17,7 +17,7 @@
17
17
  pattern: string,
18
18
  greedy: true
19
19
  },
20
- 'number': /[+-]?(?:NaN|Infinity|0x[a-fA-F\d]+|(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?)/
20
+ 'number': /[+-]?\b(?:NaN|Infinity|0x[a-fA-F\d]+)\b|[+-]?(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+\b)?/
21
21
  });
22
22
 
23
23
  }(Prism));
@@ -3,5 +3,5 @@ Prism.languages.jsonp = Prism.languages.extend('json', {
3
3
  });
4
4
 
5
5
  Prism.languages.insertBefore('jsonp', 'punctuation', {
6
- 'function': /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/
6
+ 'function': /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*\()/
7
7
  });
@@ -0,0 +1,49 @@
1
+ Prism.languages.jsstacktrace = {
2
+ 'error-message': {
3
+ pattern: /^\S.*/m,
4
+ alias: 'string'
5
+ },
6
+
7
+ 'stack-frame': {
8
+ pattern: /(^[ \t]+)at[ \t].*/m,
9
+ lookbehind: true,
10
+ inside: {
11
+ 'not-my-code': {
12
+ pattern: /^at[ \t]+(?!\s)(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m,
13
+ alias: 'comment'
14
+ },
15
+
16
+ 'filename': {
17
+ pattern: /(\bat\s+(?!\s)|\()(?:[a-zA-Z]:)?[^():]+(?=:)/,
18
+ lookbehind: true,
19
+ alias: 'url'
20
+ },
21
+
22
+ 'function': {
23
+ pattern: /(\bat\s+(?:new\s+)?)(?!\s)[_$a-zA-Z\xA0-\uFFFF<][.$\w\xA0-\uFFFF<>]*/,
24
+ lookbehind: true,
25
+ inside: {
26
+ 'punctuation': /\./
27
+ }
28
+ },
29
+
30
+ 'punctuation': /[()]/,
31
+
32
+ 'keyword': /\b(?:at|new)\b/,
33
+
34
+ 'alias': {
35
+ pattern: /\[(?:as\s+)?(?!\s)[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\]/,
36
+ alias: 'variable'
37
+ },
38
+
39
+ 'line-number': {
40
+ pattern: /:\d+(?::\d+)?\b/,
41
+ alias: 'number',
42
+ inside: {
43
+ 'punctuation': /:/
44
+ }
45
+ },
46
+
47
+ }
48
+ }
49
+ };