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,10 +1,10 @@
1
1
  Prism.languages.lolcode = {
2
2
  'comment': [
3
- /\bOBTW\s+[\s\S]*?\s+TLDR\b/,
3
+ /\bOBTW\s[\s\S]*?\sTLDR\b/,
4
4
  /\bBTW.+/
5
5
  ],
6
6
  'string': {
7
- pattern: /"(?::.|[^"])*"/,
7
+ pattern: /"(?::.|[^":])*"/,
8
8
  inside: {
9
9
  'variable': /:\{[^}]+\}/,
10
10
  'symbol': [
@@ -15,9 +15,9 @@ Prism.languages.lolcode = {
15
15
  },
16
16
  greedy: true
17
17
  },
18
- 'number': /(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/,
18
+ 'number': /(?:\B-)?(?:\b\d+(?:\.\d*)?|\B\.\d+)/,
19
19
  'symbol': {
20
- pattern: /(^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/,
20
+ pattern: /(^|\s)(?:A )?(?:BUKKIT|NOOB|NUMBAR|NUMBR|TROOF|YARN)(?=\s|,|$)/,
21
21
  lookbehind: true,
22
22
  inside: {
23
23
  'keyword': /A(?=\s)/
@@ -29,18 +29,18 @@ Prism.languages.lolcode = {
29
29
  alias: 'string'
30
30
  },
31
31
  'function': {
32
- pattern: /((?:^|\s)(?:I IZ|HOW IZ I|IZ) )[a-zA-Z]\w*/,
32
+ pattern: /((?:^|\s)(?:HOW IZ I|I IZ|IZ) )[a-zA-Z]\w*/,
33
33
  lookbehind: true
34
34
  },
35
35
  'keyword': [
36
36
  {
37
- pattern: /(^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/,
37
+ pattern: /(^|\s)(?:AN|FOUND YR|GIMMEH|GTFO|HAI|HAS A|HOW IZ I|I HAS A|I IZ|IF U SAY SO|IM IN YR|IM OUTTA YR|IS NOW(?: A)?|ITZ(?: A)?|IZ|KTHX|KTHXBYE|LIEK(?: A)?|MAEK|MEBBE|MKAY|NERFIN|NO WAI|O HAI IM|O RLY\?|OIC|OMG|OMGWTF|R|SMOOSH|SRS|TIL|UPPIN|VISIBLE|WILE|WTF\?|YA RLY|YR)(?=\s|,|$)/,
38
38
  lookbehind: true
39
39
  },
40
40
  /'Z(?=\s|,|$)/
41
41
  ],
42
42
  'boolean': {
43
- pattern: /(^|\s)(?:WIN|FAIL)(?=\s|,|$)/,
43
+ pattern: /(^|\s)(?:FAIL|WIN)(?=\s|,|$)/,
44
44
  lookbehind: true
45
45
  },
46
46
  'variable': {
@@ -48,8 +48,8 @@ Prism.languages.lolcode = {
48
48
  lookbehind: true
49
49
  },
50
50
  'operator': {
51
- pattern: /(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/,
51
+ pattern: /(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:ALL|ANY|BIGGR|BOTH|DIFF|EITHER|MOD|PRODUKT|QUOSHUNT|SMALLR|SUM|WON) OF)(?=\s|,|$)/,
52
52
  lookbehind: true
53
53
  },
54
54
  'punctuation': /\.{3}|…|,|!/
55
- };
55
+ };
@@ -2,10 +2,10 @@ Prism.languages.lua = {
2
2
  'comment': /^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,
3
3
  // \z may be used to skip the following space
4
4
  'string': {
5
- pattern: /(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,
5
+ pattern: /(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,
6
6
  greedy: true
7
7
  },
8
- 'number': /\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,
8
+ 'number': /\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,
9
9
  'keyword': /\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,
10
10
  'function': /(?!\d)\w+(?=\s*(?:[({]))/,
11
11
  'operator': [
@@ -17,4 +17,4 @@ Prism.languages.lua = {
17
17
  }
18
18
  ],
19
19
  'punctuation': /[\[\](){},;]|\.+|:+/
20
- };
20
+ };
@@ -0,0 +1,35 @@
1
+ Prism.languages.magma = {
2
+ 'output': {
3
+ pattern: /^(>.*(?:\r(?:\n|(?!\n))|\n))(?!>)(?:.+|(?:\r(?:\n|(?!\n))|\n)(?!>).*)(?:(?:\r(?:\n|(?!\n))|\n)(?!>).*)*/m,
4
+ lookbehind: true,
5
+ greedy: true
6
+ },
7
+
8
+ 'comment': {
9
+ pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
10
+ greedy: true
11
+ },
12
+ 'string': {
13
+ pattern: /(^|[^\\"])"(?:[^\r\n\\"]|\\.)*"/,
14
+ lookbehind: true,
15
+ greedy: true
16
+ },
17
+
18
+ // http://magma.maths.usyd.edu.au/magma/handbook/text/82
19
+ 'keyword': /\b(?:_|adj|and|assert|assert2|assert3|assigned|break|by|case|cat|catch|clear|cmpeq|cmpne|continue|declare|default|delete|diff|div|do|elif|else|end|eq|error|eval|exists|exit|for|forall|forward|fprintf|freeze|function|ge|gt|if|iload|import|in|intrinsic|is|join|le|load|local|lt|meet|mod|ne|not|notadj|notin|notsubset|or|print|printf|procedure|quit|random|read|readi|repeat|require|requirege|requirerange|restore|return|save|sdiff|select|subset|then|time|to|try|until|vprint|vprintf|vtime|when|where|while|xor)\b/,
20
+ 'boolean': /\b(?:false|true)\b/,
21
+
22
+ 'generator': {
23
+ pattern: /\b[a-z_]\w*(?=\s*<)/i,
24
+ alias: 'class-name'
25
+ },
26
+ 'function': /\b[a-z_]\w*(?=\s*\()/i,
27
+
28
+ 'number': {
29
+ pattern: /(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,
30
+ lookbehind: true
31
+ },
32
+
33
+ 'operator': /->|[-+*/^~!|#=]|:=|\.\./,
34
+ 'punctuation': /[()[\]{}<>,;.:]/
35
+ };
@@ -8,27 +8,27 @@ Prism.languages.makefile = {
8
8
  greedy: true
9
9
  },
10
10
 
11
- // Built-in target names
12
- 'builtin': /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,
11
+ 'builtin-target': {
12
+ pattern: /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,
13
+ alias: 'builtin'
14
+ },
13
15
 
14
- // Targets
15
- 'symbol': {
16
- pattern: /^[^:=\r\n]+(?=\s*:(?!=))/m,
16
+ 'target': {
17
+ pattern: /^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,
18
+ alias: 'symbol',
17
19
  inside: {
18
- 'variable': /\$+(?:[^(){}:#=\s]+|(?=[({]))/
20
+ 'variable': /\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/
19
21
  }
20
22
  },
21
- 'variable': /\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,
23
+ 'variable': /\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,
22
24
 
23
- 'keyword': [
24
- // Directives
25
- /-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,
26
- // Functions
27
- {
28
- pattern: /(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,
29
- lookbehind: true
30
- }
31
- ],
25
+ // Directives
26
+ 'keyword': /-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,
27
+
28
+ 'function': {
29
+ pattern: /(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,
30
+ lookbehind: true
31
+ },
32
32
  'operator': /(?:::|[?:+!])?=|[|@]/,
33
33
  'punctuation': /[:;(){}]/
34
- };
34
+ };
@@ -1,7 +1,7 @@
1
1
  (function (Prism) {
2
2
 
3
3
  // Allow only one line break
4
- var inner = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?))/.source;
4
+ var inner = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;
5
5
 
6
6
  /**
7
7
  * This function is intended for the creation of the bold or italic pattern.
@@ -11,25 +11,34 @@
11
11
  * _Note:_ Keep in mind that this adds a capturing group.
12
12
  *
13
13
  * @param {string} pattern
14
- * @param {boolean} starAlternative Whether to also add an alternative where all `_`s are replaced with `*`s.
15
14
  * @returns {RegExp}
16
15
  */
17
- function createInline(pattern, starAlternative) {
18
- pattern = pattern.replace(/<inner>/g, inner);
19
- if (starAlternative) {
20
- pattern = pattern + '|' + pattern.replace(/_/g, '\\*');
21
- }
16
+ function createInline(pattern) {
17
+ pattern = pattern.replace(/<inner>/g, function () { return inner; });
22
18
  return RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + '(?:' + pattern + ')');
23
19
  }
24
20
 
25
21
 
26
- var tableCell = /(?:\\.|``.+?``|`[^`\r\n]+`|[^\\|\r\n`])+/.source;
27
- var tableRow = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|$)/.source.replace(/__/g, tableCell);
22
+ var tableCell = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source;
23
+ var tableRow = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g, function () { return tableCell; });
28
24
  var tableLine = /\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;
29
25
 
30
26
 
31
27
  Prism.languages.markdown = Prism.languages.extend('markup', {});
32
28
  Prism.languages.insertBefore('markdown', 'prolog', {
29
+ 'front-matter-block': {
30
+ pattern: /(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,
31
+ lookbehind: true,
32
+ greedy: true,
33
+ inside: {
34
+ 'punctuation': /^---|---$/,
35
+ 'front-matter': {
36
+ pattern: /\S+(?:\s+\S+)*/,
37
+ alias: ['yaml', 'language-yaml'],
38
+ inside: Prism.languages.yaml
39
+ }
40
+ }
41
+ },
33
42
  'blockquote': {
34
43
  // > ...
35
44
  pattern: /^>(?:[\t ]*>)*/m,
@@ -76,12 +85,6 @@
76
85
  lookbehind: true,
77
86
  alias: 'keyword'
78
87
  },
79
- {
80
- // `code`
81
- // ``code``
82
- pattern: /``.+?``|`[^`\r\n]+`/,
83
- alias: 'keyword'
84
- },
85
88
  {
86
89
  // ```optional language
87
90
  // code block
@@ -117,7 +120,7 @@
117
120
  {
118
121
  // # title 1
119
122
  // ###### title 6
120
- pattern: /(^\s*)#+.+/m,
123
+ pattern: /(^\s*)#.+/m,
121
124
  lookbehind: true,
122
125
  alias: 'important',
123
126
  inside: {
@@ -164,7 +167,7 @@
164
167
  // __strong__
165
168
 
166
169
  // allow one nested instance of italic text using the same delimiter
167
- pattern: createInline(/__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__/.source, true),
170
+ pattern: createInline(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),
168
171
  lookbehind: true,
169
172
  greedy: true,
170
173
  inside: {
@@ -181,7 +184,7 @@
181
184
  // _em_
182
185
 
183
186
  // allow one nested instance of bold text using the same delimiter
184
- pattern: createInline(/_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_/.source, true),
187
+ pattern: createInline(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),
185
188
  lookbehind: true,
186
189
  greedy: true,
187
190
  inside: {
@@ -196,7 +199,8 @@
196
199
  'strike': {
197
200
  // ~~strike through~~
198
201
  // ~strike~
199
- pattern: createInline(/(~~?)(?:(?!~)<inner>)+?\2/.source, false),
202
+ // eslint-disable-next-line regexp/strict
203
+ pattern: createInline(/(~~?)(?:(?!~)<inner>)+\2/.source),
200
204
  lookbehind: true,
201
205
  greedy: true,
202
206
  inside: {
@@ -208,32 +212,46 @@
208
212
  'punctuation': /~~?/
209
213
  }
210
214
  },
215
+ 'code-snippet': {
216
+ // `code`
217
+ // ``code``
218
+ pattern: /(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,
219
+ lookbehind: true,
220
+ greedy: true,
221
+ alias: ['code', 'keyword']
222
+ },
211
223
  'url': {
212
224
  // [example](http://example.com "Optional title")
213
225
  // [example][id]
214
226
  // [example] [id]
215
- pattern: createInline(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])<inner>)+\])/.source, false),
227
+ pattern: createInline(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),
216
228
  lookbehind: true,
217
229
  greedy: true,
218
230
  inside: {
219
- 'variable': {
220
- pattern: /(\[)[^\]]+(?=\]$)/,
221
- lookbehind: true
222
- },
231
+ 'operator': /^!/,
223
232
  'content': {
224
- pattern: /(^!?\[)[^\]]+(?=\])/,
233
+ pattern: /(^\[)[^\]]+(?=\])/,
225
234
  lookbehind: true,
226
235
  inside: {} // see below
227
236
  },
237
+ 'variable': {
238
+ pattern: /(^\][ \t]?\[)[^\]]+(?=\]$)/,
239
+ lookbehind: true
240
+ },
241
+ 'url': {
242
+ pattern: /(^\]\()[^\s)]+/,
243
+ lookbehind: true
244
+ },
228
245
  'string': {
229
- pattern: /"(?:\\.|[^"\\])*"(?=\)$)/
246
+ pattern: /(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,
247
+ lookbehind: true
230
248
  }
231
249
  }
232
250
  }
233
251
  });
234
252
 
235
253
  ['url', 'bold', 'italic', 'strike'].forEach(function (token) {
236
- ['url', 'bold', 'italic', 'strike'].forEach(function (inside) {
254
+ ['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (inside) {
237
255
  if (token !== inside) {
238
256
  Prism.languages.markdown[token].inside.content.inside[inside] = Prism.languages.markdown[inside];
239
257
  }
@@ -282,7 +300,7 @@
282
300
  // this might be a language that Prism does not support
283
301
 
284
302
  // do some replacements to support C++, C#, and F#
285
- var lang = codeLang.content.replace(/\b#/g, 'sharp').replace(/\b\+\+/g, 'pp')
303
+ var lang = codeLang.content.replace(/\b#/g, 'sharp').replace(/\b\+\+/g, 'pp');
286
304
  // only use the first word
287
305
  lang = (/[a-z][\w-]*/i.exec(lang) || [''])[0].toLowerCase();
288
306
  var alias = 'language-' + lang;
@@ -332,13 +350,66 @@
332
350
  });
333
351
  }
334
352
  } else {
335
- // reverse Prism.util.encode
336
- var code = env.content.replace(/&lt;/g, '<').replace(/&amp;/g, '&');
337
-
338
- env.content = Prism.highlight(code, grammar, codeLang);
353
+ env.content = Prism.highlight(textContent(env.content), grammar, codeLang);
339
354
  }
340
355
  });
341
356
 
357
+ var tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi');
358
+
359
+ /**
360
+ * A list of known entity names.
361
+ *
362
+ * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.
363
+ *
364
+ * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}
365
+ */
366
+ var KNOWN_ENTITY_NAMES = {
367
+ 'amp': '&',
368
+ 'lt': '<',
369
+ 'gt': '>',
370
+ 'quot': '"',
371
+ };
372
+
373
+ // IE 11 doesn't support `String.fromCodePoint`
374
+ var fromCodePoint = String.fromCodePoint || String.fromCharCode;
375
+
376
+ /**
377
+ * Returns the text content of a given HTML source code string.
378
+ *
379
+ * @param {string} html
380
+ * @returns {string}
381
+ */
382
+ function textContent(html) {
383
+ // remove all tags
384
+ var text = html.replace(tagPattern, '');
385
+
386
+ // decode known entities
387
+ text = text.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function (m, code) {
388
+ code = code.toLowerCase();
389
+
390
+ if (code[0] === '#') {
391
+ var value;
392
+ if (code[1] === 'x') {
393
+ value = parseInt(code.slice(2), 16);
394
+ } else {
395
+ value = Number(code.slice(1));
396
+ }
397
+
398
+ return fromCodePoint(value);
399
+ } else {
400
+ var known = KNOWN_ENTITY_NAMES[code];
401
+ if (known) {
402
+ return known;
403
+ }
404
+
405
+ // unable to decode
406
+ return m;
407
+ }
408
+ });
409
+
410
+ return text;
411
+ }
412
+
342
413
  Prism.languages.md = Prism.languages.markdown;
343
414
 
344
415
  }(Prism));
@@ -39,8 +39,9 @@
39
39
  var placeholder;
40
40
 
41
41
  // Check for existing strings
42
- while (env.code.indexOf(placeholder = getPlaceholder(language, i)) !== -1)
42
+ while (env.code.indexOf(placeholder = getPlaceholder(language, i)) !== -1) {
43
43
  ++i;
44
+ }
44
45
 
45
46
  // Create a sparse array
46
47
  tokenStack[i] = match;
@@ -1,27 +1,56 @@
1
1
  Prism.languages.markup = {
2
- 'comment': /<!--[\s\S]*?-->/,
3
- 'prolog': /<\?[\s\S]+?\?>/,
2
+ 'comment': {
3
+ pattern: /<!--(?:(?!<!--)[\s\S])*?-->/,
4
+ greedy: true
5
+ },
6
+ 'prolog': {
7
+ pattern: /<\?[\s\S]+?\?>/,
8
+ greedy: true
9
+ },
4
10
  'doctype': {
5
- pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:(?!<!--)[^"'\]]|"[^"]*"|'[^']*'|<!--[\s\S]*?-->)*\]\s*)?>/i,
11
+ // https://www.w3.org/TR/xml/#NT-doctypedecl
12
+ pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,
13
+ greedy: true,
14
+ inside: {
15
+ 'internal-subset': {
16
+ pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/,
17
+ lookbehind: true,
18
+ greedy: true,
19
+ inside: null // see below
20
+ },
21
+ 'string': {
22
+ pattern: /"[^"]*"|'[^']*'/,
23
+ greedy: true
24
+ },
25
+ 'punctuation': /^<!|>$|[[\]]/,
26
+ 'doctype-tag': /^DOCTYPE/i,
27
+ 'name': /[^\s<>'"]+/
28
+ }
29
+ },
30
+ 'cdata': {
31
+ pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
6
32
  greedy: true
7
33
  },
8
- 'cdata': /<!\[CDATA\[[\s\S]*?]]>/i,
9
34
  'tag': {
10
- pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,
35
+ pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,
11
36
  greedy: true,
12
37
  inside: {
13
38
  'tag': {
14
- pattern: /^<\/?[^\s>\/]+/i,
39
+ pattern: /^<\/?[^\s>\/]+/,
15
40
  inside: {
16
41
  'punctuation': /^<\/?/,
17
42
  'namespace': /^[^\s>\/:]+:/
18
43
  }
19
44
  },
45
+ 'special-attr': [],
20
46
  'attr-value': {
21
- pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,
47
+ pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,
22
48
  inside: {
23
49
  'punctuation': [
24
- /^=/,
50
+ {
51
+ pattern: /^=/,
52
+ alias: 'attr-equals'
53
+ },
25
54
  {
26
55
  pattern: /^(\s*)["']|["']$/,
27
56
  lookbehind: true
@@ -39,14 +68,21 @@ Prism.languages.markup = {
39
68
 
40
69
  }
41
70
  },
42
- 'entity': /&#?[\da-z]{1,8};/i
71
+ 'entity': [
72
+ {
73
+ pattern: /&[\da-z]{1,8};/i,
74
+ alias: 'named-entity'
75
+ },
76
+ /&#x?[\da-f]{1,8};/i
77
+ ]
43
78
  };
44
79
 
45
80
  Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] =
46
81
  Prism.languages.markup['entity'];
82
+ Prism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;
47
83
 
48
84
  // Plugin to make entity title show the real entity, idea by Roman Komarov
49
- Prism.hooks.add('wrap', function(env) {
85
+ Prism.hooks.add('wrap', function (env) {
50
86
 
51
87
  if (env.type === 'entity') {
52
88
  env.attributes['title'] = env.content.replace(/&amp;/, '&');
@@ -87,7 +123,7 @@ Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {
87
123
 
88
124
  var def = {};
89
125
  def[tagName] = {
90
- pattern: RegExp(/(<__[\s\S]*?>)(?:<!\[CDATA\[[\s\S]*?\]\]>\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g, tagName), 'i'),
126
+ pattern: RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),
91
127
  lookbehind: true,
92
128
  greedy: true,
93
129
  inside: inside
@@ -96,8 +132,55 @@ Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {
96
132
  Prism.languages.insertBefore('markup', 'cdata', def);
97
133
  }
98
134
  });
135
+ Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', {
136
+ /**
137
+ * Adds an pattern to highlight languages embedded in HTML attributes.
138
+ *
139
+ * An example of an inlined language is CSS with `style` attributes.
140
+ *
141
+ * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as
142
+ * case insensitive.
143
+ * @param {string} lang The language key.
144
+ * @example
145
+ * addAttribute('style', 'css');
146
+ */
147
+ value: function (attrName, lang) {
148
+ Prism.languages.markup.tag.inside['special-attr'].push({
149
+ pattern: RegExp(
150
+ /(^|["'\s])/.source + '(?:' + attrName + ')' + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,
151
+ 'i'
152
+ ),
153
+ lookbehind: true,
154
+ inside: {
155
+ 'attr-name': /^[^\s=]+/,
156
+ 'attr-value': {
157
+ pattern: /=[\s\S]+/,
158
+ inside: {
159
+ 'value': {
160
+ pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,
161
+ lookbehind: true,
162
+ alias: [lang, 'language-' + lang],
163
+ inside: Prism.languages[lang]
164
+ },
165
+ 'punctuation': [
166
+ {
167
+ pattern: /^=/,
168
+ alias: 'attr-equals'
169
+ },
170
+ /"|'/
171
+ ]
172
+ }
173
+ }
174
+ }
175
+ });
176
+ }
177
+ });
99
178
 
100
- Prism.languages.xml = Prism.languages.extend('markup', {});
101
179
  Prism.languages.html = Prism.languages.markup;
102
180
  Prism.languages.mathml = Prism.languages.markup;
103
181
  Prism.languages.svg = Prism.languages.markup;
182
+
183
+ Prism.languages.xml = Prism.languages.extend('markup', {});
184
+ Prism.languages.ssml = Prism.languages.xml;
185
+ Prism.languages.atom = Prism.languages.xml;
186
+ Prism.languages.rss = Prism.languages.xml;
@@ -0,0 +1,50 @@
1
+ // https://www.stata.com/manuals/m.pdf
2
+
3
+ (function (Prism) {
4
+
5
+ var orgType = /\b(?:(?:col|row)?vector|matrix|scalar)\b/.source;
6
+ var type = /\bvoid\b|<org>|\b(?:complex|numeric|pointer(?:\s*\([^()]*\))?|real|string|(?:class|struct)\s+\w+|transmorphic)(?:\s*<org>)?/.source
7
+ .replace(/<org>/g, orgType);
8
+
9
+ Prism.languages.mata = {
10
+ 'comment': {
11
+ pattern: /\/\/.*|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\//,
12
+ greedy: true
13
+ },
14
+ 'string': {
15
+ pattern: /"[^"\r\n]*"|[‘`']".*?"[’`']/,
16
+ greedy: true
17
+ },
18
+
19
+ 'class-name': {
20
+ pattern: /(\b(?:class|extends|struct)\s+)\w+(?=\s*(?:\{|\bextends\b))/,
21
+ lookbehind: true
22
+ },
23
+ 'type': {
24
+ pattern: RegExp(type),
25
+ alias: 'class-name',
26
+ inside: {
27
+ 'punctuation': /[()]/,
28
+ 'keyword': /\b(?:class|function|struct|void)\b/
29
+ }
30
+ },
31
+ 'keyword': /\b(?:break|class|continue|do|else|end|extends|external|final|for|function|goto|if|pragma|private|protected|public|return|static|struct|unset|unused|version|virtual|while)\b/,
32
+ 'constant': /\bNULL\b/,
33
+
34
+ 'number': {
35
+ pattern: /(^|[^\w.])(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|\d[a-f0-9]*(?:\.[a-f0-9]+)?x[+-]?\d+)i?(?![\w.])/i,
36
+ lookbehind: true
37
+ },
38
+ 'missing': {
39
+ pattern: /(^|[^\w.])(?:\.[a-z]?)(?![\w.])/,
40
+ lookbehind: true,
41
+ alias: 'symbol'
42
+ },
43
+
44
+ 'function': /\b[a-z_]\w*(?=\s*\()/i,
45
+
46
+ 'operator': /\.\.|\+\+|--|&&|\|\||:?(?:[!=<>]=|[+\-*/^<>&|:])|[!?=\\#’`']/,
47
+ 'punctuation': /[()[\]{},;.]/
48
+ };
49
+
50
+ }(Prism));
@@ -8,9 +8,9 @@ Prism.languages.matlab = {
8
8
  greedy: true
9
9
  },
10
10
  // FIXME We could handle imaginary numbers as a whole
11
- 'number': /(?:\b\d+\.?\d*|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/,
12
- 'keyword': /\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/,
13
- 'function': /(?!\d)\w+(?=\s*\()/,
11
+ 'number': /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/,
12
+ 'keyword': /\b(?:NaN|break|case|catch|continue|else|elseif|end|for|function|if|inf|otherwise|parfor|pause|pi|return|switch|try|while)\b/,
13
+ 'function': /\b(?!\d)\w+(?=\s*\()/,
14
14
  'operator': /\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/,
15
15
  'punctuation': /\.{3}|[.,;\[\](){}!]/
16
- };
16
+ };