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
@@ -0,0 +1,199 @@
1
+ // Docs:
2
+ // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio
3
+ // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0
4
+
5
+ (function (Prism) {
6
+
7
+ var commentLike = /\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//.source;
8
+ var stringLike =
9
+ /@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source +
10
+ '|' +
11
+ /'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;
12
+
13
+ /**
14
+ * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
15
+ *
16
+ * @param {string} pattern
17
+ * @param {number} depthLog2
18
+ * @returns {string}
19
+ */
20
+ function nested(pattern, depthLog2) {
21
+ for (var i = 0; i < depthLog2; i++) {
22
+ pattern = pattern.replace(/<self>/g, function () { return '(?:' + pattern + ')'; });
23
+ }
24
+ return pattern
25
+ .replace(/<self>/g, '[^\\s\\S]')
26
+ .replace(/<str>/g, '(?:' + stringLike + ')')
27
+ .replace(/<comment>/g, '(?:' + commentLike + ')');
28
+ }
29
+
30
+ var round = nested(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source, 2);
31
+ var square = nested(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source, 1);
32
+ var curly = nested(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source, 2);
33
+ var angle = nested(/<(?:[^<>'"@/]|<comment>|<self>)*>/.source, 1);
34
+
35
+ var inlineCs = /@/.source +
36
+ /(?:await\b\s*)?/.source +
37
+ '(?:' + /(?!await\b)\w+\b/.source + '|' + round + ')' +
38
+ '(?:' + /[?!]?\.\w+\b/.source + '|' + '(?:' + angle + ')?' + round + '|' + square + ')*' +
39
+ /(?![?!\.(\[]|<(?!\/))/.source;
40
+
41
+ // Note about the above bracket patterns:
42
+ // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and
43
+ // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which
44
+ // messes up the bracket and string counting implemented by the above patterns.
45
+ //
46
+ // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect
47
+ // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the
48
+ // complexity of an HTML expression.
49
+ //
50
+ // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also
51
+ // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.
52
+
53
+ var tagAttrInlineCs = /@(?![\w()])/.source + '|' + inlineCs;
54
+ var tagAttrValue = '(?:' +
55
+ /"[^"@]*"|'[^'@]*'|[^\s'"@>=]+(?=[\s>])/.source +
56
+ '|' +
57
+ '["\'][^"\'@]*(?:(?:' + tagAttrInlineCs + ')[^"\'@]*)+["\']' +
58
+ ')';
59
+
60
+ var tagAttrs = /(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*<tagAttrValue>|(?=[\s/>])))+)?/.source.replace(/<tagAttrValue>/, tagAttrValue);
61
+ var tagContent = /(?!\d)[^\s>\/=$<%]+/.source + tagAttrs + /\s*\/?>/.source;
62
+ var tagRegion =
63
+ /\B@?/.source +
64
+ '(?:' +
65
+ /<([a-zA-Z][\w:]*)/.source + tagAttrs + /\s*>/.source +
66
+ '(?:' +
67
+ (
68
+ /[^<]/.source +
69
+ '|' +
70
+ // all tags that are not the start tag
71
+ // eslint-disable-next-line regexp/strict
72
+ /<\/?(?!\1\b)/.source + tagContent +
73
+ '|' +
74
+ // nested start tag
75
+ nested(
76
+ // eslint-disable-next-line regexp/strict
77
+ /<\1/.source + tagAttrs + /\s*>/.source +
78
+ '(?:' +
79
+ (
80
+ /[^<]/.source +
81
+ '|' +
82
+ // all tags that are not the start tag
83
+ // eslint-disable-next-line regexp/strict
84
+ /<\/?(?!\1\b)/.source + tagContent +
85
+ '|' +
86
+ '<self>'
87
+ ) +
88
+ ')*' +
89
+ // eslint-disable-next-line regexp/strict
90
+ /<\/\1\s*>/.source,
91
+ 2
92
+ )
93
+ ) +
94
+ ')*' +
95
+ // eslint-disable-next-line regexp/strict
96
+ /<\/\1\s*>/.source +
97
+ '|' +
98
+ /</.source + tagContent +
99
+ ')';
100
+
101
+ // Now for the actual language definition(s):
102
+ //
103
+ // Razor as a language has 2 parts:
104
+ // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.
105
+ // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.
106
+ //
107
+ // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each
108
+ // other. However, only CSHTML will be exported via `Prism.languages`.
109
+
110
+ Prism.languages.cshtml = Prism.languages.extend('markup', {});
111
+
112
+ var csharpWithHtml = Prism.languages.insertBefore('csharp', 'string', {
113
+ 'html': {
114
+ pattern: RegExp(tagRegion),
115
+ greedy: true,
116
+ inside: Prism.languages.cshtml
117
+ },
118
+ }, { csharp: Prism.languages.extend('csharp', {}) });
119
+
120
+ var cs = {
121
+ pattern: /\S[\s\S]*/,
122
+ alias: 'language-csharp',
123
+ inside: csharpWithHtml
124
+ };
125
+
126
+ var inlineValue = {
127
+ pattern: RegExp(/(^|[^@])/.source + inlineCs),
128
+ lookbehind: true,
129
+ greedy: true,
130
+ alias: 'variable',
131
+ inside: {
132
+ 'keyword': /^@/,
133
+ 'csharp': cs
134
+ }
135
+ };
136
+
137
+ Prism.languages.cshtml.tag.pattern = RegExp(/<\/?/.source + tagContent);
138
+ Prism.languages.cshtml.tag.inside['attr-value'].pattern = RegExp(/=\s*/.source + tagAttrValue);
139
+ Prism.languages.insertBefore('inside', 'punctuation', { 'value': inlineValue }, Prism.languages.cshtml.tag.inside['attr-value']);
140
+
141
+ Prism.languages.insertBefore('cshtml', 'prolog', {
142
+ 'razor-comment': {
143
+ pattern: /@\*[\s\S]*?\*@/,
144
+ greedy: true,
145
+ alias: 'comment'
146
+ },
147
+
148
+ 'block': {
149
+ pattern: RegExp(
150
+ /(^|[^@])@/.source +
151
+ '(?:' +
152
+ [
153
+ // @{ ... }
154
+ curly,
155
+ // @code{ ... }
156
+ /(?:code|functions)\s*/.source + curly,
157
+ // @for (...) { ... }
158
+ /(?:for|foreach|lock|switch|using|while)\s*/.source + round + /\s*/.source + curly,
159
+ // @do { ... } while (...);
160
+ /do\s*/.source + curly + /\s*while\s*/.source + round + /(?:\s*;)?/.source,
161
+ // @try { ... } catch (...) { ... } finally { ... }
162
+ /try\s*/.source + curly + /\s*catch\s*/.source + round + /\s*/.source + curly + /\s*finally\s*/.source + curly,
163
+ // @if (...) {...} else if (...) {...} else {...}
164
+ /if\s*/.source + round + /\s*/.source + curly + '(?:' + /\s*else/.source + '(?:' + /\s+if\s*/.source + round + ')?' + /\s*/.source + curly + ')*',
165
+ // @helper Ident(params) { ... }
166
+ /helper\s+\w+\s*/.source + round + /\s*/.source + curly,
167
+ ].join('|') +
168
+ ')'
169
+ ),
170
+ lookbehind: true,
171
+ greedy: true,
172
+ inside: {
173
+ 'keyword': /^@\w*/,
174
+ 'csharp': cs
175
+ }
176
+ },
177
+
178
+ 'directive': {
179
+ pattern: /^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,
180
+ lookbehind: true,
181
+ greedy: true,
182
+ inside: {
183
+ 'keyword': /^@\w+/,
184
+ 'csharp': cs
185
+ }
186
+ },
187
+
188
+ 'value': inlineValue,
189
+
190
+ 'delegate-operator': {
191
+ pattern: /(^|[^@])@(?=<)/,
192
+ lookbehind: true,
193
+ alias: 'operator'
194
+ }
195
+ });
196
+
197
+ Prism.languages.razor = Prism.languages.cshtml;
198
+
199
+ }(Prism));
@@ -4,22 +4,73 @@
4
4
  * Reference: https://scotthelme.co.uk/csp-cheat-sheet/
5
5
  *
6
6
  * Supports the following:
7
- * - CSP Level 1
8
- * - CSP Level 2
9
- * - CSP Level 3
7
+ * - https://www.w3.org/TR/CSP1/
8
+ * - https://www.w3.org/TR/CSP2/
9
+ * - https://www.w3.org/TR/CSP3/
10
10
  */
11
11
 
12
- Prism.languages.csp = {
13
- 'directive': {
14
- pattern: /\b(?:(?:base-uri|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox) |(?:block-all-mixed-content|disown-opener|upgrade-insecure-requests)(?: |;)|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src )/i,
15
- alias: 'keyword'
16
- },
17
- 'safe': {
18
- pattern: /'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\d+=/]+)'/,
19
- alias: 'selector'
20
- },
21
- 'unsafe': {
22
- pattern: /(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*)/,
23
- alias: 'function'
12
+ (function (Prism) {
13
+
14
+ /**
15
+ * @param {string} source
16
+ * @returns {RegExp}
17
+ */
18
+ function value(source) {
19
+ return RegExp(/([ \t])/.source + '(?:' + source + ')' + /(?=[\s;]|$)/.source, 'i');
24
20
  }
25
- };
21
+
22
+ Prism.languages.csp = {
23
+ 'directive': {
24
+ pattern: /(^|[\s;])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[\s;]|$)/i,
25
+ lookbehind: true,
26
+ alias: 'property'
27
+ },
28
+ 'scheme': {
29
+ pattern: value(/[a-z][a-z0-9.+-]*:/.source),
30
+ lookbehind: true
31
+ },
32
+ 'none': {
33
+ pattern: value(/'none'/.source),
34
+ lookbehind: true,
35
+ alias: 'keyword'
36
+ },
37
+ 'nonce': {
38
+ pattern: value(/'nonce-[-+/\w=]+'/.source),
39
+ lookbehind: true,
40
+ alias: 'number'
41
+ },
42
+ 'hash': {
43
+ pattern: value(/'sha(?:256|384|512)-[-+/\w=]+'/.source),
44
+ lookbehind: true,
45
+ alias: 'number'
46
+ },
47
+ 'host': {
48
+ pattern: value(
49
+ /[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source +
50
+ '|' +
51
+ /\*[^\s;,']*/.source +
52
+ '|' +
53
+ /[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source
54
+ ),
55
+ lookbehind: true,
56
+ alias: 'url',
57
+ inside: {
58
+ 'important': /\*/
59
+ }
60
+ },
61
+ 'keyword': [
62
+ {
63
+ pattern: value(/'unsafe-[a-z-]+'/.source),
64
+ lookbehind: true,
65
+ alias: 'unsafe'
66
+ },
67
+ {
68
+ pattern: value(/'[a-z-]+'/.source),
69
+ lookbehind: true,
70
+ alias: 'safe'
71
+ },
72
+ ],
73
+ 'punctuation': /;/
74
+ };
75
+
76
+ }(Prism));
@@ -4,12 +4,13 @@
4
4
  var selectorInside;
5
5
 
6
6
  Prism.languages.css.selector = {
7
- pattern: Prism.languages.css.selector,
7
+ pattern: Prism.languages.css.selector.pattern,
8
+ lookbehind: true,
8
9
  inside: selectorInside = {
9
10
  'pseudo-element': /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,
10
11
  'pseudo-class': /:[-\w]+/,
11
- 'class': /\.[-:.\w]+/,
12
- 'id': /#[-:.\w]+/,
12
+ 'class': /\.[-\w]+/,
13
+ 'id': /#[-\w]+/,
13
14
  'attribute': {
14
15
  pattern: RegExp('\\[(?:[^[\\]"\']|' + string.source + ')*\\]'),
15
16
  greedy: true,
@@ -21,20 +22,20 @@
21
22
  alias: 'keyword'
22
23
  },
23
24
  'namespace': {
24
- pattern: /^(\s*)[-*\w\xA0-\uFFFF]*\|(?!=)/,
25
+ pattern: /^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,
25
26
  lookbehind: true,
26
27
  inside: {
27
28
  'punctuation': /\|$/
28
29
  }
29
30
  },
30
- 'attribute': {
31
- pattern: /^(\s*)[-\w\xA0-\uFFFF]+/,
31
+ 'attr-name': {
32
+ pattern: /^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,
32
33
  lookbehind: true
33
34
  },
34
- 'value': [
35
+ 'attr-value': [
35
36
  string,
36
37
  {
37
- pattern: /(=\s*)[-\w\xA0-\uFFFF]+(?=\s*$)/,
38
+ pattern: /(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,
38
39
  lookbehind: true
39
40
  }
40
41
  ],
@@ -55,7 +56,13 @@
55
56
  lookbehind: true
56
57
  }
57
58
  ],
58
- 'punctuation': /[()]/
59
+ 'combinator': />|\+|~|\|\|/,
60
+
61
+ // the `tag` token has been existed and removed.
62
+ // because we can't find a perfect tokenize to match it.
63
+ // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.
64
+
65
+ 'punctuation': /[(),]/,
59
66
  }
60
67
  };
61
68
 
@@ -63,18 +70,18 @@
63
70
 
64
71
  Prism.languages.insertBefore('css', 'property', {
65
72
  'variable': {
66
- pattern: /(^|[^-\w\xA0-\uFFFF])--[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*/i,
73
+ pattern: /(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,
67
74
  lookbehind: true
68
75
  }
69
76
  });
70
77
 
71
78
  var unit = {
72
- pattern: /(\d)(?:%|[a-z]+)/,
79
+ pattern: /(\b\d+)(?:%|[a-z]+(?![\w-]))/,
73
80
  lookbehind: true
74
81
  };
75
82
  // 123 -123 .123 -.123 12.3 -12.3
76
83
  var number = {
77
- pattern: /(^|[^\w.-])-?\d*\.?\d+/,
84
+ pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,
78
85
  lookbehind: true
79
86
  };
80
87
 
@@ -86,13 +93,16 @@
86
93
  // CAREFUL!
87
94
  // Previewers and Inline color use hexcode and color.
88
95
  'hexcode': {
89
- pattern: /\B#(?:[\da-f]{1,2}){3,4}\b/i,
96
+ pattern: /\B#[\da-f]{3,8}\b/i,
90
97
  alias: 'color'
91
98
  },
92
99
  'color': [
93
- /\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,
94
100
  {
95
- pattern: /\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,
101
+ pattern: /(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,
102
+ lookbehind: true
103
+ },
104
+ {
105
+ pattern: /\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,
96
106
  inside: {
97
107
  'unit': unit,
98
108
  'number': number,
@@ -101,9 +111,10 @@
101
111
  }
102
112
  }
103
113
  ],
114
+ // it's important that there is no boundary assertion after the hex digits
104
115
  'entity': /\\[\da-f]{1,8}/i,
105
116
  'unit': unit,
106
117
  'number': number
107
118
  });
108
119
 
109
- })(Prism);
120
+ }(Prism));
@@ -1,36 +1,55 @@
1
1
  (function (Prism) {
2
2
 
3
- var string = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;
3
+ var string = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;
4
4
 
5
5
  Prism.languages.css = {
6
6
  'comment': /\/\*[\s\S]*?\*\//,
7
7
  'atrule': {
8
- pattern: /@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,
8
+ pattern: RegExp('@[\\w-](?:' + /[^;{\s"']|\s+(?!\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\s*\{))/.source),
9
9
  inside: {
10
10
  'rule': /^@[\w-]+/,
11
11
  'selector-function-argument': {
12
- pattern: /(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/,
12
+ pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,
13
13
  lookbehind: true,
14
14
  alias: 'selector'
15
+ },
16
+ 'keyword': {
17
+ pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/,
18
+ lookbehind: true
15
19
  }
16
20
  // See rest below
17
21
  }
18
22
  },
19
23
  'url': {
20
- pattern: RegExp('url\\((?:' + string.source + '|[^\n\r()]*)\\)', 'i'),
24
+ // https://drafts.csswg.org/css-values-3/#urls
25
+ pattern: RegExp('\\burl\\((?:' + string.source + '|' + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ')\\)', 'i'),
26
+ greedy: true,
21
27
  inside: {
22
28
  'function': /^url/i,
23
- 'punctuation': /^\(|\)$/
29
+ 'punctuation': /^\(|\)$/,
30
+ 'string': {
31
+ pattern: RegExp('^' + string.source + '$'),
32
+ alias: 'url'
33
+ }
24
34
  }
25
35
  },
26
- 'selector': RegExp('[^{}\\s](?:[^{};"\']|' + string.source + ')*?(?=\\s*\\{)'),
36
+ 'selector': {
37
+ pattern: RegExp('(^|[{}\\s])[^{}\\s](?:[^{};"\'\\s]|\\s+(?![\\s{])|' + string.source + ')*(?=\\s*\\{)'),
38
+ lookbehind: true
39
+ },
27
40
  'string': {
28
41
  pattern: string,
29
42
  greedy: true
30
43
  },
31
- 'property': /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,
44
+ 'property': {
45
+ pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,
46
+ lookbehind: true
47
+ },
32
48
  'important': /!important\b/i,
33
- 'function': /[-a-z0-9]+(?=\()/i,
49
+ 'function': {
50
+ pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,
51
+ lookbehind: true
52
+ },
34
53
  'punctuation': /[(){};:,]/
35
54
  };
36
55
 
@@ -39,24 +58,7 @@
39
58
  var markup = Prism.languages.markup;
40
59
  if (markup) {
41
60
  markup.tag.addInlined('style', 'css');
42
-
43
- Prism.languages.insertBefore('inside', 'attr-value', {
44
- 'style-attr': {
45
- pattern: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,
46
- inside: {
47
- 'attr-name': {
48
- pattern: /^\s*style/i,
49
- inside: markup.tag.inside
50
- },
51
- 'punctuation': /^\s*=\s*['"]|['"]\s*$/,
52
- 'attr-value': {
53
- pattern: /.+/i,
54
- inside: Prism.languages.css
55
- }
56
- },
57
- alias: 'language-css'
58
- }
59
- }, markup.tag);
61
+ markup.tag.addAttribute('style', 'css');
60
62
  }
61
63
 
62
64
  }(Prism));
@@ -0,0 +1,6 @@
1
+ // https://tools.ietf.org/html/rfc4180
2
+
3
+ Prism.languages.csv = {
4
+ 'value': /[^\r\n,"]+|"(?:[^"]|"")*"(?!")/,
5
+ 'punctuation': /,/
6
+ };
@@ -0,0 +1,84 @@
1
+ (function (Prism) {
2
+
3
+ // https://cuelang.org/docs/references/spec/
4
+
5
+ // eslint-disable-next-line regexp/strict
6
+ var stringEscape = /\\(?:(?!\2)|\2(?:[^()\r\n]|\([^()]*\)))/.source;
7
+ // eslint-disable-next-line regexp/strict
8
+ var stringTypes = /"""(?:[^\\"]|"(?!""\2)|<esc>)*"""/.source +
9
+ // eslint-disable-next-line regexp/strict
10
+ '|' + /'''(?:[^\\']|'(?!''\2)|<esc>)*'''/.source +
11
+ // eslint-disable-next-line regexp/strict
12
+ '|' + /"(?:[^\\\r\n"]|"(?!\2)|<esc>)*"/.source +
13
+ // eslint-disable-next-line regexp/strict
14
+ '|' + /'(?:[^\\\r\n']|'(?!\2)|<esc>)*'/.source;
15
+ var stringLiteral = '(?:' + stringTypes.replace(/<esc>/g, stringEscape) + ')';
16
+
17
+ Prism.languages.cue = {
18
+ 'comment': {
19
+ pattern: /\/\/.*/,
20
+ greedy: true
21
+ },
22
+ 'string-literal': {
23
+ // eslint-disable-next-line regexp/strict
24
+ pattern: RegExp(/(^|[^#"'\\])(#*)/.source + stringLiteral + /(?!["'])\2/.source),
25
+ lookbehind: true,
26
+ greedy: true,
27
+ inside: {
28
+ // I'm using dirty hack here. We have to know the number hashes at the start of the string somehow,
29
+ // but we can't look back. So instead, we will use a lookahead, go to the end of the string, and
30
+ // capture the hashes at the end of the string.
31
+ 'escape': {
32
+ pattern: /(?=[\s\S]*["'](#*)$)\\\1(?:U[a-fA-F0-9]{1,8}|u[a-fA-F0-9]{1,4}|x[a-fA-F0-9]{1,2}|\d{2,3}|[^(])/,
33
+ greedy: true,
34
+ alias: 'string'
35
+ },
36
+ 'interpolation': {
37
+ pattern: /(?=[\s\S]*["'](#*)$)\\\1\([^()]*\)/,
38
+ greedy: true,
39
+ inside: {
40
+ 'punctuation': /^\\#*\(|\)$/,
41
+ 'expression': {
42
+ pattern: /[\s\S]+/,
43
+ inside: null
44
+ }
45
+ }
46
+ },
47
+ 'string': /[\s\S]+/
48
+ }
49
+ },
50
+
51
+ 'keyword': {
52
+ pattern: /(^|[^\w$])(?:for|if|import|in|let|null|package)(?![\w$])/,
53
+ lookbehind: true
54
+ },
55
+ 'boolean': {
56
+ pattern: /(^|[^\w$])(?:false|true)(?![\w$])/,
57
+ lookbehind: true
58
+ },
59
+ 'builtin': {
60
+ pattern: /(^|[^\w$])(?:bool|bytes|float|float(?:32|64)|u?int(?:8|16|32|64|128)?|number|rune|string)(?![\w$])/,
61
+ lookbehind: true
62
+ },
63
+
64
+ 'attribute': {
65
+ pattern: /@[\w$]+(?=\s*\()/,
66
+ alias: 'function'
67
+ },
68
+ 'function': {
69
+ pattern: /(^|[^\w$])[a-z_$][\w$]*(?=\s*\()/i,
70
+ lookbehind: true
71
+ },
72
+
73
+ 'number': {
74
+ pattern: /(^|[^\w$.])(?:0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|0[xX][0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*|(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[eE][+-]?\d+(?:_\d+)*)?(?:[KMGTP]i?)?)(?![\w$])/,
75
+ lookbehind: true
76
+ },
77
+
78
+ 'operator': /\.{3}|_\|_|&&?|\|\|?|[=!]~|[<>=!]=?|[+\-*/?]/,
79
+ 'punctuation': /[()[\]{},.:]/
80
+ };
81
+
82
+ Prism.languages.cue['string-literal'].inside.interpolation.inside.expression.inside = Prism.languages.cue;
83
+
84
+ }(Prism));
@@ -0,0 +1,36 @@
1
+ Prism.languages.cypher = {
2
+ // https://neo4j.com/docs/cypher-manual/current/syntax/comments/
3
+ 'comment': /\/\/.*/,
4
+ 'string': {
5
+ pattern: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,
6
+ greedy: true
7
+ },
8
+ 'class-name': {
9
+ pattern: /(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,
10
+ lookbehind: true,
11
+ greedy: true
12
+ },
13
+ 'relationship': {
14
+ pattern: /(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,
15
+ lookbehind: true,
16
+ greedy: true,
17
+ alias: 'property'
18
+ },
19
+ 'identifier': {
20
+ pattern: /`(?:[^`\\\r\n])*`/,
21
+ greedy: true
22
+ },
23
+
24
+ 'variable': /\$\w+/,
25
+
26
+ // https://neo4j.com/docs/cypher-manual/current/syntax/reserved/
27
+ 'keyword': /\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i,
28
+
29
+ 'function': /\b\w+\b(?=\s*\()/,
30
+
31
+ 'boolean': /\b(?:false|null|true)\b/i,
32
+ 'number': /\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,
33
+ // https://neo4j.com/docs/cypher-manual/current/syntax/operators/
34
+ 'operator': /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,
35
+ 'punctuation': /[()[\]{},;.]/
36
+ };