prism-rails 1.6.0.3 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (341) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +3 -0
  3. data/README.md +88 -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/{prism → languages}/prism-abap.js +2 -2
  7. data/vendor/assets/javascripts/languages/prism-abnf.js +54 -0
  8. data/vendor/assets/javascripts/{prism → languages}/prism-actionscript.js +3 -5
  9. data/vendor/assets/javascripts/{prism → languages}/prism-ada.js +2 -2
  10. data/vendor/assets/javascripts/languages/prism-antlr4.js +65 -0
  11. data/vendor/assets/javascripts/languages/prism-apacheconf.js +47 -0
  12. data/vendor/assets/javascripts/{prism → languages}/prism-apl.js +8 -5
  13. data/vendor/assets/javascripts/{prism → languages}/prism-applescript.js +3 -3
  14. data/vendor/assets/javascripts/languages/prism-aql.js +41 -0
  15. data/vendor/assets/javascripts/languages/prism-arduino.js +5 -0
  16. data/vendor/assets/javascripts/languages/prism-arff.js +10 -0
  17. data/vendor/assets/javascripts/{prism → languages}/prism-asciidoc.js +23 -60
  18. data/vendor/assets/javascripts/languages/prism-asm6502.js +28 -0
  19. data/vendor/assets/javascripts/{prism → languages}/prism-aspnet.js +22 -10
  20. data/vendor/assets/javascripts/languages/prism-autohotkey.js +27 -0
  21. data/vendor/assets/javascripts/{prism → languages}/prism-autoit.js +1 -0
  22. data/vendor/assets/javascripts/languages/prism-bash.js +197 -0
  23. data/vendor/assets/javascripts/{prism → languages}/prism-basic.js +5 -2
  24. data/vendor/assets/javascripts/{prism → languages}/prism-batch.js +0 -0
  25. data/vendor/assets/javascripts/languages/prism-bbcode.js +27 -0
  26. data/vendor/assets/javascripts/{prism → languages}/prism-bison.js +0 -0
  27. data/vendor/assets/javascripts/languages/prism-bnf.js +21 -0
  28. data/vendor/assets/javascripts/{prism → languages}/prism-brainfuck.js +0 -0
  29. data/vendor/assets/javascripts/languages/prism-brightscript.js +44 -0
  30. data/vendor/assets/javascripts/languages/prism-bro.js +48 -0
  31. data/vendor/assets/javascripts/languages/prism-c.js +41 -0
  32. data/vendor/assets/javascripts/languages/prism-cil.js +27 -0
  33. data/vendor/assets/javascripts/languages/prism-clike.js +30 -0
  34. data/vendor/assets/javascripts/languages/prism-clojure.js +16 -0
  35. data/vendor/assets/javascripts/languages/prism-cmake.js +29 -0
  36. data/vendor/assets/javascripts/{prism → languages}/prism-coffeescript.js +6 -5
  37. data/vendor/assets/javascripts/languages/prism-concurnas.js +48 -0
  38. data/vendor/assets/javascripts/languages/prism-core.js +627 -0
  39. data/vendor/assets/javascripts/languages/prism-cpp.js +21 -0
  40. data/vendor/assets/javascripts/{prism → languages}/prism-crystal.js +5 -7
  41. data/vendor/assets/javascripts/languages/prism-csharp.js +81 -0
  42. data/vendor/assets/javascripts/languages/prism-csp.js +25 -0
  43. data/vendor/assets/javascripts/languages/prism-css-extras.js +109 -0
  44. data/vendor/assets/javascripts/languages/prism-css.js +62 -0
  45. data/vendor/assets/javascripts/{prism → languages}/prism-d.js +49 -34
  46. data/vendor/assets/javascripts/{prism → languages}/prism-dart.js +8 -2
  47. data/vendor/assets/javascripts/languages/prism-diff.js +54 -0
  48. data/vendor/assets/javascripts/languages/prism-django.js +60 -0
  49. data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +33 -0
  50. data/vendor/assets/javascripts/languages/prism-docker.js +11 -0
  51. data/vendor/assets/javascripts/languages/prism-ebnf.js +22 -0
  52. data/vendor/assets/javascripts/{prism → languages}/prism-eiffel.js +20 -7
  53. data/vendor/assets/javascripts/languages/prism-ejs.js +24 -0
  54. data/vendor/assets/javascripts/{prism → languages}/prism-elixir.js +14 -15
  55. data/vendor/assets/javascripts/languages/prism-elm.js +44 -0
  56. data/vendor/assets/javascripts/languages/prism-erb.js +20 -0
  57. data/vendor/assets/javascripts/{prism → languages}/prism-erlang.js +7 -4
  58. data/vendor/assets/javascripts/languages/prism-etlua.js +23 -0
  59. data/vendor/assets/javascripts/languages/prism-factor.js +403 -0
  60. data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +35 -0
  61. data/vendor/assets/javascripts/languages/prism-flow.js +35 -0
  62. data/vendor/assets/javascripts/{prism → languages}/prism-fortran.js +5 -2
  63. data/vendor/assets/javascripts/languages/prism-fsharp.js +67 -0
  64. data/vendor/assets/javascripts/languages/prism-ftl.js +97 -0
  65. data/vendor/assets/javascripts/languages/prism-gcode.js +15 -0
  66. data/vendor/assets/javascripts/languages/prism-gdscript.js +27 -0
  67. data/vendor/assets/javascripts/languages/prism-gedcom.js +28 -0
  68. data/vendor/assets/javascripts/languages/prism-gherkin.js +85 -0
  69. data/vendor/assets/javascripts/{prism → languages}/prism-git.js +2 -2
  70. data/vendor/assets/javascripts/{prism → languages}/prism-glsl.js +3 -3
  71. data/vendor/assets/javascripts/languages/prism-gml.js +7 -0
  72. data/vendor/assets/javascripts/languages/prism-go.js +12 -0
  73. data/vendor/assets/javascripts/languages/prism-graphql.js +31 -0
  74. data/vendor/assets/javascripts/{prism → languages}/prism-groovy.js +12 -10
  75. data/vendor/assets/javascripts/{prism → languages}/prism-haml.js +14 -26
  76. data/vendor/assets/javascripts/languages/prism-handlebars.js +37 -0
  77. data/vendor/assets/javascripts/languages/prism-haskell.js +38 -0
  78. data/vendor/assets/javascripts/{prism → languages}/prism-haxe.js +4 -2
  79. data/vendor/assets/javascripts/languages/prism-hcl.js +65 -0
  80. data/vendor/assets/javascripts/languages/prism-hpkp.js +20 -0
  81. data/vendor/assets/javascripts/languages/prism-hsts.js +20 -0
  82. data/vendor/assets/javascripts/languages/prism-http.js +77 -0
  83. data/vendor/assets/javascripts/languages/prism-ichigojam.js +15 -0
  84. data/vendor/assets/javascripts/{prism → languages}/prism-icon.js +4 -1
  85. data/vendor/assets/javascripts/{prism → languages}/prism-inform7.js +6 -3
  86. data/vendor/assets/javascripts/{prism → languages}/prism-ini.js +2 -2
  87. data/vendor/assets/javascripts/languages/prism-io.js +31 -0
  88. data/vendor/assets/javascripts/{prism → languages}/prism-j.js +5 -2
  89. data/vendor/assets/javascripts/{prism → languages}/prism-jade.js +0 -0
  90. data/vendor/assets/javascripts/languages/prism-java.js +63 -0
  91. data/vendor/assets/javascripts/languages/prism-javadoc.js +54 -0
  92. data/vendor/assets/javascripts/languages/prism-javadoclike.js +87 -0
  93. data/vendor/assets/javascripts/languages/prism-javascript.js +91 -0
  94. data/vendor/assets/javascripts/languages/prism-javastacktrace.js +93 -0
  95. data/vendor/assets/javascripts/{prism → languages}/prism-jolie.js +9 -10
  96. data/vendor/assets/javascripts/languages/prism-jq.js +67 -0
  97. data/vendor/assets/javascripts/languages/prism-js-extras.js +104 -0
  98. data/vendor/assets/javascripts/languages/prism-js-templates.js +346 -0
  99. data/vendor/assets/javascripts/languages/prism-jsdoc.js +73 -0
  100. data/vendor/assets/javascripts/languages/prism-json.js +19 -0
  101. data/vendor/assets/javascripts/languages/prism-json5.js +23 -0
  102. data/vendor/assets/javascripts/languages/prism-jsonp.js +7 -0
  103. data/vendor/assets/javascripts/languages/prism-jsx.js +126 -0
  104. data/vendor/assets/javascripts/languages/prism-julia.js +13 -0
  105. data/vendor/assets/javascripts/languages/prism-keyman.js +14 -0
  106. data/vendor/assets/javascripts/{prism → languages}/prism-kotlin.js +6 -6
  107. data/vendor/assets/javascripts/{prism → languages}/prism-latex.js +16 -13
  108. data/vendor/assets/javascripts/languages/prism-latte.js +69 -0
  109. data/vendor/assets/javascripts/{prism → languages}/prism-less.js +3 -9
  110. data/vendor/assets/javascripts/languages/prism-lilypond.js +69 -0
  111. data/vendor/assets/javascripts/languages/prism-liquid.js +12 -0
  112. data/vendor/assets/javascripts/languages/prism-lisp.js +197 -0
  113. data/vendor/assets/javascripts/{prism → languages}/prism-livescript.js +19 -18
  114. data/vendor/assets/javascripts/{prism → languages}/prism-lolcode.js +3 -2
  115. data/vendor/assets/javascripts/{prism → languages}/prism-lua.js +0 -0
  116. data/vendor/assets/javascripts/{prism → languages}/prism-makefile.js +5 -2
  117. data/vendor/assets/javascripts/languages/prism-markdown.js +344 -0
  118. data/vendor/assets/javascripts/languages/prism-markup-templating.js +123 -0
  119. data/vendor/assets/javascripts/languages/prism-markup.js +103 -0
  120. data/vendor/assets/javascripts/{prism → languages}/prism-matlab.js +5 -3
  121. data/vendor/assets/javascripts/{prism → languages}/prism-mel.js +7 -3
  122. data/vendor/assets/javascripts/{prism → languages}/prism-mizar.js +0 -0
  123. data/vendor/assets/javascripts/{prism → languages}/prism-monkey.js +9 -3
  124. data/vendor/assets/javascripts/languages/prism-moonscript.js +57 -0
  125. data/vendor/assets/javascripts/languages/prism-n1ql.js +18 -0
  126. data/vendor/assets/javascripts/languages/prism-n4js.js +14 -0
  127. data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +9 -0
  128. data/vendor/assets/javascripts/languages/prism-nasm.js +24 -0
  129. data/vendor/assets/javascripts/languages/prism-neon.js +41 -0
  130. data/vendor/assets/javascripts/languages/prism-nginx.js +11 -0
  131. data/vendor/assets/javascripts/{prism → languages}/prism-nim.js +4 -1
  132. data/vendor/assets/javascripts/{prism → languages}/prism-nix.js +2 -1
  133. data/vendor/assets/javascripts/languages/prism-nsis.js +29 -0
  134. data/vendor/assets/javascripts/languages/prism-objectivec.js +7 -0
  135. data/vendor/assets/javascripts/languages/prism-ocaml.js +41 -0
  136. data/vendor/assets/javascripts/languages/prism-opencl.js +54 -0
  137. data/vendor/assets/javascripts/{prism → languages}/prism-oz.js +6 -2
  138. data/vendor/assets/javascripts/{prism → languages}/prism-parigp.js +4 -1
  139. data/vendor/assets/javascripts/languages/prism-parser.js +73 -0
  140. data/vendor/assets/javascripts/{prism → languages}/prism-pascal.js +9 -4
  141. data/vendor/assets/javascripts/languages/prism-pascaligo.js +62 -0
  142. data/vendor/assets/javascripts/languages/prism-pcaxis.js +53 -0
  143. data/vendor/assets/javascripts/languages/prism-perl.js +191 -0
  144. data/vendor/assets/javascripts/{prism → languages}/prism-php-extras.js +3 -3
  145. data/vendor/assets/javascripts/languages/prism-php.js +130 -0
  146. data/vendor/assets/javascripts/languages/prism-phpdoc.js +27 -0
  147. data/vendor/assets/javascripts/languages/prism-plsql.js +26 -0
  148. data/vendor/assets/javascripts/languages/prism-powershell.js +60 -0
  149. data/vendor/assets/javascripts/{prism → languages}/prism-processing.js +2 -2
  150. data/vendor/assets/javascripts/{prism → languages}/prism-prolog.js +4 -1
  151. data/vendor/assets/javascripts/{prism → languages}/prism-properties.js +2 -2
  152. data/vendor/assets/javascripts/languages/prism-protobuf.js +36 -0
  153. data/vendor/assets/javascripts/languages/prism-pug.js +181 -0
  154. data/vendor/assets/javascripts/{prism → languages}/prism-puppet.js +7 -2
  155. data/vendor/assets/javascripts/{prism → languages}/prism-pure.js +19 -17
  156. data/vendor/assets/javascripts/languages/prism-python.js +64 -0
  157. data/vendor/assets/javascripts/{prism → languages}/prism-q.js +13 -6
  158. data/vendor/assets/javascripts/languages/prism-qml.js +58 -0
  159. data/vendor/assets/javascripts/{prism → languages}/prism-qore.js +7 -4
  160. data/vendor/assets/javascripts/{prism → languages}/prism-r.js +5 -2
  161. data/vendor/assets/javascripts/{prism → languages}/prism-reason.js +4 -8
  162. data/vendor/assets/javascripts/languages/prism-regex.js +97 -0
  163. data/vendor/assets/javascripts/languages/prism-renpy.js +29 -0
  164. data/vendor/assets/javascripts/{prism → languages}/prism-rest.js +4 -4
  165. data/vendor/assets/javascripts/{prism → languages}/prism-rip.js +7 -3
  166. data/vendor/assets/javascripts/{prism → languages}/prism-roboconf.js +0 -0
  167. data/vendor/assets/javascripts/languages/prism-robotframework.js +104 -0
  168. data/vendor/assets/javascripts/{prism → languages}/prism-ruby.js +49 -15
  169. data/vendor/assets/javascripts/languages/prism-rust.js +68 -0
  170. data/vendor/assets/javascripts/languages/prism-sas.js +302 -0
  171. data/vendor/assets/javascripts/{prism → languages}/prism-sass.js +1 -2
  172. data/vendor/assets/javascripts/{prism → languages}/prism-scala.js +10 -11
  173. data/vendor/assets/javascripts/languages/prism-scheme.js +33 -0
  174. data/vendor/assets/javascripts/{prism → languages}/prism-scss.js +18 -16
  175. data/vendor/assets/javascripts/languages/prism-shell-session.js +54 -0
  176. data/vendor/assets/javascripts/{prism → languages}/prism-smalltalk.js +9 -9
  177. data/vendor/assets/javascripts/languages/prism-smarty.js +87 -0
  178. data/vendor/assets/javascripts/languages/prism-solidity.js +20 -0
  179. data/vendor/assets/javascripts/languages/prism-solution-file.js +51 -0
  180. data/vendor/assets/javascripts/languages/prism-soy.js +96 -0
  181. data/vendor/assets/javascripts/languages/prism-sparql.js +18 -0
  182. data/vendor/assets/javascripts/languages/prism-splunk-spl.js +24 -0
  183. data/vendor/assets/javascripts/languages/prism-sqf.js +34 -0
  184. data/vendor/assets/javascripts/languages/prism-sql.js +24 -0
  185. data/vendor/assets/javascripts/{prism → languages}/prism-stylus.js +16 -7
  186. data/vendor/assets/javascripts/languages/prism-swift.js +25 -0
  187. data/vendor/assets/javascripts/languages/prism-t4-cs.js +1 -0
  188. data/vendor/assets/javascripts/languages/prism-t4-templating.js +49 -0
  189. data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -0
  190. data/vendor/assets/javascripts/languages/prism-tap.js +20 -0
  191. data/vendor/assets/javascripts/languages/prism-tcl.js +46 -0
  192. data/vendor/assets/javascripts/{prism → languages}/prism-textile.js +35 -32
  193. data/vendor/assets/javascripts/languages/prism-toml.js +43 -0
  194. data/vendor/assets/javascripts/languages/prism-tsx.js +2 -0
  195. data/vendor/assets/javascripts/languages/prism-tt2.js +53 -0
  196. data/vendor/assets/javascripts/languages/prism-turtle.js +54 -0
  197. data/vendor/assets/javascripts/{prism → languages}/prism-twig.js +8 -8
  198. data/vendor/assets/javascripts/languages/prism-typescript.js +7 -0
  199. data/vendor/assets/javascripts/languages/prism-vala.js +74 -0
  200. data/vendor/assets/javascripts/languages/prism-vbnet.js +15 -0
  201. data/vendor/assets/javascripts/languages/prism-velocity.js +72 -0
  202. data/vendor/assets/javascripts/languages/prism-verilog.js +20 -0
  203. data/vendor/assets/javascripts/{prism → languages}/prism-vhdl.js +2 -2
  204. data/vendor/assets/javascripts/{prism → languages}/prism-vim.js +1 -1
  205. data/vendor/assets/javascripts/languages/prism-visual-basic.js +34 -0
  206. data/vendor/assets/javascripts/languages/prism-wasm.js +31 -0
  207. data/vendor/assets/javascripts/{prism → languages}/prism-wiki.js +7 -6
  208. data/vendor/assets/javascripts/languages/prism-xeora.js +114 -0
  209. data/vendor/assets/javascripts/{prism → languages}/prism-xojo.js +1 -1
  210. data/vendor/assets/javascripts/languages/prism-xquery.js +162 -0
  211. data/vendor/assets/javascripts/languages/prism-yaml.js +76 -0
  212. data/vendor/assets/javascripts/languages/prism-zig.js +97 -0
  213. data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +13 -8
  214. data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +306 -95
  215. data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +96 -38
  216. data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +10 -10
  217. data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +89 -23
  218. data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +2 -2
  219. data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +83 -0
  220. data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +19 -0
  221. data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +53 -41
  222. data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +125 -0
  223. data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +88 -0
  224. data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +124 -69
  225. data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +4 -2
  226. data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +195 -115
  227. data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +154 -43
  228. data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +184 -0
  229. data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +29 -11
  230. data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +703 -0
  231. data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +2 -2
  232. data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +83 -18
  233. data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +190 -19
  234. data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +53 -8
  235. data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +11 -7
  236. data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +12 -12
  237. data/vendor/assets/javascripts/prism.js +210 -127
  238. data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.css +13 -0
  239. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +9 -0
  240. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +5 -0
  241. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +4 -3
  242. data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.css +29 -0
  243. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +242 -0
  244. data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.css +7 -6
  245. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +21 -15
  246. data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.css +4 -4
  247. data/vendor/assets/stylesheets/prism-theme/prism-a11y-dark.css +161 -0
  248. data/vendor/assets/stylesheets/{prism-atom-dark.css → prism-theme/prism-atom-dark.css} +10 -13
  249. data/vendor/assets/stylesheets/prism-theme/prism-autolinker.css +3 -0
  250. data/vendor/assets/stylesheets/{prism-base16-ateliersulphurpool.light.css → prism-theme/prism-base16-ateliersulphurpool.light.css} +57 -53
  251. data/vendor/assets/stylesheets/{prism-cb.css → prism-theme/prism-cb.css} +27 -27
  252. data/vendor/assets/stylesheets/prism-theme/prism-command-line.css +33 -0
  253. data/vendor/assets/stylesheets/{prism-coy.css → prism-theme/prism-coy.css} +14 -9
  254. data/vendor/assets/stylesheets/prism-theme/prism-darcula.css +159 -0
  255. data/vendor/assets/stylesheets/{prism-dark.css → prism-theme/prism-dark.css} +2 -1
  256. data/vendor/assets/stylesheets/prism-theme/prism-dracula.css +122 -0
  257. data/vendor/assets/stylesheets/{prism-duotone-dark.css → prism-theme/prism-duotone-dark.css} +55 -51
  258. data/vendor/assets/stylesheets/{prism-duotone-earth.css → prism-theme/prism-duotone-earth.css} +55 -51
  259. data/vendor/assets/stylesheets/{prism-duotone-forest.css → prism-theme/prism-duotone-forest.css} +55 -51
  260. data/vendor/assets/stylesheets/{prism-duotone-light.css → prism-theme/prism-duotone-light.css} +55 -51
  261. data/vendor/assets/stylesheets/{prism-duotone-sea.css → prism-theme/prism-duotone-sea.css} +55 -51
  262. data/vendor/assets/stylesheets/{prism-duotone-space.css → prism-theme/prism-duotone-space.css} +55 -51
  263. data/vendor/assets/stylesheets/{prism-funky.css → prism-theme/prism-funky.css} +16 -2
  264. data/vendor/assets/stylesheets/{prism-ghcolors.css → prism-theme/prism-ghcolors.css} +47 -44
  265. data/vendor/assets/stylesheets/prism-theme/prism-hopscotch.css +132 -0
  266. data/vendor/assets/stylesheets/prism-theme/prism-line-highlight.css +49 -0
  267. data/vendor/assets/stylesheets/prism-theme/prism-line-numbers.css +41 -0
  268. data/vendor/assets/stylesheets/prism-theme/prism-material-dark.css +205 -0
  269. data/vendor/assets/stylesheets/prism-theme/prism-material-light.css +207 -0
  270. data/vendor/assets/stylesheets/prism-theme/prism-material-oceanic.css +210 -0
  271. data/vendor/assets/stylesheets/prism-theme/prism-nord.css +124 -0
  272. data/vendor/assets/stylesheets/{prism-okaidia.css → prism-theme/prism-okaidia.css} +4 -2
  273. data/vendor/assets/stylesheets/prism-theme/prism-pojoaque.css +151 -0
  274. data/vendor/assets/stylesheets/prism-theme/prism-previewers.css +242 -0
  275. data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +200 -0
  276. data/vendor/assets/stylesheets/prism-theme/prism-show-invisibles.css +34 -0
  277. data/vendor/assets/stylesheets/{prism-show-language.css → prism-theme/prism-show-language.css} +0 -0
  278. data/vendor/assets/stylesheets/{prism-solarizedlight.css → prism-theme/prism-solarizedlight.css} +5 -3
  279. data/vendor/assets/stylesheets/prism-theme/prism-synthwave84.css +140 -0
  280. data/vendor/assets/stylesheets/{prism-tomorrow.css → prism-theme/prism-tomorrow.css} +1 -0
  281. data/vendor/assets/stylesheets/{prism-toolbar.css → prism-theme/prism-toolbar.css} +15 -15
  282. data/vendor/assets/stylesheets/{prism-twilight.css → prism-theme/prism-twilight.css} +2 -1
  283. data/vendor/assets/stylesheets/prism-theme/prism-unescaped-markup.css +10 -0
  284. data/vendor/assets/stylesheets/{prism-vs.css → prism-theme/prism-vs.css} +62 -55
  285. data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +216 -0
  286. data/vendor/assets/stylesheets/prism-theme/prism-wpd.css +11 -0
  287. data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +189 -0
  288. data/vendor/assets/stylesheets/prism.css +5 -3
  289. metadata +262 -148
  290. data/vendor/assets/javascripts/prism/prism-apacheconf.js +0 -47
  291. data/vendor/assets/javascripts/prism/prism-autohotkey.js +0 -27
  292. data/vendor/assets/javascripts/prism/prism-bash.js +0 -80
  293. data/vendor/assets/javascripts/prism/prism-bro.js +0 -50
  294. data/vendor/assets/javascripts/prism/prism-c.js +0 -33
  295. data/vendor/assets/javascripts/prism/prism-clike.js +0 -29
  296. data/vendor/assets/javascripts/prism/prism-core.js +0 -511
  297. data/vendor/assets/javascripts/prism/prism-cpp.js +0 -12
  298. data/vendor/assets/javascripts/prism/prism-csharp.js +0 -32
  299. data/vendor/assets/javascripts/prism/prism-css-extras.js +0 -16
  300. data/vendor/assets/javascripts/prism/prism-css.js +0 -51
  301. data/vendor/assets/javascripts/prism/prism-diff.js +0 -20
  302. data/vendor/assets/javascripts/prism/prism-docker.js +0 -9
  303. data/vendor/assets/javascripts/prism/prism-fsharp.js +0 -33
  304. data/vendor/assets/javascripts/prism/prism-gherkin.js +0 -78
  305. data/vendor/assets/javascripts/prism/prism-go.js +0 -9
  306. data/vendor/assets/javascripts/prism/prism-graphql.js +0 -24
  307. data/vendor/assets/javascripts/prism/prism-handlebars.js +0 -83
  308. data/vendor/assets/javascripts/prism/prism-haskell.js +0 -35
  309. data/vendor/assets/javascripts/prism/prism-http.js +0 -50
  310. data/vendor/assets/javascripts/prism/prism-java.js +0 -16
  311. data/vendor/assets/javascripts/prism/prism-javascript.js +0 -48
  312. data/vendor/assets/javascripts/prism/prism-json.js +0 -11
  313. data/vendor/assets/javascripts/prism/prism-jsx.js +0 -27
  314. data/vendor/assets/javascripts/prism/prism-julia.js +0 -12
  315. data/vendor/assets/javascripts/prism/prism-keyman.js +0 -14
  316. data/vendor/assets/javascripts/prism/prism-markdown.js +0 -120
  317. data/vendor/assets/javascripts/prism/prism-markup.js +0 -46
  318. data/vendor/assets/javascripts/prism/prism-nasm.js +0 -24
  319. data/vendor/assets/javascripts/prism/prism-nginx.js +0 -11
  320. data/vendor/assets/javascripts/prism/prism-nsis.js +0 -26
  321. data/vendor/assets/javascripts/prism/prism-objectivec.js +0 -5
  322. data/vendor/assets/javascripts/prism/prism-ocaml.js +0 -21
  323. data/vendor/assets/javascripts/prism/prism-parser.js +0 -66
  324. data/vendor/assets/javascripts/prism/prism-perl.js +0 -140
  325. data/vendor/assets/javascripts/prism/prism-php.js +0 -111
  326. data/vendor/assets/javascripts/prism/prism-powershell.js +0 -52
  327. data/vendor/assets/javascripts/prism/prism-protobuf.js +0 -8
  328. data/vendor/assets/javascripts/prism/prism-python.js +0 -27
  329. data/vendor/assets/javascripts/prism/prism-rust.js +0 -53
  330. data/vendor/assets/javascripts/prism/prism-sas.js +0 -31
  331. data/vendor/assets/javascripts/prism/prism-scheme.js +0 -26
  332. data/vendor/assets/javascripts/prism/prism-smarty.js +0 -127
  333. data/vendor/assets/javascripts/prism/prism-sql.js +0 -17
  334. data/vendor/assets/javascripts/prism/prism-swift.js +0 -25
  335. data/vendor/assets/javascripts/prism/prism-tcl.js +0 -43
  336. data/vendor/assets/javascripts/prism/prism-typescript.js +0 -5
  337. data/vendor/assets/javascripts/prism/prism-verilog.js +0 -17
  338. data/vendor/assets/javascripts/prism/prism-yaml.js +0 -44
  339. data/vendor/assets/stylesheets/prism-hopscotch.css +0 -124
  340. data/vendor/assets/stylesheets/prism-pojoaque.css +0 -134
  341. data/vendor/assets/stylesheets/prism-xonokai.css +0 -164
