prism-rails 1.6.0.3 → 1.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (508) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +109 -44
  4. data/lib/prism-rails/version.rb +1 -1
  5. data/vendor/assets/javascripts/languages/index.js +82 -0
  6. data/vendor/assets/javascripts/languages/prism-abap.js +48 -0
  7. data/vendor/assets/javascripts/languages/prism-abnf.js +54 -0
  8. data/vendor/assets/javascripts/languages/prism-actionscript.js +19 -0
  9. data/vendor/assets/javascripts/languages/prism-ada.js +22 -0
  10. data/vendor/assets/javascripts/languages/prism-agda.js +24 -0
  11. data/vendor/assets/javascripts/languages/prism-al.js +25 -0
  12. data/vendor/assets/javascripts/languages/prism-antlr4.js +65 -0
  13. data/vendor/assets/javascripts/languages/prism-apacheconf.js +47 -0
  14. data/vendor/assets/javascripts/languages/prism-apex.js +65 -0
  15. data/vendor/assets/javascripts/{prism → languages}/prism-apl.js +7 -4
  16. data/vendor/assets/javascripts/languages/prism-applescript.js +17 -0
  17. data/vendor/assets/javascripts/languages/prism-aql.js +49 -0
  18. data/vendor/assets/javascripts/languages/prism-arduino.js +7 -0
  19. data/vendor/assets/javascripts/languages/prism-arff.js +10 -0
  20. data/vendor/assets/javascripts/languages/prism-armasm.js +49 -0
  21. data/vendor/assets/javascripts/languages/prism-arturo.js +105 -0
  22. data/vendor/assets/javascripts/{prism → languages}/prism-asciidoc.js +36 -73
  23. data/vendor/assets/javascripts/languages/prism-asm6502.js +29 -0
  24. data/vendor/assets/javascripts/languages/prism-asmatmel.js +43 -0
  25. data/vendor/assets/javascripts/languages/prism-aspnet.js +48 -0
  26. data/vendor/assets/javascripts/languages/prism-autohotkey.js +44 -0
  27. data/vendor/assets/javascripts/languages/prism-autoit.js +34 -0
  28. data/vendor/assets/javascripts/languages/prism-avisynth.js +188 -0
  29. data/vendor/assets/javascripts/languages/prism-avro-idl.js +50 -0
  30. data/vendor/assets/javascripts/languages/prism-awk.js +32 -0
  31. data/vendor/assets/javascripts/languages/prism-bash.js +235 -0
  32. data/vendor/assets/javascripts/{prism → languages}/prism-basic.js +7 -4
  33. data/vendor/assets/javascripts/{prism → languages}/prism-batch.js +10 -10
  34. data/vendor/assets/javascripts/languages/prism-bbcode.js +29 -0
  35. data/vendor/assets/javascripts/languages/prism-bbj.js +19 -0
  36. data/vendor/assets/javascripts/languages/prism-bicep.js +77 -0
  37. data/vendor/assets/javascripts/languages/prism-birb.js +23 -0
  38. data/vendor/assets/javascripts/{prism → languages}/prism-bison.js +2 -2
  39. data/vendor/assets/javascripts/languages/prism-bnf.js +21 -0
  40. data/vendor/assets/javascripts/languages/prism-bqn.js +63 -0
  41. data/vendor/assets/javascripts/{prism → languages}/prism-brainfuck.js +1 -1
  42. data/vendor/assets/javascripts/languages/prism-brightscript.js +44 -0
  43. data/vendor/assets/javascripts/languages/prism-bro.js +37 -0
  44. data/vendor/assets/javascripts/languages/prism-bsl.js +75 -0
  45. data/vendor/assets/javascripts/languages/prism-c.js +80 -0
  46. data/vendor/assets/javascripts/languages/prism-cfscript.js +44 -0
  47. data/vendor/assets/javascripts/languages/prism-chaiscript.js +60 -0
  48. data/vendor/assets/javascripts/languages/prism-cil.js +27 -0
  49. data/vendor/assets/javascripts/languages/prism-cilkc.js +8 -0
  50. data/vendor/assets/javascripts/languages/prism-cilkcpp.js +9 -0
  51. data/vendor/assets/javascripts/languages/prism-clike.js +31 -0
  52. data/vendor/assets/javascripts/languages/prism-clojure.js +31 -0
  53. data/vendor/assets/javascripts/languages/prism-cmake.js +29 -0
  54. data/vendor/assets/javascripts/languages/prism-cobol.js +53 -0
  55. data/vendor/assets/javascripts/languages/prism-coffeescript.js +96 -0
  56. data/vendor/assets/javascripts/languages/prism-concurnas.js +61 -0
  57. data/vendor/assets/javascripts/languages/prism-cooklang.js +146 -0
  58. data/vendor/assets/javascripts/languages/prism-coq.js +54 -0
  59. data/vendor/assets/javascripts/languages/prism-core.js +1263 -0
  60. data/vendor/assets/javascripts/languages/prism-cpp.js +99 -0
  61. data/vendor/assets/javascripts/languages/prism-crystal.js +57 -0
  62. data/vendor/assets/javascripts/languages/prism-csharp.js +366 -0
  63. data/vendor/assets/javascripts/languages/prism-cshtml.js +199 -0
  64. data/vendor/assets/javascripts/languages/prism-csp.js +76 -0
  65. data/vendor/assets/javascripts/languages/prism-css-extras.js +120 -0
  66. data/vendor/assets/javascripts/languages/prism-css.js +64 -0
  67. data/vendor/assets/javascripts/languages/prism-csv.js +6 -0
  68. data/vendor/assets/javascripts/languages/prism-cue.js +84 -0
  69. data/vendor/assets/javascripts/languages/prism-cypher.js +36 -0
  70. data/vendor/assets/javascripts/languages/prism-d.js +84 -0
  71. data/vendor/assets/javascripts/languages/prism-dart.js +79 -0
  72. data/vendor/assets/javascripts/languages/prism-dataweave.js +41 -0
  73. data/vendor/assets/javascripts/languages/prism-dax.js +27 -0
  74. data/vendor/assets/javascripts/languages/prism-dhall.js +69 -0
  75. data/vendor/assets/javascripts/languages/prism-diff.js +64 -0
  76. data/vendor/assets/javascripts/languages/prism-django.js +60 -0
  77. data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +33 -0
  78. data/vendor/assets/javascripts/languages/prism-docker.js +98 -0
  79. data/vendor/assets/javascripts/languages/prism-dot.js +76 -0
  80. data/vendor/assets/javascripts/languages/prism-ebnf.js +22 -0
  81. data/vendor/assets/javascripts/languages/prism-editorconfig.js +26 -0
  82. data/vendor/assets/javascripts/{prism → languages}/prism-eiffel.js +19 -9
  83. data/vendor/assets/javascripts/languages/prism-ejs.js +26 -0
  84. data/vendor/assets/javascripts/languages/prism-elixir.js +98 -0
  85. data/vendor/assets/javascripts/languages/prism-elm.js +45 -0
  86. data/vendor/assets/javascripts/languages/prism-erb.js +25 -0
  87. data/vendor/assets/javascripts/{prism → languages}/prism-erlang.js +12 -9
  88. data/vendor/assets/javascripts/languages/prism-etlua.js +23 -0
  89. data/vendor/assets/javascripts/languages/prism-excel-formula.js +66 -0
  90. data/vendor/assets/javascripts/languages/prism-factor.js +403 -0
  91. data/vendor/assets/javascripts/languages/prism-false.js +32 -0
  92. data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +35 -0
  93. data/vendor/assets/javascripts/languages/prism-flow.js +35 -0
  94. data/vendor/assets/javascripts/{prism → languages}/prism-fortran.js +11 -8
  95. data/vendor/assets/javascripts/languages/prism-fsharp.js +75 -0
  96. data/vendor/assets/javascripts/languages/prism-ftl.js +98 -0
  97. data/vendor/assets/javascripts/languages/prism-gap.js +54 -0
  98. data/vendor/assets/javascripts/languages/prism-gcode.js +16 -0
  99. data/vendor/assets/javascripts/languages/prism-gdscript.js +27 -0
  100. data/vendor/assets/javascripts/languages/prism-gedcom.js +28 -0
  101. data/vendor/assets/javascripts/languages/prism-gettext.js +43 -0
  102. data/vendor/assets/javascripts/languages/prism-gherkin.js +85 -0
  103. data/vendor/assets/javascripts/{prism → languages}/prism-git.js +3 -3
  104. data/vendor/assets/javascripts/languages/prism-glsl.js +3 -0
  105. data/vendor/assets/javascripts/languages/prism-gml.js +7 -0
  106. data/vendor/assets/javascripts/languages/prism-gn.js +51 -0
  107. data/vendor/assets/javascripts/languages/prism-go-module.js +24 -0
  108. data/vendor/assets/javascripts/languages/prism-go.js +28 -0
  109. data/vendor/assets/javascripts/languages/prism-gradle.js +63 -0
  110. data/vendor/assets/javascripts/languages/prism-graphql.js +211 -0
  111. data/vendor/assets/javascripts/languages/prism-groovy.js +65 -0
  112. data/vendor/assets/javascripts/{prism → languages}/prism-haml.js +32 -37
  113. data/vendor/assets/javascripts/languages/prism-handlebars.js +40 -0
  114. data/vendor/assets/javascripts/languages/prism-haskell.js +66 -0
  115. data/vendor/assets/javascripts/languages/prism-haxe.js +78 -0
  116. data/vendor/assets/javascripts/languages/prism-hcl.js +63 -0
  117. data/vendor/assets/javascripts/languages/prism-hlsl.js +20 -0
  118. data/vendor/assets/javascripts/languages/prism-hoon.js +14 -0
  119. data/vendor/assets/javascripts/languages/prism-hpkp.js +14 -0
  120. data/vendor/assets/javascripts/languages/prism-hsts.js +14 -0
  121. data/vendor/assets/javascripts/languages/prism-http.js +151 -0
  122. data/vendor/assets/javascripts/languages/prism-ichigojam.js +15 -0
  123. data/vendor/assets/javascripts/{prism → languages}/prism-icon.js +6 -3
  124. data/vendor/assets/javascripts/languages/prism-icu-message-format.js +148 -0
  125. data/vendor/assets/javascripts/languages/prism-idris.js +19 -0
  126. data/vendor/assets/javascripts/languages/prism-iecst.js +32 -0
  127. data/vendor/assets/javascripts/languages/prism-ignore.js +23 -0
  128. data/vendor/assets/javascripts/{prism → languages}/prism-inform7.js +14 -11
  129. data/vendor/assets/javascripts/languages/prism-ini.js +42 -0
  130. data/vendor/assets/javascripts/languages/prism-io.js +22 -0
  131. data/vendor/assets/javascripts/{prism → languages}/prism-j.js +12 -6
  132. data/vendor/assets/javascripts/languages/prism-java.js +124 -0
  133. data/vendor/assets/javascripts/languages/prism-javadoc.js +82 -0
  134. data/vendor/assets/javascripts/languages/prism-javadoclike.js +87 -0
  135. data/vendor/assets/javascripts/languages/prism-javascript.js +172 -0
  136. data/vendor/assets/javascripts/languages/prism-javastacktrace.js +142 -0
  137. data/vendor/assets/javascripts/languages/prism-jexl.js +14 -0
  138. data/vendor/assets/javascripts/languages/prism-jolie.js +41 -0
  139. data/vendor/assets/javascripts/languages/prism-jq.js +69 -0
  140. data/vendor/assets/javascripts/languages/prism-js-extras.js +135 -0
  141. data/vendor/assets/javascripts/languages/prism-js-templates.js +349 -0
  142. data/vendor/assets/javascripts/languages/prism-jsdoc.js +78 -0
  143. data/vendor/assets/javascripts/languages/prism-json.js +27 -0
  144. data/vendor/assets/javascripts/languages/prism-json5.js +23 -0
  145. data/vendor/assets/javascripts/languages/prism-jsonp.js +7 -0
  146. data/vendor/assets/javascripts/languages/prism-jsstacktrace.js +49 -0
  147. data/vendor/assets/javascripts/languages/prism-jsx.js +145 -0
  148. data/vendor/assets/javascripts/languages/prism-julia.js +35 -0
  149. data/vendor/assets/javascripts/languages/prism-keepalived.js +51 -0
  150. data/vendor/assets/javascripts/languages/prism-keyman.js +44 -0
  151. data/vendor/assets/javascripts/languages/prism-kotlin.js +88 -0
  152. data/vendor/assets/javascripts/languages/prism-kumir.js +106 -0
  153. data/vendor/assets/javascripts/languages/prism-kusto.js +44 -0
  154. data/vendor/assets/javascripts/languages/prism-latex.js +64 -0
  155. data/vendor/assets/javascripts/languages/prism-latte.js +63 -0
  156. data/vendor/assets/javascripts/{prism → languages}/prism-less.js +6 -12
  157. data/vendor/assets/javascripts/languages/prism-lilypond.js +69 -0
  158. data/vendor/assets/javascripts/languages/prism-linker-script.js +30 -0
  159. data/vendor/assets/javascripts/languages/prism-liquid.js +66 -0
  160. data/vendor/assets/javascripts/languages/prism-lisp.js +197 -0
  161. data/vendor/assets/javascripts/{prism → languages}/prism-livescript.js +20 -19
  162. data/vendor/assets/javascripts/languages/prism-llvm.js +19 -0
  163. data/vendor/assets/javascripts/languages/prism-log.js +120 -0
  164. data/vendor/assets/javascripts/languages/prism-lolcode.js +55 -0
  165. data/vendor/assets/javascripts/{prism → languages}/prism-lua.js +3 -3
  166. data/vendor/assets/javascripts/languages/prism-magma.js +35 -0
  167. data/vendor/assets/javascripts/languages/prism-makefile.js +34 -0
  168. data/vendor/assets/javascripts/languages/prism-markdown.js +415 -0
  169. data/vendor/assets/javascripts/languages/prism-markup-templating.js +124 -0
  170. data/vendor/assets/javascripts/languages/prism-markup.js +186 -0
  171. data/vendor/assets/javascripts/languages/prism-mata.js +50 -0
  172. data/vendor/assets/javascripts/languages/prism-matlab.js +16 -0
  173. data/vendor/assets/javascripts/languages/prism-maxscript.js +91 -0
  174. data/vendor/assets/javascripts/languages/prism-mel.js +46 -0
  175. data/vendor/assets/javascripts/languages/prism-mermaid.js +113 -0
  176. data/vendor/assets/javascripts/languages/prism-metafont.js +84 -0
  177. data/vendor/assets/javascripts/{prism → languages}/prism-mizar.js +3 -3
  178. data/vendor/assets/javascripts/languages/prism-mongodb.js +97 -0
  179. data/vendor/assets/javascripts/languages/prism-monkey.js +29 -0
  180. data/vendor/assets/javascripts/languages/prism-moonscript.js +57 -0
  181. data/vendor/assets/javascripts/languages/prism-n1ql.js +24 -0
  182. data/vendor/assets/javascripts/languages/prism-n4js.js +14 -0
  183. data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +9 -0
  184. data/vendor/assets/javascripts/languages/prism-naniscript.js +170 -0
  185. data/vendor/assets/javascripts/languages/prism-nasm.js +24 -0
  186. data/vendor/assets/javascripts/languages/prism-neon.js +40 -0
  187. data/vendor/assets/javascripts/languages/prism-nevod.js +125 -0
  188. data/vendor/assets/javascripts/languages/prism-nginx.js +54 -0
  189. data/vendor/assets/javascripts/{prism → languages}/prism-nim.js +26 -12
  190. data/vendor/assets/javascripts/{prism → languages}/prism-nix.js +11 -13
  191. data/vendor/assets/javascripts/languages/prism-nsis.js +30 -0
  192. data/vendor/assets/javascripts/languages/prism-objectivec.js +12 -0
  193. data/vendor/assets/javascripts/languages/prism-ocaml.js +58 -0
  194. data/vendor/assets/javascripts/languages/prism-odin.js +99 -0
  195. data/vendor/assets/javascripts/languages/prism-opencl.js +61 -0
  196. data/vendor/assets/javascripts/languages/prism-openqasm.js +23 -0
  197. data/vendor/assets/javascripts/languages/prism-oz.js +28 -0
  198. data/vendor/assets/javascripts/{prism → languages}/prism-parigp.js +8 -5
  199. data/vendor/assets/javascripts/languages/prism-parser.js +73 -0
  200. data/vendor/assets/javascripts/{prism → languages}/prism-pascal.js +31 -10
  201. data/vendor/assets/javascripts/languages/prism-pascaligo.js +62 -0
  202. data/vendor/assets/javascripts/languages/prism-pcaxis.js +53 -0
  203. data/vendor/assets/javascripts/languages/prism-peoplecode.js +42 -0
  204. data/vendor/assets/javascripts/languages/prism-perl.js +156 -0
  205. data/vendor/assets/javascripts/languages/prism-php-extras.js +14 -0
  206. data/vendor/assets/javascripts/languages/prism-php.js +342 -0
  207. data/vendor/assets/javascripts/languages/prism-phpdoc.js +27 -0
  208. data/vendor/assets/javascripts/languages/prism-plant-uml.js +103 -0
  209. data/vendor/assets/javascripts/languages/prism-plsql.js +17 -0
  210. data/vendor/assets/javascripts/languages/prism-powerquery.js +55 -0
  211. data/vendor/assets/javascripts/languages/prism-powershell.js +58 -0
  212. data/vendor/assets/javascripts/languages/prism-processing.js +15 -0
  213. data/vendor/assets/javascripts/{prism → languages}/prism-prolog.js +10 -8
  214. data/vendor/assets/javascripts/languages/prism-promql.js +99 -0
  215. data/vendor/assets/javascripts/languages/prism-properties.js +13 -0
  216. data/vendor/assets/javascripts/languages/prism-protobuf.js +43 -0
  217. data/vendor/assets/javascripts/languages/prism-psl.js +35 -0
  218. data/vendor/assets/javascripts/languages/prism-pug.js +188 -0
  219. data/vendor/assets/javascripts/{prism → languages}/prism-puppet.js +13 -8
  220. data/vendor/assets/javascripts/{prism → languages}/prism-pure.js +27 -22
  221. data/vendor/assets/javascripts/languages/prism-purebasic.js +70 -0
  222. data/vendor/assets/javascripts/languages/prism-purescript.js +31 -0
  223. data/vendor/assets/javascripts/languages/prism-python.js +65 -0
  224. data/vendor/assets/javascripts/{prism → languages}/prism-q.js +16 -9
  225. data/vendor/assets/javascripts/languages/prism-qml.js +61 -0
  226. data/vendor/assets/javascripts/{prism → languages}/prism-qore.js +12 -9
  227. data/vendor/assets/javascripts/languages/prism-qsharp.js +132 -0
  228. data/vendor/assets/javascripts/languages/prism-r.js +22 -0
  229. data/vendor/assets/javascripts/languages/prism-racket.js +18 -0
  230. data/vendor/assets/javascripts/{prism → languages}/prism-reason.js +8 -15
  231. data/vendor/assets/javascripts/languages/prism-regex.js +104 -0
  232. data/vendor/assets/javascripts/languages/prism-rego.js +30 -0
  233. data/vendor/assets/javascripts/languages/prism-renpy.js +29 -0
  234. data/vendor/assets/javascripts/languages/prism-rescript.js +60 -0
  235. data/vendor/assets/javascripts/{prism → languages}/prism-rest.js +18 -18
  236. data/vendor/assets/javascripts/languages/prism-rip.js +38 -0
  237. data/vendor/assets/javascripts/{prism → languages}/prism-roboconf.js +3 -3
  238. data/vendor/assets/javascripts/languages/prism-robotframework.js +104 -0
  239. data/vendor/assets/javascripts/languages/prism-ruby.js +189 -0
  240. data/vendor/assets/javascripts/languages/prism-rust.js +128 -0
  241. data/vendor/assets/javascripts/languages/prism-sas.js +326 -0
  242. data/vendor/assets/javascripts/{prism → languages}/prism-sass.js +16 -12
  243. data/vendor/assets/javascripts/languages/prism-scala.js +50 -0
  244. data/vendor/assets/javascripts/languages/prism-scheme.js +120 -0
  245. data/vendor/assets/javascripts/{prism → languages}/prism-scss.js +27 -21
  246. data/vendor/assets/javascripts/languages/prism-shell-session.js +70 -0
  247. data/vendor/assets/javascripts/languages/prism-smali.js +87 -0
  248. data/vendor/assets/javascripts/{prism → languages}/prism-smalltalk.js +17 -10
  249. data/vendor/assets/javascripts/languages/prism-smarty.js +131 -0
  250. data/vendor/assets/javascripts/languages/prism-sml.js +68 -0
  251. data/vendor/assets/javascripts/languages/prism-solidity.js +22 -0
  252. data/vendor/assets/javascripts/languages/prism-solution-file.js +51 -0
  253. data/vendor/assets/javascripts/languages/prism-soy.js +96 -0
  254. data/vendor/assets/javascripts/languages/prism-sparql.js +18 -0
  255. data/vendor/assets/javascripts/languages/prism-splunk-spl.js +24 -0
  256. data/vendor/assets/javascripts/languages/prism-sqf.js +34 -0
  257. data/vendor/assets/javascripts/languages/prism-sql.js +32 -0
  258. data/vendor/assets/javascripts/languages/prism-squirrel.js +47 -0
  259. data/vendor/assets/javascripts/languages/prism-stan.js +65 -0
  260. data/vendor/assets/javascripts/languages/prism-stata.js +76 -0
  261. data/vendor/assets/javascripts/languages/prism-stylus.js +143 -0
  262. data/vendor/assets/javascripts/languages/prism-supercollider.js +36 -0
  263. data/vendor/assets/javascripts/languages/prism-swift.js +148 -0
  264. data/vendor/assets/javascripts/languages/prism-systemd.js +74 -0
  265. data/vendor/assets/javascripts/languages/prism-t4-cs.js +1 -0
  266. data/vendor/assets/javascripts/languages/prism-t4-templating.js +49 -0
  267. data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -0
  268. data/vendor/assets/javascripts/languages/prism-tap.js +22 -0
  269. data/vendor/assets/javascripts/languages/prism-tcl.js +46 -0
  270. data/vendor/assets/javascripts/languages/prism-textile.js +286 -0
  271. data/vendor/assets/javascripts/languages/prism-toml.js +49 -0
  272. data/vendor/assets/javascripts/languages/prism-tremor.js +72 -0
  273. data/vendor/assets/javascripts/languages/prism-tsx.js +15 -0
  274. data/vendor/assets/javascripts/languages/prism-tt2.js +53 -0
  275. data/vendor/assets/javascripts/languages/prism-turtle.js +54 -0
  276. data/vendor/assets/javascripts/languages/prism-twig.js +44 -0
  277. data/vendor/assets/javascripts/languages/prism-typescript.js +60 -0
  278. data/vendor/assets/javascripts/languages/prism-typoscript.js +80 -0
  279. data/vendor/assets/javascripts/languages/prism-unrealscript.js +42 -0
  280. data/vendor/assets/javascripts/languages/prism-uorazor.js +48 -0
  281. data/vendor/assets/javascripts/languages/prism-uri.js +96 -0
  282. data/vendor/assets/javascripts/languages/prism-v.js +81 -0
  283. data/vendor/assets/javascripts/languages/prism-vala.js +84 -0
  284. data/vendor/assets/javascripts/languages/prism-vbnet.js +22 -0
  285. data/vendor/assets/javascripts/languages/prism-velocity.js +72 -0
  286. data/vendor/assets/javascripts/languages/prism-verilog.js +26 -0
  287. data/vendor/assets/javascripts/languages/prism-vhdl.js +26 -0
  288. data/vendor/assets/javascripts/languages/prism-vim.js +10 -0
  289. data/vendor/assets/javascripts/languages/prism-visual-basic.js +29 -0
  290. data/vendor/assets/javascripts/languages/prism-warpscript.js +21 -0
  291. data/vendor/assets/javascripts/languages/prism-wasm.js +31 -0
  292. data/vendor/assets/javascripts/languages/prism-web-idl.js +101 -0
  293. data/vendor/assets/javascripts/languages/prism-wgsl.js +69 -0
  294. data/vendor/assets/javascripts/{prism → languages}/prism-wiki.js +9 -8
  295. data/vendor/assets/javascripts/languages/prism-wolfram.js +29 -0
  296. data/vendor/assets/javascripts/languages/prism-wren.js +100 -0
  297. data/vendor/assets/javascripts/languages/prism-xeora.js +114 -0
  298. data/vendor/assets/javascripts/languages/prism-xml-doc.js +40 -0
  299. data/vendor/assets/javascripts/languages/prism-xojo.js +21 -0
  300. data/vendor/assets/javascripts/languages/prism-xquery.js +162 -0
  301. data/vendor/assets/javascripts/languages/prism-yaml.js +83 -0
  302. data/vendor/assets/javascripts/languages/prism-yang.js +20 -0
  303. data/vendor/assets/javascripts/languages/prism-zig.js +101 -0
  304. data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +63 -63
  305. data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +465 -122
  306. data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +221 -63
  307. data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +128 -43
  308. data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +105 -24
  309. data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +4 -8
  310. data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +90 -0
  311. data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +20 -0
  312. data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +179 -61
  313. data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +127 -0
  314. data/vendor/assets/javascripts/prism-plugin/prism-highlight-keywords.js +10 -13
  315. data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +105 -0
  316. data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +264 -112
  317. data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +53 -24
  318. data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +328 -115
  319. data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +237 -42
  320. data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +190 -0
  321. data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +206 -149
  322. data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +712 -0
  323. data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +17 -17
  324. data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +83 -19
  325. data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +317 -20
  326. data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +61 -15
  327. data/vendor/assets/javascripts/prism-plugin/prism-treeview.js +70 -0
  328. data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +39 -17
  329. data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +132 -147
  330. data/vendor/assets/javascripts/prism.js +302 -127
  331. data/vendor/assets/stylesheets/prism-plugin/prism-autolinker.min.css +1 -0
  332. data/vendor/assets/stylesheets/prism-plugin/prism-command-line.css +11 -1
  333. data/vendor/assets/stylesheets/prism-plugin/prism-command-line.min.css +1 -0
  334. data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.css +13 -0
  335. data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.min.css +1 -0
  336. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +33 -0
  337. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.min.css +1 -0
  338. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +26 -0
  339. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.min.css +1 -0
  340. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +4 -4
  341. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.min.css +1 -0
  342. data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.css +29 -0
  343. data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.min.css +1 -0
  344. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +243 -0
  345. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.min.css +1 -0
  346. data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.css +7 -6
  347. data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.min.css +1 -0
  348. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +22 -15
  349. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.min.css +1 -0
  350. data/vendor/assets/stylesheets/prism-plugin/prism-treeview.css +168 -0
  351. data/vendor/assets/stylesheets/prism-plugin/prism-treeview.min.css +1 -0
  352. data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.css +4 -4
  353. data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.min.css +1 -0
  354. data/vendor/assets/stylesheets/prism-plugin/prism-wpd.min.css +1 -0
  355. data/vendor/assets/stylesheets/prism-theme/prism-a11y-dark.css +161 -0
  356. data/vendor/assets/stylesheets/{prism-atom-dark.css → prism-theme/prism-atom-dark.css} +10 -13
  357. data/vendor/assets/stylesheets/prism-theme/prism-autolinker.css +3 -0
  358. data/vendor/assets/stylesheets/{prism-base16-ateliersulphurpool.light.css → prism-theme/prism-base16-ateliersulphurpool.light.css} +60 -56
  359. data/vendor/assets/stylesheets/{prism-cb.css → prism-theme/prism-cb.css} +20 -50
  360. data/vendor/assets/stylesheets/prism-theme/prism-coldark-cold.css +317 -0
  361. data/vendor/assets/stylesheets/prism-theme/prism-coldark-dark.css +317 -0
  362. data/vendor/assets/stylesheets/prism-theme/prism-command-line.css +33 -0
  363. data/vendor/assets/stylesheets/prism-theme/prism-coy-without-shadows.css +140 -0
  364. data/vendor/assets/stylesheets/{prism-coy.css → prism-theme/prism-coy.css} +17 -19
  365. data/vendor/assets/stylesheets/prism-theme/prism-coy.min.css +1 -0
  366. data/vendor/assets/stylesheets/prism-theme/prism-darcula.css +159 -0
  367. data/vendor/assets/stylesheets/{prism-dark.css → prism-theme/prism-dark.css} +2 -1
  368. data/vendor/assets/stylesheets/prism-theme/prism-dark.min.css +1 -0
  369. data/vendor/assets/stylesheets/prism-theme/prism-dracula.css +122 -0
  370. data/vendor/assets/stylesheets/{prism-duotone-dark.css → prism-theme/prism-duotone-dark.css} +58 -54
  371. data/vendor/assets/stylesheets/{prism-duotone-earth.css → prism-theme/prism-duotone-earth.css} +58 -54
  372. data/vendor/assets/stylesheets/{prism-duotone-forest.css → prism-theme/prism-duotone-forest.css} +58 -54
  373. data/vendor/assets/stylesheets/{prism-duotone-light.css → prism-theme/prism-duotone-light.css} +58 -54
  374. data/vendor/assets/stylesheets/{prism-duotone-sea.css → prism-theme/prism-duotone-sea.css} +58 -54
  375. data/vendor/assets/stylesheets/{prism-duotone-space.css → prism-theme/prism-duotone-space.css} +58 -54
  376. data/vendor/assets/stylesheets/{prism-funky.css → prism-theme/prism-funky.css} +16 -2
  377. data/vendor/assets/stylesheets/prism-theme/prism-funky.min.css +1 -0
  378. data/vendor/assets/stylesheets/{prism-ghcolors.css → prism-theme/prism-ghcolors.css} +47 -44
  379. data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-dark.css +143 -0
  380. data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-light.css +143 -0
  381. data/vendor/assets/stylesheets/prism-theme/prism-holi-theme.css +119 -0
  382. data/vendor/assets/stylesheets/prism-theme/prism-hopscotch.css +132 -0
  383. data/vendor/assets/stylesheets/prism-theme/prism-laserwave.css +133 -0
  384. data/vendor/assets/stylesheets/prism-theme/prism-line-highlight.css +49 -0
  385. data/vendor/assets/stylesheets/prism-theme/prism-line-numbers.css +41 -0
  386. data/vendor/assets/stylesheets/prism-theme/prism-lucario.css +122 -0
  387. data/vendor/assets/stylesheets/prism-theme/prism-material-dark.css +205 -0
  388. data/vendor/assets/stylesheets/prism-theme/prism-material-light.css +207 -0
  389. data/vendor/assets/stylesheets/prism-theme/prism-material-oceanic.css +210 -0
  390. data/vendor/assets/stylesheets/prism-theme/prism-night-owl.css +158 -0
  391. data/vendor/assets/stylesheets/prism-theme/prism-nord.css +124 -0
  392. data/vendor/assets/stylesheets/{prism-okaidia.css → prism-theme/prism-okaidia.css} +5 -3
  393. data/vendor/assets/stylesheets/prism-theme/prism-okaidia.min.css +1 -0
  394. data/vendor/assets/stylesheets/prism-theme/prism-one-dark.css +440 -0
  395. data/vendor/assets/stylesheets/prism-theme/prism-one-light.css +428 -0
  396. data/vendor/assets/stylesheets/prism-theme/prism-pojoaque.css +151 -0
  397. data/vendor/assets/stylesheets/prism-theme/prism-previewers.css +242 -0
  398. data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +196 -0
  399. data/vendor/assets/stylesheets/prism-theme/prism-show-invisibles.css +34 -0
  400. data/vendor/assets/stylesheets/prism-theme/prism-solarized-dark-atom.css +143 -0
  401. data/vendor/assets/stylesheets/{prism-solarizedlight.css → prism-theme/prism-solarizedlight.css} +5 -3
  402. data/vendor/assets/stylesheets/prism-theme/prism-solarizedlight.min.css +1 -0
  403. data/vendor/assets/stylesheets/prism-theme/prism-synthwave84.css +140 -0
  404. data/vendor/assets/stylesheets/{prism-tomorrow.css → prism-theme/prism-tomorrow.css} +1 -0
  405. data/vendor/assets/stylesheets/prism-theme/prism-tomorrow.min.css +1 -0
  406. data/vendor/assets/stylesheets/{prism-toolbar.css → prism-theme/prism-toolbar.css} +15 -15
  407. data/vendor/assets/stylesheets/{prism-twilight.css → prism-theme/prism-twilight.css} +5 -34
  408. data/vendor/assets/stylesheets/prism-theme/prism-twilight.min.css +1 -0
  409. data/vendor/assets/stylesheets/prism-theme/prism-unescaped-markup.css +10 -0
  410. data/vendor/assets/stylesheets/prism-theme/prism-vs.css +168 -0
  411. data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +275 -0
  412. data/vendor/assets/stylesheets/prism-theme/prism-wpd.css +11 -0
  413. data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +162 -0
  414. data/vendor/assets/stylesheets/prism-theme/prism-z-touch.css +160 -0
  415. data/vendor/assets/stylesheets/prism.css +6 -3
  416. metadata +392 -151
  417. data/vendor/assets/javascripts/prism/prism-abap.js +0 -48
  418. data/vendor/assets/javascripts/prism/prism-actionscript.js +0 -17
  419. data/vendor/assets/javascripts/prism/prism-ada.js +0 -19
  420. data/vendor/assets/javascripts/prism/prism-apacheconf.js +0 -47
  421. data/vendor/assets/javascripts/prism/prism-applescript.js +0 -20
  422. data/vendor/assets/javascripts/prism/prism-aspnet.js +0 -36
  423. data/vendor/assets/javascripts/prism/prism-autohotkey.js +0 -27
  424. data/vendor/assets/javascripts/prism/prism-autoit.js +0 -33
  425. data/vendor/assets/javascripts/prism/prism-bash.js +0 -80
  426. data/vendor/assets/javascripts/prism/prism-bro.js +0 -50
  427. data/vendor/assets/javascripts/prism/prism-c.js +0 -33
  428. data/vendor/assets/javascripts/prism/prism-clike.js +0 -29
  429. data/vendor/assets/javascripts/prism/prism-coffeescript.js +0 -91
  430. data/vendor/assets/javascripts/prism/prism-core.js +0 -511
  431. data/vendor/assets/javascripts/prism/prism-cpp.js +0 -12
  432. data/vendor/assets/javascripts/prism/prism-crystal.js +0 -53
  433. data/vendor/assets/javascripts/prism/prism-csharp.js +0 -32
  434. data/vendor/assets/javascripts/prism/prism-css-extras.js +0 -16
  435. data/vendor/assets/javascripts/prism/prism-css.js +0 -51
  436. data/vendor/assets/javascripts/prism/prism-d.js +0 -64
  437. data/vendor/assets/javascripts/prism/prism-dart.js +0 -18
  438. data/vendor/assets/javascripts/prism/prism-diff.js +0 -20
  439. data/vendor/assets/javascripts/prism/prism-docker.js +0 -9
  440. data/vendor/assets/javascripts/prism/prism-elixir.js +0 -90
  441. data/vendor/assets/javascripts/prism/prism-fsharp.js +0 -33
  442. data/vendor/assets/javascripts/prism/prism-gherkin.js +0 -78
  443. data/vendor/assets/javascripts/prism/prism-glsl.js +0 -16
  444. data/vendor/assets/javascripts/prism/prism-go.js +0 -9
  445. data/vendor/assets/javascripts/prism/prism-graphql.js +0 -24
  446. data/vendor/assets/javascripts/prism/prism-groovy.js +0 -65
  447. data/vendor/assets/javascripts/prism/prism-handlebars.js +0 -83
  448. data/vendor/assets/javascripts/prism/prism-haskell.js +0 -35
  449. data/vendor/assets/javascripts/prism/prism-haxe.js +0 -43
  450. data/vendor/assets/javascripts/prism/prism-http.js +0 -50
  451. data/vendor/assets/javascripts/prism/prism-ini.js +0 -11
  452. data/vendor/assets/javascripts/prism/prism-java.js +0 -16
  453. data/vendor/assets/javascripts/prism/prism-javascript.js +0 -48
  454. data/vendor/assets/javascripts/prism/prism-jolie.js +0 -56
  455. data/vendor/assets/javascripts/prism/prism-json.js +0 -11
  456. data/vendor/assets/javascripts/prism/prism-jsx.js +0 -27
  457. data/vendor/assets/javascripts/prism/prism-julia.js +0 -12
  458. data/vendor/assets/javascripts/prism/prism-keyman.js +0 -14
  459. data/vendor/assets/javascripts/prism/prism-kotlin.js +0 -62
  460. data/vendor/assets/javascripts/prism/prism-latex.js +0 -61
  461. data/vendor/assets/javascripts/prism/prism-lolcode.js +0 -54
  462. data/vendor/assets/javascripts/prism/prism-makefile.js +0 -31
  463. data/vendor/assets/javascripts/prism/prism-markdown.js +0 -120
  464. data/vendor/assets/javascripts/prism/prism-markup.js +0 -46
  465. data/vendor/assets/javascripts/prism/prism-matlab.js +0 -14
  466. data/vendor/assets/javascripts/prism/prism-mel.js +0 -39
  467. data/vendor/assets/javascripts/prism/prism-monkey.js +0 -25
  468. data/vendor/assets/javascripts/prism/prism-nasm.js +0 -24
  469. data/vendor/assets/javascripts/prism/prism-nginx.js +0 -11
  470. data/vendor/assets/javascripts/prism/prism-nsis.js +0 -26
  471. data/vendor/assets/javascripts/prism/prism-objectivec.js +0 -5
  472. data/vendor/assets/javascripts/prism/prism-ocaml.js +0 -21
  473. data/vendor/assets/javascripts/prism/prism-oz.js +0 -21
  474. data/vendor/assets/javascripts/prism/prism-parser.js +0 -66
  475. data/vendor/assets/javascripts/prism/prism-perl.js +0 -140
  476. data/vendor/assets/javascripts/prism/prism-php-extras.js +0 -11
  477. data/vendor/assets/javascripts/prism/prism-php.js +0 -111
  478. data/vendor/assets/javascripts/prism/prism-powershell.js +0 -52
  479. data/vendor/assets/javascripts/prism/prism-processing.js +0 -18
  480. data/vendor/assets/javascripts/prism/prism-properties.js +0 -9
  481. data/vendor/assets/javascripts/prism/prism-protobuf.js +0 -8
  482. data/vendor/assets/javascripts/prism/prism-python.js +0 -27
  483. data/vendor/assets/javascripts/prism/prism-r.js +0 -19
  484. data/vendor/assets/javascripts/prism/prism-rip.js +0 -28
  485. data/vendor/assets/javascripts/prism/prism-ruby.js +0 -116
  486. data/vendor/assets/javascripts/prism/prism-rust.js +0 -53
  487. data/vendor/assets/javascripts/prism/prism-sas.js +0 -31
  488. data/vendor/assets/javascripts/prism/prism-scala.js +0 -18
  489. data/vendor/assets/javascripts/prism/prism-scheme.js +0 -26
  490. data/vendor/assets/javascripts/prism/prism-smarty.js +0 -127
  491. data/vendor/assets/javascripts/prism/prism-sql.js +0 -17
  492. data/vendor/assets/javascripts/prism/prism-stylus.js +0 -102
  493. data/vendor/assets/javascripts/prism/prism-swift.js +0 -25
  494. data/vendor/assets/javascripts/prism/prism-tcl.js +0 -43
  495. data/vendor/assets/javascripts/prism/prism-textile.js +0 -257
  496. data/vendor/assets/javascripts/prism/prism-twig.js +0 -46
  497. data/vendor/assets/javascripts/prism/prism-typescript.js +0 -5
  498. data/vendor/assets/javascripts/prism/prism-verilog.js +0 -17
  499. data/vendor/assets/javascripts/prism/prism-vhdl.js +0 -23
  500. data/vendor/assets/javascripts/prism/prism-vim.js +0 -10
  501. data/vendor/assets/javascripts/prism/prism-xojo.js +0 -20
  502. data/vendor/assets/javascripts/prism/prism-yaml.js +0 -44
  503. data/vendor/assets/stylesheets/prism-hopscotch.css +0 -124
  504. data/vendor/assets/stylesheets/prism-pojoaque.css +0 -134
  505. data/vendor/assets/stylesheets/prism-vs.css +0 -157
  506. data/vendor/assets/stylesheets/prism-xonokai.css +0 -164
  507. /data/vendor/assets/javascripts/{prism → languages}/prism-jade.js +0 -0
  508. /data/vendor/assets/stylesheets/{prism-show-language.css → prism-theme/prism-show-language.css} +0 -0
