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,17 +1,20 @@
1
1
  (function () {
2
- if (!self.Prism || !self.document || !document.querySelectorAll || ![].filter) return;
2
+
3
+ if (typeof Prism === 'undefined' || typeof document === 'undefined') {
4
+ return;
5
+ }
3
6
 
4
7
  /**
5
8
  * @callback Adapter
6
9
  * @param {any} response
7
10
  * @param {HTMLPreElement} [pre]
8
- * @returns {string}
11
+ * @returns {string | null}
9
12
  */
10
13
 
11
14
  /**
12
15
  * The list of adapter which will be used if `data-adapter` is not specified.
13
16
  *
14
- * @type {Array.<{adapter: Adapter, name: string}>}
17
+ * @type {Array<{adapter: Adapter, name: string}>}
15
18
  */
16
19
  var adapters = [];
17
20
 
@@ -26,7 +29,7 @@
26
29
  */
27
30
  function registerAdapter(adapter, name) {
28
31
  name = name || adapter.name;
29
- if (typeof adapter === "function" && !getAdapter(adapter) && !getAdapter(name)) {
32
+ if (typeof adapter === 'function' && !getAdapter(adapter) && !getAdapter(name)) {
30
33
  adapters.push({ adapter: adapter, name: name });
31
34
  }
32
35
  }
@@ -39,15 +42,15 @@
39
42
  * @returns {Adapter} A registered adapter or `null`.
40
43
  */
41
44
  function getAdapter(adapter) {
42
- if (typeof adapter === "function") {
43
- for (var i = 0, item; item = adapters[i++];) {
45
+ if (typeof adapter === 'function') {
46
+ for (var i = 0, item; (item = adapters[i++]);) {
44
47
  if (item.adapter.valueOf() === adapter.valueOf()) {
45
48
  return item.adapter;
46
49
  }
47
50
  }
48
- }
49
- else if (typeof adapter === "string") {
50
- for (var i = 0, item; item = adapters[i++];) {
51
+ } else if (typeof adapter === 'string') {
52
+ // eslint-disable-next-line no-redeclare
53
+ for (var i = 0, item; (item = adapters[i++]);) {
51
54
  if (item.name === adapter) {
52
55
  return item.adapter;
53
56
  }
@@ -62,26 +65,27 @@
62
65
  * @param {string|Function} adapter The adapter itself or the name of an adapter.
63
66
  */
64
67
  function removeAdapter(adapter) {
65
- if (typeof adapter === "string") {
68
+ if (typeof adapter === 'string') {
66
69
  adapter = getAdapter(adapter);
67
70
  }
68
- if (typeof adapter === "function") {
69
- var index = adapters.map(function (item) { return item.adapter; }).indexOf(adapter);
71
+ if (typeof adapter === 'function') {
72
+ var index = adapters.findIndex(function (item) {
73
+ return item.adapter === adapter;
74
+ });
70
75
  if (index >= 0) {
71
76
  adapters.splice(index, 1);
72
77
  }
73
78
  }
74
79
  }
75
80
 
76
- registerAdapter(function github(rsp, el) {
81
+ registerAdapter(function github(rsp) {
77
82
  if (rsp && rsp.meta && rsp.data) {
78
83
  if (rsp.meta.status && rsp.meta.status >= 400) {
79
- return "Error: " + (rsp.data.message || rsp.meta.status);
80
- }
81
- else if (typeof (rsp.data.content) === "string") {
82
- return typeof (atob) === "function"
83
- ? atob(rsp.data.content.replace(/\s/g, ""))
84
- : "Your browser cannot decode base64";
84
+ return 'Error: ' + (rsp.data.message || rsp.meta.status);
85
+ } else if (typeof (rsp.data.content) === 'string') {
86
+ return typeof (atob) === 'function'
87
+ ? atob(rsp.data.content.replace(/\s/g, ''))
88
+ : 'Your browser cannot decode base64';
85
89
  }
86
90
  }
87
91
  return null;
@@ -89,11 +93,11 @@
89
93
  registerAdapter(function gist(rsp, el) {
90
94
  if (rsp && rsp.meta && rsp.data && rsp.data.files) {
91
95
  if (rsp.meta.status && rsp.meta.status >= 400) {
92
- return "Error: " + (rsp.data.message || rsp.meta.status);
96
+ return 'Error: ' + (rsp.data.message || rsp.meta.status);
93
97
  }
94
98
 
95
99
  var files = rsp.data.files;
96
- var filename = el.getAttribute("data-filename");
100
+ var filename = el.getAttribute('data-filename');
97
101
  if (filename == null) {
98
102
  // Maybe in the future we can somehow render all files
99
103
  // But the standard <script> include for gists does that nicely already,
@@ -109,98 +113,191 @@
109
113
  if (files[filename] !== undefined) {
110
114
  return files[filename].content;
111
115
  }
112
- return "Error: unknown or missing gist file " + filename;
116
+ return 'Error: unknown or missing gist file ' + filename;
113
117
  }
114
118
  return null;
115
119
  }, 'gist');
116
- registerAdapter(function bitbucket(rsp, el) {
117
- if (rsp && rsp.node && typeof (rsp.data) === "string") {
120
+ registerAdapter(function bitbucket(rsp) {
121
+ if (rsp && rsp.node && typeof (rsp.data) === 'string') {
118
122
  return rsp.data;
119
123
  }
120
124
  return null;
121
125
  }, 'bitbucket');
122
126
 
123
- var jsonpcb = 0,
124
- loadMsg = "Loading\u2026";
125
127
 
128
+ var jsonpCallbackCounter = 0;
126
129
  /**
127
- * Highlights all `pre` elements with an `data-jsonp` by requesting the specified JSON and using the specified adapter
128
- * or a registered adapter to extract the code to highlight from the response. The highlighted code will be inserted
129
- * into the `pre` element.
130
+ * Makes a JSONP request.
131
+ *
132
+ * @param {string} src The URL of the resource to request.
133
+ * @param {string | undefined | null} callbackParameter The name of the callback parameter. If falsy, `"callback"`
134
+ * will be used.
135
+ * @param {(data: unknown) => void} onSuccess
136
+ * @param {(reason: "timeout" | "network") => void} onError
137
+ * @returns {void}
130
138
  */
131
- function highlight() {
132
- Array.prototype.slice.call(document.querySelectorAll("pre[data-jsonp]")).forEach(function (pre) {
133
- pre.textContent = "";
139
+ function jsonp(src, callbackParameter, onSuccess, onError) {
140
+ var callbackName = 'prismjsonp' + jsonpCallbackCounter++;
141
+
142
+ var uri = document.createElement('a');
143
+ uri.href = src;
144
+ uri.href += (uri.search ? '&' : '?') + (callbackParameter || 'callback') + '=' + callbackName;
145
+
146
+ var script = document.createElement('script');
147
+ script.src = uri.href;
148
+ script.onerror = function () {
149
+ cleanup();
150
+ onError('network');
151
+ };
152
+
153
+ var timeoutId = setTimeout(function () {
154
+ cleanup();
155
+ onError('timeout');
156
+ }, Prism.plugins.jsonphighlight.timeout);
157
+
158
+ function cleanup() {
159
+ clearTimeout(timeoutId);
160
+ document.head.removeChild(script);
161
+ delete window[callbackName];
162
+ }
163
+
164
+ // the JSONP callback function
165
+ window[callbackName] = function (response) {
166
+ cleanup();
167
+ onSuccess(response);
168
+ };
169
+
170
+ document.head.appendChild(script);
171
+ }
172
+
173
+ var LOADING_MESSAGE = 'Loading…';
174
+ var MISSING_ADAPTER_MESSAGE = function (name) {
175
+ return '✖ Error: JSONP adapter function "' + name + '" doesn\'t exist';
176
+ };
177
+ var TIMEOUT_MESSAGE = function (url) {
178
+ return '✖ Error: Timeout loading ' + url;
179
+ };
180
+ var UNKNOWN_FAILURE_MESSAGE = '✖ Error: Cannot parse response (perhaps you need an adapter function?)';
181
+
182
+ var STATUS_ATTR = 'data-jsonp-status';
183
+ var STATUS_LOADING = 'loading';
184
+ var STATUS_LOADED = 'loaded';
185
+ var STATUS_FAILED = 'failed';
186
+
187
+ var SELECTOR = 'pre[data-jsonp]:not([' + STATUS_ATTR + '="' + STATUS_LOADED + '"])'
188
+ + ':not([' + STATUS_ATTR + '="' + STATUS_LOADING + '"])';
189
+
190
+
191
+ Prism.hooks.add('before-highlightall', function (env) {
192
+ env.selector += ', ' + SELECTOR;
193
+ });
194
+
195
+ Prism.hooks.add('before-sanity-check', function (env) {
196
+ var pre = /** @type {HTMLPreElement} */ (env.element);
197
+ if (pre.matches(SELECTOR)) {
198
+ env.code = ''; // fast-path the whole thing and go to complete
134
199
 
135
- var code = document.createElement("code");
136
- code.textContent = loadMsg;
137
- pre.appendChild(code);
200
+ // mark as loading
201
+ pre.setAttribute(STATUS_ATTR, STATUS_LOADING);
138
202
 
139
- var adapterName = pre.getAttribute("data-adapter");
203
+ // add code element with loading message
204
+ var code = pre.appendChild(document.createElement('CODE'));
205
+ code.textContent = LOADING_MESSAGE;
206
+
207
+ // set language
208
+ var language = env.language;
209
+ code.className = 'language-' + language;
210
+
211
+ // preload the language
212
+ var autoloader = Prism.plugins.autoloader;
213
+ if (autoloader) {
214
+ autoloader.loadLanguages(language);
215
+ }
216
+
217
+ var adapterName = pre.getAttribute('data-adapter');
140
218
  var adapter = null;
141
219
  if (adapterName) {
142
- if (typeof window[adapterName] === "function") {
220
+ if (typeof window[adapterName] === 'function') {
143
221
  adapter = window[adapterName];
144
- }
145
- else {
146
- code.textContent = "JSONP adapter function '" + adapterName + "' doesn't exist";
222
+ } else {
223
+ // mark as failed
224
+ pre.setAttribute(STATUS_ATTR, STATUS_FAILED);
225
+
226
+ code.textContent = MISSING_ADAPTER_MESSAGE(adapterName);
147
227
  return;
148
228
  }
149
229
  }
150
230
 
151
- var cb = "prismjsonp" + jsonpcb++;
231
+ var src = pre.getAttribute('data-jsonp');
152
232
 
153
- var uri = document.createElement("a");
154
- var src = uri.href = pre.getAttribute("data-jsonp");
155
- uri.href += (uri.search ? "&" : "?") + (pre.getAttribute("data-callback") || "callback") + "=" + cb;
156
-
157
- var timeout = setTimeout(function () {
158
- // we could clean up window[cb], but if the request finally succeeds, keeping it around is a good thing
159
- if (code.textContent === loadMsg) {
160
- code.textContent = "Timeout loading '" + src + "'";
161
- }
162
- }, 5000);
163
-
164
- var script = document.createElement("script");
165
- script.src = uri.href;
233
+ jsonp(
234
+ src,
235
+ pre.getAttribute('data-callback'),
236
+ function (response) {
237
+ // interpret the received data using the adapter(s)
238
+ var data = null;
239
+ if (adapter) {
240
+ data = adapter(response, pre);
241
+ } else {
242
+ for (var i = 0, l = adapters.length; i < l; i++) {
243
+ data = adapters[i].adapter(response, pre);
244
+ if (data !== null) {
245
+ break;
246
+ }
247
+ }
248
+ }
166
249
 
167
- window[cb] = function (rsp) {
168
- document.head.removeChild(script);
169
- clearTimeout(timeout);
170
- delete window[cb];
250
+ if (data === null) {
251
+ // mark as failed
252
+ pre.setAttribute(STATUS_ATTR, STATUS_FAILED);
171
253
 
172
- var data = "";
254
+ code.textContent = UNKNOWN_FAILURE_MESSAGE;
255
+ } else {
256
+ // mark as loaded
257
+ pre.setAttribute(STATUS_ATTR, STATUS_LOADED);
173
258
 
174
- if (adapter) {
175
- data = adapter(rsp, pre);
176
- }
177
- else {
178
- for (var p in adapters) {
179
- data = adapters[p].adapter(rsp, pre);
180
- if (data !== null) {
181
- break;
182
- }
259
+ code.textContent = data;
260
+ Prism.highlightElement(code);
183
261
  }
184
- }
262
+ },
263
+ function () {
264
+ // mark as failed
265
+ pre.setAttribute(STATUS_ATTR, STATUS_FAILED);
185
266
 
186
- if (data === null) {
187
- code.textContent = "Cannot parse response (perhaps you need an adapter function?)";
267
+ code.textContent = TIMEOUT_MESSAGE(src);
188
268
  }
189
- else {
190
- code.textContent = data;
191
- Prism.highlightElement(code);
192
- }
193
- };
269
+ );
270
+ }
271
+ });
194
272
 
195
- document.head.appendChild(script);
196
- });
197
- }
198
273
 
199
274
  Prism.plugins.jsonphighlight = {
275
+ /**
276
+ * The timeout after which an error message will be displayed.
277
+ *
278
+ * __Note:__ If the request succeeds after the timeout, it will still be processed and will override any
279
+ * displayed error messages.
280
+ */
281
+ timeout: 5000,
200
282
  registerAdapter: registerAdapter,
201
283
  removeAdapter: removeAdapter,
202
- highlight: highlight
284
+
285
+ /**
286
+ * Highlights all `pre` elements under the given container with a `data-jsonp` attribute by requesting the
287
+ * specified JSON and using the specified adapter or a registered adapter to extract the code to highlight
288
+ * from the response. The highlighted code will be inserted into the `pre` element.
289
+ *
290
+ * Note: Elements which are already loaded or currently loading will not be touched by this method.
291
+ *
292
+ * @param {Element | Document} [container=document]
293
+ */
294
+ highlight: function (container) {
295
+ var elements = (container || document).querySelectorAll(SELECTOR);
296
+
297
+ for (var i = 0, element; (element = elements[i++]);) {
298
+ Prism.highlightElement(element);
299
+ }
300
+ }
203
301
  };
204
302
 
205
- highlight();
206
- })();
303
+ }());
@@ -1,6 +1,6 @@
1
- (function (self, document) {
1
+ (function () {
2
2
 
3
- if (typeof self === 'undefined' || !self.Prism || !self.document || !document.createRange) {
3
+ if (typeof Prism === 'undefined' || typeof document === 'undefined' || !document.createRange) {
4
4
  return;
5
5
  }
6
6
 
@@ -11,38 +11,64 @@
11
11
  return;
12
12
  }
13
13
 
14
+ if (!Prism.util.isActive(env.element, 'keep-markup', true)) {
15
+ return;
16
+ }
17
+
18
+ var dropTokens = Prism.util.isActive(env.element, 'drop-tokens', false);
19
+ /**
20
+ * Returns whether the given element should be kept.
21
+ *
22
+ * @param {HTMLElement} element
23
+ * @returns {boolean}
24
+ */
25
+ function shouldKeep(element) {
26
+ if (dropTokens && element.nodeName.toLowerCase() === 'span' && element.classList.contains('token')) {
27
+ return false;
28
+ }
29
+ return true;
30
+ }
31
+
14
32
  var pos = 0;
15
33
  var data = [];
16
- var f = function (elt, baseNode) {
17
- var o = {};
18
- if (!baseNode) {
19
- // Clone the original tag to keep all attributes
20
- o.clone = elt.cloneNode(false);
21
- o.posOpen = pos;
22
- data.push(o);
34
+ function processElement(element) {
35
+ if (!shouldKeep(element)) {
36
+ // don't keep this element and just process its children
37
+ processChildren(element);
38
+ return;
23
39
  }
24
- for (var i = 0, l = elt.childNodes.length; i < l; i++) {
25
- var child = elt.childNodes[i];
40
+
41
+ var o = {
42
+ // Store original element so we can restore it after highlighting
43
+ element: element,
44
+ posOpen: pos
45
+ };
46
+ data.push(o);
47
+
48
+ processChildren(element);
49
+
50
+ o.posClose = pos;
51
+ }
52
+ function processChildren(element) {
53
+ for (var i = 0, l = element.childNodes.length; i < l; i++) {
54
+ var child = element.childNodes[i];
26
55
  if (child.nodeType === 1) { // element
27
- f(child);
28
- } else if(child.nodeType === 3) { // text
56
+ processElement(child);
57
+ } else if (child.nodeType === 3) { // text
29
58
  pos += child.data.length;
30
59
  }
31
60
  }
32
- if (!baseNode) {
33
- o.posClose = pos;
34
- }
35
- };
36
- f(env.element, true);
61
+ }
62
+ processChildren(env.element);
37
63
 
38
- if (data && data.length) {
64
+ if (data.length) {
39
65
  // data is an array of all existing tags
40
66
  env.keepMarkup = data;
41
67
  }
42
68
  });
43
69
 
44
70
  Prism.hooks.add('after-highlight', function (env) {
45
- if(env.keepMarkup && env.keepMarkup.length) {
71
+ if (env.keepMarkup && env.keepMarkup.length) {
46
72
 
47
73
  var walk = function (elt, nodeState) {
48
74
  for (var i = 0, l = elt.childNodes.length; i < l; i++) {
@@ -55,12 +81,12 @@
55
81
  }
56
82
 
57
83
  } else if (child.nodeType === 3) { // text
58
- if(!nodeState.nodeStart && nodeState.pos + child.data.length > nodeState.node.posOpen) {
84
+ if (!nodeState.nodeStart && nodeState.pos + child.data.length > nodeState.node.posOpen) {
59
85
  // We found the start position
60
86
  nodeState.nodeStart = child;
61
87
  nodeState.nodeStartPos = nodeState.node.posOpen - nodeState.pos;
62
88
  }
63
- if(nodeState.nodeStart && nodeState.pos + child.data.length >= nodeState.node.posClose) {
89
+ if (nodeState.nodeStart && nodeState.pos + child.data.length >= nodeState.node.posClose) {
64
90
  // We found the end position
65
91
  nodeState.nodeEnd = child;
66
92
  nodeState.nodeEndPos = nodeState.node.posClose - nodeState.pos;
@@ -70,12 +96,13 @@
70
96
  }
71
97
 
72
98
  if (nodeState.nodeStart && nodeState.nodeEnd) {
73
- // Select the range and wrap it with the clone
99
+ // Select the range and wrap it with the element
74
100
  var range = document.createRange();
75
101
  range.setStart(nodeState.nodeStart, nodeState.nodeStartPos);
76
102
  range.setEnd(nodeState.nodeEnd, nodeState.nodeEndPos);
77
- nodeState.node.clone.appendChild(range.extractContents());
78
- range.insertNode(nodeState.node.clone);
103
+ nodeState.node.element.innerHTML = '';
104
+ nodeState.node.element.appendChild(range.extractContents());
105
+ range.insertNode(nodeState.node.element);
79
106
  range.detach();
80
107
 
81
108
  // Process is over
@@ -96,4 +123,4 @@
96
123
  env.highlightedCode = env.element.innerHTML;
97
124
  }
98
125
  });
99
- }(self, document));
126
+ }());