@@ -4,33 +4,101 @@ if (typeof self === 'undefined' || !self.Prism || !self.document) {
4
4
  return;
5
5
  }
6
6
 
7
- Prism.hooks.add('complete', function (env) {
8
- if (!env.code) {
7
+ var clsReg = /(?:^|\s)command-line(?:\s|$)/;
8
+
9
+ Prism.hooks.add('before-highlight', function (env) {
10
+ var vars = env.vars = env.vars || {};
11
+ var commandLine = vars['command-line'] = vars['command-line'] || {};
12
+
13
+ if (commandLine.complete || !env.code) {
14
+ commandLine.complete = true;
9
15
  return;
10
16
  }
11
17
 
12
18
  // Works only for <code> wrapped inside <pre> (not inline).
13
19
  var pre = env.element.parentNode;
14
- var clsReg = /\s*\bcommand-line\b\s*/;
15
- if (
16
- !pre || !/pre/i.test(pre.nodeName) ||
17
- // Abort only if neither the <pre> nor the <code> have the class
18
- (!clsReg.test(pre.className) && !clsReg.test(env.element.className))
19
- ) {
20
+ if (!pre || !/pre/i.test(pre.nodeName) || // Abort only if neither the <pre> nor the <code> have the class
21
+ (!clsReg.test(pre.className) && !clsReg.test(env.element.className))) {
22
+ commandLine.complete = true;
20
23
  return;
21
24
  }
22
25
 
23
- if (env.element.querySelector('.command-line-prompt')) {
24
- // Abort if prompt already exists.
26
+ if (env.element.querySelector('.command-line-prompt')) { // Abort if prompt already exists.
27
+ commandLine.complete = true;
25
28
  return;
26
29
  }
27
30
 
28
- if (clsReg.test(env.element.className)) {
29
- // Remove the class "command-line" from the <code>
30
- env.element.className = env.element.className.replace(clsReg, '');
31
+ var codeLines = env.code.split('\n');
32
+ commandLine.numberOfLines = codeLines.length;
33
+ var outputLines = commandLine.outputLines = [];
34
+
35
+ var outputSections = pre.getAttribute('data-output');
36
+ var outputFilter = pre.getAttribute('data-filter-output');
37
+ if (outputSections || outputSections === '') { // The user specified the output lines. -- cwells
38
+ outputSections = outputSections.split(',');
39
+ for (var i = 0; i < outputSections.length; i++) { // Parse the output sections into start/end ranges. -- cwells
40
+ var range = outputSections[i].split('-');
41
+ var outputStart = parseInt(range[0], 10);
42
+ var outputEnd = (range.length === 2 ? parseInt(range[1], 10) : outputStart);
43
+
44
+ if (!isNaN(outputStart) && !isNaN(outputEnd)) {
45
+ if (outputStart < 1) {
46
+ outputStart = 1;
47
+ }
48
+ if (outputEnd > codeLines.length) {
49
+ outputEnd = codeLines.length;
50
+ }
51
+ // Convert start and end to 0-based to simplify the arrays. -- cwells
52
+ outputStart--;
53
+ outputEnd--;
54
+ // Save the output line in an array and clear it in the code so it's not highlighted. -- cwells
55
+ for (var j = outputStart; j <= outputEnd; j++) {
56
+ outputLines[j] = codeLines[j];
57
+ codeLines[j] = '';
58
+ }
59
+ }
60
+ }
61
+ } else if (outputFilter) { // Treat lines beginning with this string as output. -- cwells
62
+ for (var i = 0; i < codeLines.length; i++) {
63
+ if (codeLines[i].indexOf(outputFilter) === 0) { // This line is output. -- cwells
64
+ outputLines[i] = codeLines[i].slice(outputFilter.length);
65
+ codeLines[i] = '';
66
+ }
67
+ }
68
+ }
69
+
70
+ env.code = codeLines.join('\n');
71
+ });
72
+
73
+ Prism.hooks.add('before-insert', function (env) {
74
+ var vars = env.vars = env.vars || {};
75
+ var commandLine = vars['command-line'] = vars['command-line'] || {};
76
+ if (commandLine.complete) {
77
+ return;
31
78
  }
32
- if (!clsReg.test(pre.className)) {
33
- // Add the class "command-line" to the <pre>
79
+
80
+ // Reinsert the output lines into the highlighted code. -- cwells
81
+ var codeLines = env.highlightedCode.split('\n');
82
+ for (var i = 0, l = (commandLine.outputLines || []).length; i < l; i++) {
83
+ if (commandLine.outputLines.hasOwnProperty(i)) {
84
+ codeLines[i] = commandLine.outputLines[i];
85
+ }
86
+ }
87
+ env.highlightedCode = codeLines.join('\n');
88
+ });
89
+
90
+ Prism.hooks.add('complete', function (env) {
91
+ var vars = env.vars = env.vars || {};
92
+ var commandLine = vars['command-line'] = vars['command-line'] || {};
93
+ if (commandLine.complete) {
94
+ return;
95
+ }
96
+
97
+ var pre = env.element.parentNode;
98
+ if (clsReg.test(env.element.className)) { // Remove the class "command-line" from the <code>
99
+ env.element.className = env.element.className.replace(clsReg, ' ');
100
+ }
101
+ if (!clsReg.test(pre.className)) { // Add the class "command-line" to the <pre>
34
102
  pre.className += ' command-line';
35
103
  }
36
104
 
@@ -39,43 +107,33 @@ Prism.hooks.add('complete', function (env) {
39
107
  };
40
108
 
41
109
  // Create the "rows" that will become the command-line prompts. -- cwells
42
- var lines = new Array(1 + env.code.split('\n').length);
110
+ var promptLines = new Array((commandLine.numberOfLines || 0) + 1);
43
111
  var promptText = getAttribute('data-prompt', '');
44
112
  if (promptText !== '') {
45
- lines = lines.join('<span data-prompt="' + promptText + '"></span>');
113
+ promptLines = promptLines.join('<span data-prompt="' + promptText + '"></span>');
46
114
  } else {
47
115
  var user = getAttribute('data-user', 'user');
48
116
  var host = getAttribute('data-host', 'localhost');
49
- lines = lines.join('<span data-user="' + user + '" data-host="' + host + '"></span>');
117
+ promptLines = promptLines.join('<span data-user="' + user + '" data-host="' + host + '"></span>');
50
118
  }
51
119
 
52
120
  // Create the wrapper element. -- cwells
53
121
  var prompt = document.createElement('span');
54
122
  prompt.className = 'command-line-prompt';
55
- prompt.innerHTML = lines;
56
-
57
- // Mark the output lines so they can be styled differently (no prompt). -- cwells
58
- var outputSections = pre.getAttribute('data-output') || '';
59
- outputSections = outputSections.split(',');
60
- for (var i = 0; i < outputSections.length; i++) {
61
- var outputRange = outputSections[i].split('-');
62
- var outputStart = parseInt(outputRange[0]);
63
- var outputEnd = outputStart; // Default: end at the first line when it's not an actual range. -- cwells
64
- if (outputRange.length === 2) {
65
- outputEnd = parseInt(outputRange[1]);
66
- }
123
+ prompt.innerHTML = promptLines;
67
124
 
68
- if (!isNaN(outputStart) && !isNaN(outputEnd)) {
69
- for (var j = outputStart; j <= outputEnd && j <= prompt.children.length; j++) {
70
- var node = prompt.children[j - 1];
71
- node.removeAttribute('data-user');
72
- node.removeAttribute('data-host');
73
- node.removeAttribute('data-prompt');
74
- }
125
+ // Remove the prompt from the output lines. -- cwells
126
+ for (var i = 0, l = (commandLine.outputLines || []).length; i < l; i++) {
127
+ if (commandLine.outputLines.hasOwnProperty(i)) {
128
+ var node = prompt.children[i];
129
+ node.removeAttribute('data-user');
130
+ node.removeAttribute('data-host');
131
+ node.removeAttribute('data-prompt');
75
132
  }
76
133
  }
77
134
 
78
- env.element.innerHTML = prompt.outerHTML + env.element.innerHTML;
135
+ env.element.insertBefore(prompt, env.element.firstChild);
136
+ commandLine.complete = true;
79
137
  });
80
138
 
81
139
  }());
@@ -9,37 +9,37 @@
9
9
  return;
10
10
  }
11
11
 
12
- var Clipboard = window.Clipboard || undefined;
12
+ var ClipboardJS = window.ClipboardJS || undefined;
13
13
 
14
- if (!Clipboard && typeof require === 'function') {
15
- Clipboard = require('clipboard');
14
+ if (!ClipboardJS && typeof require === 'function') {
15
+ ClipboardJS = require('clipboard');
16
16
  }
17
17
 
18
18
  var callbacks = [];
19
19
 
20
- if (!Clipboard) {
20
+ if (!ClipboardJS) {
21
21
  var script = document.createElement('script');
22
22
  var head = document.querySelector('head');
23
23
 
24
24
  script.onload = function() {
25
- Clipboard = window.Clipboard;
25
+ ClipboardJS = window.ClipboardJS;
26
26
 
27
- if (Clipboard) {
27
+ if (ClipboardJS) {
28
28
  while (callbacks.length) {
29
29
  callbacks.pop()();
30
30
  }
31
31
  }
32
32
  };
33
33
 
34
- script.src = 'https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.8/clipboard.min.js';
34
+ script.src = 'https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js';
35
35
  head.appendChild(script);
36
36
  }
37
37
 
38
38
  Prism.plugins.toolbar.registerButton('copy-to-clipboard', function (env) {
39
- var linkCopy = document.createElement('a');
39
+ var linkCopy = document.createElement('button');
40
40
  linkCopy.textContent = 'Copy';
41
41
 
42
- if (!Clipboard) {
42
+ if (!ClipboardJS) {
43
43
  callbacks.push(registerClipboard);
44
44
  } else {
45
45
  registerClipboard();
@@ -48,7 +48,7 @@
48
48
  return linkCopy;
49
49
 
50
50
  function registerClipboard() {
51
- var clip = new Clipboard(linkCopy, {
51
+ var clip = new ClipboardJS(linkCopy, {
52
52
  'text': function () {
53
53
  return env.code;
54
54
  }
@@ -1,29 +1,95 @@
1
- (function(){
2
-
3
- if (
4
- (typeof self === 'undefined' || !self.Prism) &&
5
- (typeof global === 'undefined' || !global.Prism)
6
- ) {
7
- return;
8
- }
9
-
10
- var options = {};
11
- Prism.plugins.customClass = {
12
- map: function map(cm) {
13
- options.classMap = cm;
14
- },
15
- prefix: function prefix(string) {
16
- options.prefixString = string;
17
- }
18
- }
1
+ (function () {
19
2
 
20
- Prism.hooks.add('wrap', function (env) {
21
- if (!options.classMap && !options.prefixString) {
3
+ if (
4
+ (typeof self === 'undefined' || !self.Prism) &&
5
+ (typeof global === 'undefined' || !global.Prism)
6
+ ) {
22
7
  return;
23
8
  }
24
- env.classes = env.classes.map(function(c) {
25
- return (options.prefixString || '') + (options.classMap[c] || c);
9
+
10
+ /**
11
+ * @callback ClassMapper
12
+ * @param {string} className
13
+ * @param {string} language
14
+ * @returns {string}
15
+ *
16
+ * @callback ClassAdder
17
+ * @param {ClassAdderEnvironment} env
18
+ * @returns {undefined | string | string[]}
19
+ *
20
+ * @typedef ClassAdderEnvironment
21
+ * @property {string} language
22
+ * @property {string} type
23
+ * @property {string} content
24
+ */
25
+
26
+ // options
27
+
28
+ /** @type {ClassAdder | undefined} */
29
+ var adder;
30
+ /** @type {ClassMapper | undefined} */
31
+ var mapper;
32
+ /** @type {string} */
33
+ var prefixString = '';
34
+
35
+
36
+ Prism.plugins.customClass = {
37
+ /**
38
+ * Sets the function which can be used to add custom aliases to any token.
39
+ *
40
+ * @param {ClassAdder} classAdder
41
+ */
42
+ add: function (classAdder) {
43
+ adder = classAdder;
44
+ },
45
+ /**
46
+ * Maps all class names using the given object or map function.
47
+ *
48
+ * This does not affect the prefix.
49
+ *
50
+ * @param {Object<string, string> | ClassMapper} classMapper
51
+ */
52
+ map: function map(classMapper) {
53
+ if (typeof classMapper === 'function') {
54
+ mapper = classMapper;
55
+ } else {
56
+ mapper = function (className) {
57
+ return classMapper[className] || className;
58
+ };
59
+ }
60
+ },
61
+ /**
62
+ * Adds the given prefix to all class names.
63
+ *
64
+ * @param {string} string
65
+ */
66
+ prefix: function prefix(string) {
67
+ prefixString = string || '';
68
+ }
69
+ }
70
+
71
+ Prism.hooks.add('wrap', function (env) {
72
+ if (adder) {
73
+ var result = adder({
74
+ content: env.content,
75
+ type: env.type,
76
+ language: env.language
77
+ });
78
+
79
+ if (Array.isArray(result)) {
80
+ env.classes.push.apply(env.classes, result);
81
+ } else if (result) {
82
+ env.classes.push(result);
83
+ }
84
+ }
85
+
86
+ if (!mapper && !prefixString) {
87
+ return;
88
+ }
89
+
90
+ env.classes = env.classes.map(function (c) {
91
+ return prefixString + (mapper ? mapper(c, env.language) : c);
92
+ });
26
93
  });
27
- });
28
94
 
29
95
  })();
@@ -47,7 +47,7 @@
47
47
  }
48
48
 
49
49
  Prism.languages.DFS(grammar, function (key, def, type) {
50
- if (candidates.indexOf(type) > -1 && Prism.util.type(def) !== 'Array') {
50
+ if (candidates.indexOf(type) > -1 && !Array.isArray(def)) {
51
51
  if (!def.pattern) {
52
52
  def = this[key] = {
53
53
  pattern: def
@@ -95,4 +95,4 @@
95
95
 
96
96
  Prism.plugins.dataURIHighlight.processGrammar(env.grammar);
97
97
  });
98
- }());
98
+ }());
@@ -0,0 +1,83 @@
1
+ (function () {
2
+
3
+ if (typeof Prism === 'undefined' || !Prism.languages['diff']) {
4
+ return;
5
+ }
6
+
7
+
8
+ var LANGUAGE_REGEX = /diff-([\w-]+)/i;
9
+ var HTML_TAG = /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/gi;
10
+ //this will match a line plus the line break while ignoring the line breaks HTML tags may contain.
11
+ var HTML_LINE = RegExp(/(?:__|[^\r\n<])*(?:\r\n?|\n|(?:__|[^\r\n<])(?![^\r\n]))/.source.replace(/__/g, HTML_TAG.source), 'gi');
12
+
13
+ var PREFIXES = Prism.languages.diff.PREFIXES;
14
+
15
+
16
+ Prism.hooks.add('before-sanity-check', function (env) {
17
+ var lang = env.language;
18
+ if (LANGUAGE_REGEX.test(lang) && !env.grammar) {
19
+ env.grammar = Prism.languages[lang] = Prism.languages['diff'];
20
+ }
21
+ });
22
+ Prism.hooks.add('before-tokenize', function (env) {
23
+ var lang = env.language;
24
+ if (LANGUAGE_REGEX.test(lang) && !Prism.languages[lang]) {
25
+ Prism.languages[lang] = Prism.languages['diff'];
26
+ }
27
+ });
28
+
29
+ Prism.hooks.add('wrap', function (env) {
30
+ var diffLanguage, diffGrammar;
31
+
32
+ if (env.language !== 'diff') {
33
+ var langMatch = LANGUAGE_REGEX.exec(env.language);
34
+ if (!langMatch) {
35
+ return; // not a language specific diff
36
+ }
37
+
38
+ diffLanguage = langMatch[1];
39
+ diffGrammar = Prism.languages[diffLanguage];
40
+ }
41
+
42
+ // one of the diff tokens without any nested tokens
43
+ if (env.type in PREFIXES) {
44
+ /** @type {string} */
45
+ var content = env.content.replace(HTML_TAG, ''); // remove all HTML tags
46
+
47
+ /** @type {string} */
48
+ var decoded = content.replace(/&lt;/g, '<').replace(/&amp;/g, '&');
49
+
50
+ // remove any one-character prefix
51
+ var code = decoded.replace(/(^|[\r\n])./g, '$1');
52
+
53
+ // highlight, if possible
54
+ var highlighted;
55
+ if (diffGrammar) {
56
+ highlighted = Prism.highlight(code, diffGrammar, diffLanguage);
57
+ } else {
58
+ highlighted = Prism.util.encode(code);
59
+ }
60
+
61
+ // get the HTML source of the prefix token
62
+ var prefixToken = new Prism.Token('prefix', PREFIXES[env.type], [/\w+/.exec(env.type)[0]]);
63
+ var prefix = Prism.Token.stringify(prefixToken, env.language);
64
+
65
+ // add prefix
66
+ var lines = [], m;
67
+ HTML_LINE.lastIndex = 0;
68
+ while (m = HTML_LINE.exec(highlighted)) {
69
+ lines.push(prefix + m[0]);
70
+ }
71
+ if (/(?:^|[\r\n]).$/.test(decoded)) {
72
+ // because both "+a\n+" and "+a\n" will map to "a\n" after the line prefixes are removed
73
+ lines.push(prefix);
74
+ }
75
+ env.content = lines.join('');
76
+
77
+ if (diffGrammar) {
78
+ env.classes.push('language-' + diffLanguage);
79
+ }
80
+ }
81
+ });
82
+
83
+ }());
@@ -0,0 +1,19 @@
1
+ (function () {
2
+ if (typeof self === 'undefined' || !self.Prism || !self.document || !document.querySelector) {
3
+ return;
4
+ }
5
+
6
+ Prism.plugins.toolbar.registerButton('download-file', function (env) {
7
+ var pre = env.element.parentNode;
8
+ if (!pre || !/pre/i.test(pre.nodeName) || !pre.hasAttribute('data-src') || !pre.hasAttribute('data-download-link')) {
9
+ return;
10
+ }
11
+ var src = pre.getAttribute('data-src');
12
+ var a = document.createElement('a');
13
+ a.textContent = pre.getAttribute('data-download-link-label') || 'Download';
14
+ a.setAttribute('download', '');
15
+ a.href = src;
16
+ return a;
17
+ });
18
+
19
+ })();