@@ -1,172 +1,229 @@
1
- (function() {
1
+ (function () {
2
2
 
3
- if (typeof self === 'undefined' || !self.Prism || !self.document) {
4
- return;
5
- }
6
-
7
- var assign = Object.assign || function (obj1, obj2) {
8
- for (var name in obj2) {
9
- if (obj2.hasOwnProperty(name))
10
- obj1[name] = obj2[name];
3
+ if (typeof Prism === 'undefined') {
4
+ return;
11
5
  }
12
- return obj1;
13
- }
14
6
 
15
- function NormalizeWhitespace(defaults) {
16
- this.defaults = assign({}, defaults);
17
- }
7
+ var assign = Object.assign || function (obj1, obj2) {
8
+ for (var name in obj2) {
9
+ if (obj2.hasOwnProperty(name)) {
10
+ obj1[name] = obj2[name];
11
+ }
12
+ }
13
+ return obj1;
14
+ };
18
15
 
19
- function toCamelCase(value) {
20
- return value.replace(/-(\w)/g, function(match, firstChar) {
21
- return firstChar.toUpperCase();
22
- });
23
- }
16
+ function NormalizeWhitespace(defaults) {
17
+ this.defaults = assign({}, defaults);
18
+ }
24
19
 
25
- function tabLen(str) {
26
- var res = 0;
27
- for (var i = 0; i < str.length; ++i) {
28
- if (str.charCodeAt(i) == '\t'.charCodeAt(0))
29
- res += 3;
20
+ function toCamelCase(value) {
21
+ return value.replace(/-(\w)/g, function (match, firstChar) {
22
+ return firstChar.toUpperCase();
23
+ });
30
24
  }
31
- return str.length + res;
32
- }
33
-
34
- NormalizeWhitespace.prototype = {
35
- setDefaults: function (defaults) {
36
- this.defaults = assign(this.defaults, defaults);
37
- },
38
- normalize: function (input, settings) {
39
- settings = assign(this.defaults, settings);
40
-
41
- for (var name in settings) {
42
- var methodName = toCamelCase(name);
43
- if (name !== "normalize" && methodName !== 'setDefaults' &&
44
- settings[name] && this[methodName]) {
45
- input = this[methodName].call(this, input, settings[name]);
25
+
26
+ function tabLen(str) {
27
+ var res = 0;
28
+ for (var i = 0; i < str.length; ++i) {
29
+ if (str.charCodeAt(i) == '\t'.charCodeAt(0)) {
30
+ res += 3;
46
31
  }
47
32
  }
33
+ return str.length + res;
34
+ }
35
+
36
+ var settingsConfig = {
37
+ 'remove-trailing': 'boolean',
38
+ 'remove-indent': 'boolean',
39
+ 'left-trim': 'boolean',
40
+ 'right-trim': 'boolean',
41
+ 'break-lines': 'number',
42
+ 'indent': 'number',
43
+ 'remove-initial-line-feed': 'boolean',
44
+ 'tabs-to-spaces': 'number',
45
+ 'spaces-to-tabs': 'number',
46
+ };
47
+
48
+ NormalizeWhitespace.prototype = {
49
+ setDefaults: function (defaults) {
50
+ this.defaults = assign(this.defaults, defaults);
51
+ },
52
+ normalize: function (input, settings) {
53
+ settings = assign(this.defaults, settings);
54
+
55
+ for (var name in settings) {
56
+ var methodName = toCamelCase(name);
57
+ if (name !== 'normalize' && methodName !== 'setDefaults' &&
58
+ settings[name] && this[methodName]) {
59
+ input = this[methodName].call(this, input, settings[name]);
60
+ }
61
+ }
48
62
 
49
- return input;
50
- },
51
-
52
- /*
53
- * Normalization methods
54
- */
55
- leftTrim: function (input) {
56
- return input.replace(/^\s+/, '');
57
- },
58
- rightTrim: function (input) {
59
- return input.replace(/\s+$/, '');
60
- },
61
- tabsToSpaces: function (input, spaces) {
62
- spaces = spaces|0 || 4;
63
- return input.replace(/\t/g, new Array(++spaces).join(' '));
64
- },
65
- spacesToTabs: function (input, spaces) {
66
- spaces = spaces|0 || 4;
67
- return input.replace(new RegExp(' {' + spaces + '}', 'g'), '\t');
68
- },
69
- removeTrailing: function (input) {
70
- return input.replace(/\s*?$/gm, '');
71
- },
72
- // Support for deprecated plugin remove-initial-line-feed
73
- removeInitialLineFeed: function (input) {
74
- return input.replace(/^(?:\r?\n|\r)/, '');
75
- },
76
- removeIndent: function (input) {
77
- var indents = input.match(/^[^\S\n\r]*(?=\S)/gm);
78
-
79
- if (!indents || !indents[0].length)
80
63
  return input;
64
+ },
65
+
66
+ /*
67
+ * Normalization methods
68
+ */
69
+ leftTrim: function (input) {
70
+ return input.replace(/^\s+/, '');
71
+ },
72
+ rightTrim: function (input) {
73
+ return input.replace(/\s+$/, '');
74
+ },
75
+ tabsToSpaces: function (input, spaces) {
76
+ spaces = spaces|0 || 4;
77
+ return input.replace(/\t/g, new Array(++spaces).join(' '));
78
+ },
79
+ spacesToTabs: function (input, spaces) {
80
+ spaces = spaces|0 || 4;
81
+ return input.replace(RegExp(' {' + spaces + '}', 'g'), '\t');
82
+ },
83
+ removeTrailing: function (input) {
84
+ return input.replace(/\s*?$/gm, '');
85
+ },
86
+ // Support for deprecated plugin remove-initial-line-feed
87
+ removeInitialLineFeed: function (input) {
88
+ return input.replace(/^(?:\r?\n|\r)/, '');
89
+ },
90
+ removeIndent: function (input) {
91
+ var indents = input.match(/^[^\S\n\r]*(?=\S)/gm);
92
+
93
+ if (!indents || !indents[0].length) {
94
+ return input;
95
+ }
81
96
 
82
- indents.sort(function(a, b){return a.length - b.length; });
97
+ indents.sort(function (a, b) { return a.length - b.length; });
83
98
 
84
- if (!indents[0].length)
85
- return input;
99
+ if (!indents[0].length) {
100
+ return input;
101
+ }
86
102
 
87
- return input.replace(new RegExp('^' + indents[0], 'gm'), '');
88
- },
89
- indent: function (input, tabs) {
90
- return input.replace(/^[^\S\n\r]*(?=\S)/gm, new Array(++tabs).join('\t') + '$&');
91
- },
92
- breakLines: function (input, characters) {
93
- characters = (characters === true) ? 80 : characters|0 || 80;
94
-
95
- var lines = input.split('\n');
96
- for (var i = 0; i < lines.length; ++i) {
97
- if (tabLen(lines[i]) <= characters)
98
- continue;
99
-
100
- var line = lines[i].split(/(\s+)/g),
101
- len = 0;
102
-
103
- for (var j = 0; j < line.length; ++j) {
104
- var tl = tabLen(line[j]);
105
- len += tl;
106
- if (len > characters) {
107
- line[j] = '\n' + line[j];
108
- len = tl;
103
+ return input.replace(RegExp('^' + indents[0], 'gm'), '');
104
+ },
105
+ indent: function (input, tabs) {
106
+ return input.replace(/^[^\S\n\r]*(?=\S)/gm, new Array(++tabs).join('\t') + '$&');
107
+ },
108
+ breakLines: function (input, characters) {
109
+ characters = (characters === true) ? 80 : characters|0 || 80;
110
+
111
+ var lines = input.split('\n');
112
+ for (var i = 0; i < lines.length; ++i) {
113
+ if (tabLen(lines[i]) <= characters) {
114
+ continue;
109
115
  }
116
+
117
+ var line = lines[i].split(/(\s+)/g);
118
+ var len = 0;
119
+
120
+ for (var j = 0; j < line.length; ++j) {
121
+ var tl = tabLen(line[j]);
122
+ len += tl;
123
+ if (len > characters) {
124
+ line[j] = '\n' + line[j];
125
+ len = tl;
126
+ }
127
+ }
128
+ lines[i] = line.join('');
110
129
  }
111
- lines[i] = line.join('');
130
+ return lines.join('\n');
112
131
  }
113
- return lines.join('\n');
132
+ };
133
+
134
+ // Support node modules
135
+ if (typeof module !== 'undefined' && module.exports) {
136
+ module.exports = NormalizeWhitespace;
114
137
  }
115
- };
116
-
117
- Prism.plugins.NormalizeWhitespace = new NormalizeWhitespace({
118
- 'remove-trailing': true,
119
- 'remove-indent': true,
120
- 'left-trim': true,
121
- 'right-trim': true,
122
- /*'break-lines': 80,
123
- 'indent': 2,
124
- 'remove-initial-line-feed': false,
125
- 'tabs-to-spaces': 4,
126
- 'spaces-to-tabs': 4*/
127
- });
128
-
129
- Prism.hooks.add('before-sanity-check', function (env) {
130
- var pre = env.element.parentNode;
131
- var clsReg = /\bno-whitespace-normalization\b/;
132
- if (!env.code || !pre || pre.nodeName.toLowerCase() !== 'pre' ||
133
- (env.settings && env.settings['whitespace-normalization'] === false) ||
134
- clsReg.test(pre.className) || clsReg.test(env.element.className))
135
- return;
136
138
 
137
- var children = pre.childNodes,
138
- before = '',
139
- after = '',
140
- codeFound = false,
141
- Normalizer = Prism.plugins.NormalizeWhitespace;
142
-
143
- // Move surrounding whitespace from the <pre> tag into the <code> tag
144
- for (var i = 0; i < children.length; ++i) {
145
- var node = children[i];
146
-
147
- if (node == env.element) {
148
- codeFound = true;
149
- } else if (node.nodeName === "#text") {
150
- if (codeFound) {
151
- after += node.nodeValue;
152
- } else {
153
- before += node.nodeValue;
139
+ Prism.plugins.NormalizeWhitespace = new NormalizeWhitespace({
140
+ 'remove-trailing': true,
141
+ 'remove-indent': true,
142
+ 'left-trim': true,
143
+ 'right-trim': true,
144
+ /*'break-lines': 80,
145
+ 'indent': 2,
146
+ 'remove-initial-line-feed': false,
147
+ 'tabs-to-spaces': 4,
148
+ 'spaces-to-tabs': 4*/
149
+ });
150
+
151
+ Prism.hooks.add('before-sanity-check', function (env) {
152
+ var Normalizer = Prism.plugins.NormalizeWhitespace;
153
+
154
+ // Check settings
155
+ if (env.settings && env.settings['whitespace-normalization'] === false) {
156
+ return;
157
+ }
158
+
159
+ // Check classes
160
+ if (!Prism.util.isActive(env.element, 'whitespace-normalization', true)) {
161
+ return;
162
+ }
163
+
164
+ // Simple mode if there is no env.element
165
+ if ((!env.element || !env.element.parentNode) && env.code) {
166
+ env.code = Normalizer.normalize(env.code, env.settings);
167
+ return;
168
+ }
169
+
170
+ // Normal mode
171
+ var pre = env.element.parentNode;
172
+ if (!env.code || !pre || pre.nodeName.toLowerCase() !== 'pre') {
173
+ return;
174
+ }
175
+
176
+ if (env.settings == null) { env.settings = {}; }
177
+
178
+ // Read settings from 'data-' attributes
179
+ for (var key in settingsConfig) {
180
+ if (Object.hasOwnProperty.call(settingsConfig, key)) {
181
+ var settingType = settingsConfig[key];
182
+ if (pre.hasAttribute('data-' + key)) {
183
+ try {
184
+ var value = JSON.parse(pre.getAttribute('data-' + key) || 'true');
185
+ if (typeof value === settingType) {
186
+ env.settings[key] = value;
187
+ }
188
+ } catch (_error) {
189
+ // ignore error
190
+ }
191
+ }
154
192
  }
193
+ }
194
+
195
+ var children = pre.childNodes;
196
+ var before = '';
197
+ var after = '';
198
+ var codeFound = false;
199
+
200
+ // Move surrounding whitespace from the <pre> tag into the <code> tag
201
+ for (var i = 0; i < children.length; ++i) {
202
+ var node = children[i];
203
+
204
+ if (node == env.element) {
205
+ codeFound = true;
206
+ } else if (node.nodeName === '#text') {
207
+ if (codeFound) {
208
+ after += node.nodeValue;
209
+ } else {
210
+ before += node.nodeValue;
211
+ }
155
212
 
156
- pre.removeChild(node);
157
- --i;
213
+ pre.removeChild(node);
214
+ --i;
215
+ }
158
216
  }
159
- }
160
217
 
161
- if (!env.element.children.length || !Prism.plugins.KeepMarkup) {
162
- env.code = before + env.code + after;
163
- env.code = Normalizer.normalize(env.code, env.settings);
164
- } else {
165
- // Preserve markup for keep-markup plugin
166
- var html = before + env.element.innerHTML + after;
167
- env.element.innerHTML = Normalizer.normalize(html, env.settings);
168
- env.code = env.element.textContent;
169
- }
170
- });
218
+ if (!env.element.children.length || !Prism.plugins.KeepMarkup) {
219
+ env.code = before + env.code + after;
220
+ env.code = Normalizer.normalize(env.code, env.settings);
221
+ } else {
222
+ // Preserve markup for keep-markup plugin
223
+ var html = before + env.element.innerHTML + after;
224
+ env.element.innerHTML = Normalizer.normalize(html, env.settings);
225
+ env.code = env.element.textContent;
226
+ }
227
+ });
171
228
 
172
- }());
229
+ }());