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
@@ -3,7 +3,11 @@
3
3
  return;
4
4
  }
5
5
 
6
- self.Prism.fileHighlight = function() {
6
+ /**
7
+ * @param {Element} [container=document]
8
+ */
9
+ self.Prism.fileHighlight = function(container) {
10
+ container = container || document;
7
11
 
8
12
  var Extensions = {
9
13
  'js': 'javascript',
@@ -17,61 +21,69 @@
17
21
  'tex': 'latex'
18
22
  };
19
23
 
20
- if(Array.prototype.forEach) { // Check to prevent error in IE8
21
- Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function (pre) {
22
- var src = pre.getAttribute('data-src');
24
+ Array.prototype.slice.call(container.querySelectorAll('pre[data-src]')).forEach(function (pre) {
25
+ // ignore if already loaded
26
+ if (pre.hasAttribute('data-src-loaded')) {
27
+ return;
28
+ }
23
29
 
24
- var language, parent = pre;
25
- var lang = /\blang(?:uage)?-(?!\*)(\w+)\b/i;
26
- while (parent && !lang.test(parent.className)) {
27
- parent = parent.parentNode;
28
- }
30
+ // load current
31
+ var src = pre.getAttribute('data-src');
29
32
 
30
- if (parent) {
31
- language = (pre.className.match(lang) || [, ''])[1];
32
- }
33
+ var language, parent = pre;
34
+ var lang = /\blang(?:uage)?-([\w-]+)\b/i;
35
+ while (parent && !lang.test(parent.className)) {
36
+ parent = parent.parentNode;
37
+ }
33
38
 
34
- if (!language) {
35
- var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
36
- language = Extensions[extension] || extension;
37
- }
39
+ if (parent) {
40
+ language = (pre.className.match(lang) || [, ''])[1];
41
+ }
38
42
 
39
- var code = document.createElement('code');
40
- code.className = 'language-' + language;
43
+ if (!language) {
44
+ var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
45
+ language = Extensions[extension] || extension;
46
+ }
41
47
 
42
- pre.textContent = '';
48
+ var code = document.createElement('code');
49
+ code.className = 'language-' + language;
43
50
 
44
- code.textContent = 'Loading…';
51
+ pre.textContent = '';
45
52
 
46
- pre.appendChild(code);
53
+ code.textContent = 'Loading…';
47
54
 
48
- var xhr = new XMLHttpRequest();
55
+ pre.appendChild(code);
49
56
 
50
- xhr.open('GET', src, true);
57
+ var xhr = new XMLHttpRequest();
51
58
 
52
- xhr.onreadystatechange = function () {
53
- if (xhr.readyState == 4) {
59
+ xhr.open('GET', src, true);
54
60
 
55
- if (xhr.status < 400 && xhr.responseText) {
56
- code.textContent = xhr.responseText;
61
+ xhr.onreadystatechange = function () {
62
+ if (xhr.readyState == 4) {
57
63
 
58
- Prism.highlightElement(code);
59
- }
60
- else if (xhr.status >= 400) {
61
- code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
62
- }
63
- else {
64
- code.textContent = '✖ Error: File does not exist or is empty';
65
- }
66
- }
67
- };
64
+ if (xhr.status < 400 && xhr.responseText) {
65
+ code.textContent = xhr.responseText;
68
66
 
69
- xhr.send(null);
70
- });
71
- }
67
+ Prism.highlightElement(code);
68
+ // mark as loaded
69
+ pre.setAttribute('data-src-loaded', '');
70
+ }
71
+ else if (xhr.status >= 400) {
72
+ code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
73
+ }
74
+ else {
75
+ code.textContent = '✖ Error: File does not exist or is empty';
76
+ }
77
+ }
78
+ };
72
79
 
80
+ xhr.send(null);
81
+ });
73
82
  };
74
83
 
75
- document.addEventListener('DOMContentLoaded', self.Prism.fileHighlight);
84
+ document.addEventListener('DOMContentLoaded', function () {
85
+ // execute inside handler, for dropping Event as argument
86
+ self.Prism.fileHighlight();
87
+ });
76
88
 
77
89
  })();
@@ -0,0 +1,125 @@
1
+ (function () {
2
+
3
+ if (typeof self !== 'undefined' && !self.Prism) {
4
+ return;
5
+ }
6
+
7
+ // https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill
8
+ if (!Element.prototype.matches) {
9
+ Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
10
+ }
11
+
12
+ var script = Prism.util.currentScript();
13
+
14
+
15
+ /**
16
+ * @type {Array<(element: HTMLElement) => boolean>}
17
+ */
18
+ var filters = [];
19
+
20
+ var config = Prism.plugins.filterHighlightAll = {
21
+
22
+ /**
23
+ * Adds a new filter for the elements of `highlightAll` and `highlightAllUnder` such that only elements for
24
+ * which the given function returns `true` will be highlighted.
25
+ *
26
+ * @param {(value: { element: HTMLElement, language: string }) => boolean} condition
27
+ */
28
+ add: function (condition) {
29
+ filters.push(function (element) {
30
+ return condition({
31
+ element: element,
32
+ language: Prism.util.getLanguage(element)
33
+ });
34
+ });
35
+ },
36
+
37
+ /**
38
+ * Adds a new filter for the elements of `highlightAll` and `highlightAllUnder` such that only elements that
39
+ * match the given CSS selection will be highlighted.
40
+ *
41
+ * @param {string} selector
42
+ */
43
+ addSelector: function (selector) {
44
+ filters.push(function (element) {
45
+ return element.matches(selector);
46
+ });
47
+ },
48
+
49
+ reject: {
50
+
51
+ /**
52
+ * Adds a new filter for the elements of `highlightAll` and `highlightAllUnder` such that only elements for
53
+ * which the given function returns `false` will be highlighted.
54
+ *
55
+ * @param {(value: { element: HTMLElement, language: string }) => boolean} condition
56
+ */
57
+ add: function (condition) {
58
+ filters.push(function (element) {
59
+ return !condition({
60
+ element: element,
61
+ language: Prism.util.getLanguage(element)
62
+ });
63
+ });
64
+ },
65
+
66
+ /**
67
+ * Adds a new filter for the elements of `highlightAll` and `highlightAllUnder` such that only elements that do
68
+ * not match the given CSS selection will be highlighted.
69
+ *
70
+ * @param {string} selector
71
+ */
72
+ addSelector: function (selector) {
73
+ filters.push(function (element) {
74
+ return !element.matches(selector);
75
+ });
76
+ },
77
+
78
+ },
79
+
80
+ /**
81
+ * Filters the elements of `highlightAll` and `highlightAllUnder` such that only elements with a known language
82
+ * will be highlighted. All elements with an unset or unknown language will be ignored.
83
+ *
84
+ * __Note:__ This will effectively disable the AutoLoader plugin.
85
+ *
86
+ * @type {boolean}
87
+ */
88
+ filterKnown: !!script && script.hasAttribute('data-filter-known')
89
+ };
90
+
91
+ config.add(function filterKnown(env) {
92
+ return !config.filterKnown || typeof Prism.languages[env.language] === 'object';
93
+ });
94
+
95
+ if (script) {
96
+ var attr;
97
+ if (attr = script.getAttribute('data-filter-selector')) {
98
+ config.addSelector(attr);
99
+ }
100
+ if (attr = script.getAttribute('data-reject-selector')) {
101
+ config.reject.addSelector(attr);
102
+ }
103
+ }
104
+
105
+ /**
106
+ * Applies all filters to the given element and returns true if and only if every filter returned true on the
107
+ * given element.
108
+ *
109
+ * @param {HTMLElement} element
110
+ * @returns {boolean}
111
+ */
112
+ function combinedFilter(element) {
113
+ for (var i = 0, l = filters.length; i < l; i++) {
114
+ if (!filters[i](element)) {
115
+ return false;
116
+ }
117
+ }
118
+ return true;
119
+ }
120
+
121
+ Prism.hooks.add('before-all-elements-highlight', function (env) {
122
+ env.elements = env.elements.filter(combinedFilter);
123
+ });
124
+
125
+ }());
@@ -0,0 +1,88 @@
1
+ (function () {
2
+
3
+ if (typeof self === 'undefined' || typeof Prism === 'undefined' || typeof document === 'undefined') {
4
+ return;
5
+ }
6
+
7
+ // Copied from the markup language definition
8
+ var HTML_TAG = /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/g;
9
+
10
+ // the regex explained: In first lookahead we check whether the string is valid and then we use the
11
+ // capturing groups to split the string into its components.
12
+ var HEX_COLOR = /^#?(?=(?:[\da-f]{1,2}){3,4}$)([\da-f][\da-f]?)([\da-f][\da-f]?)([\da-f][\da-f]?)([\da-f][\da-f]?)?$/i;
13
+
14
+ /**
15
+ * Parses the given hexadecimal representation and returns the parsed RGBA color.
16
+ *
17
+ * If the format of the given string is invalid, `undefined` will be returned.
18
+ * Valid formats are: `RGB`, `RGBA`, `RRGGBB`, and `RRGGBBAA`.
19
+ *
20
+ * @param {string} hex
21
+ * @returns {string | undefined}
22
+ */
23
+ function parseHexColor(hex) {
24
+ var match = HEX_COLOR.exec(hex);
25
+ if (!match) {
26
+ return undefined;
27
+ }
28
+
29
+ // This is used to scale normalize 4bit and 8bit values
30
+ var scale = hex.length <= 4 ? 1 / 15 : 1 / 255;
31
+
32
+ var rgb = match.slice(1, 4).map(function (c) {
33
+ return String(Math.round(parseInt(c, 16) * scale * 255));
34
+ }).join(',');
35
+
36
+ var alpha = match[4] === undefined ? '1' : (parseInt(match[4], 16) * scale).toFixed(3);
37
+
38
+ return 'rgba(' + rgb + ',' + alpha + ')';
39
+ }
40
+
41
+ /**
42
+ * Validates the given Color using the current browser's internal implementation.
43
+ *
44
+ * @param {string} color
45
+ * @returns {string | undefined}
46
+ */
47
+ function validateColor(color) {
48
+ var s = new Option().style;
49
+ s.color = color;
50
+ return s.color ? color : undefined;
51
+ }
52
+
53
+ /**
54
+ * An array of function which parse a given string representation of a color.
55
+ *
56
+ * These parser serve as validators and as a layer of compatibility to support color formats which the browser
57
+ * might not support natively.
58
+ *
59
+ * @type {((value: string) => (string|undefined))[]}
60
+ */
61
+ var parsers = [
62
+ parseHexColor,
63
+ validateColor
64
+ ];
65
+
66
+
67
+ Prism.hooks.add('wrap', function (env) {
68
+ if (env.type === 'color' || env.type === 'hexcode') {
69
+ var content = env.content;
70
+
71
+ // remove all HTML tags inside
72
+ var rawText = content.split(HTML_TAG).join('');
73
+
74
+ var color;
75
+ for (var i = 0, l = parsers.length; i < l && !color; i++) {
76
+ color = parsers[i](rawText);
77
+ }
78
+
79
+ if (!color) {
80
+ return;
81
+ }
82
+
83
+ var previewElement = '<span class="inline-color" style="background-color:' + color + ';"></span>';
84
+ env.content = previewElement + content;
85
+ }
86
+ });
87
+
88
+ }());
@@ -1,136 +1,185 @@
1
- (function() {
2
- if ( !self.Prism || !self.document || !document.querySelectorAll || ![].filter) return;
1
+ (function () {
2
+ if (!self.Prism || !self.document || !document.querySelectorAll || ![].filter) return;
3
3
 
4
+ /**
5
+ * @callback Adapter
6
+ * @param {any} response
7
+ * @param {HTMLPreElement} [pre]
8
+ * @returns {string}
9
+ */
10
+
11
+ /**
12
+ * The list of adapter which will be used if `data-adapter` is not specified.
13
+ *
14
+ * @type {Array.<{adapter: Adapter, name: string}>}
15
+ */
4
16
  var adapters = [];
5
- function registerAdapter(adapter) {
6
- if (typeof adapter === "function" && !getAdapter(adapter)) {
7
- adapters.push(adapter);
17
+
18
+ /**
19
+ * Adds a new function to the list of adapters.
20
+ *
21
+ * If the given adapter is already registered or not a function or there is an adapter with the given name already,
22
+ * nothing will happen.
23
+ *
24
+ * @param {Adapter} adapter The adapter to be registered.
25
+ * @param {string} [name] The name of the adapter. Defaults to the function name of `adapter`.
26
+ */
27
+ function registerAdapter(adapter, name) {
28
+ name = name || adapter.name;
29
+ if (typeof adapter === "function" && !getAdapter(adapter) && !getAdapter(name)) {
30
+ adapters.push({ adapter: adapter, name: name });
8
31
  }
9
32
  }
33
+ /**
34
+ * Returns the given adapter itself, if registered, or a registered adapter with the given name.
35
+ *
36
+ * If no fitting adapter is registered, `null` will be returned.
37
+ *
38
+ * @param {string|Function} adapter The adapter itself or the name of an adapter.
39
+ * @returns {Adapter} A registered adapter or `null`.
40
+ */
10
41
  function getAdapter(adapter) {
11
42
  if (typeof adapter === "function") {
12
- return adapters.filter(function(fn) { return fn.valueOf() === adapter.valueOf()})[0];
43
+ for (var i = 0, item; item = adapters[i++];) {
44
+ if (item.adapter.valueOf() === adapter.valueOf()) {
45
+ return item.adapter;
46
+ }
47
+ }
13
48
  }
14
- else if (typeof adapter === "string" && adapter.length > 0) {
15
- return adapters.filter(function(fn) { return fn.name === adapter})[0];
49
+ else if (typeof adapter === "string") {
50
+ for (var i = 0, item; item = adapters[i++];) {
51
+ if (item.name === adapter) {
52
+ return item.adapter;
53
+ }
54
+ }
16
55
  }
17
56
  return null;
18
57
  }
58
+ /**
59
+ * Remove the given adapter or the first registered adapter with the given name from the list of
60
+ * registered adapters.
61
+ *
62
+ * @param {string|Function} adapter The adapter itself or the name of an adapter.
63
+ */
19
64
  function removeAdapter(adapter) {
20
- if (typeof adapter === "string")
65
+ if (typeof adapter === "string") {
21
66
  adapter = getAdapter(adapter);
67
+ }
22
68
  if (typeof adapter === "function") {
23
- var index = adapters.indexOf(adapter);
24
- if (index >=0) {
25
- adapters.splice(index,1);
69
+ var index = adapters.map(function (item) { return item.adapter; }).indexOf(adapter);
70
+ if (index >= 0) {
71
+ adapters.splice(index, 1);
26
72
  }
27
73
  }
28
74
  }
29
75
 
30
- Prism.plugins.jsonphighlight = {
31
- registerAdapter: registerAdapter,
32
- removeAdapter: removeAdapter,
33
- highlight: highlight
34
- };
35
76
  registerAdapter(function github(rsp, el) {
36
- if ( rsp && rsp.meta && rsp.data ) {
37
- if ( rsp.meta.status && rsp.meta.status >= 400 ) {
38
- return "Error: " + ( rsp.data.message || rsp.meta.status );
77
+ if (rsp && rsp.meta && rsp.data) {
78
+ if (rsp.meta.status && rsp.meta.status >= 400) {
79
+ return "Error: " + (rsp.data.message || rsp.meta.status);
39
80
  }
40
- else if ( typeof(rsp.data.content) === "string" ) {
41
- return typeof(atob) === "function"
81
+ else if (typeof (rsp.data.content) === "string") {
82
+ return typeof (atob) === "function"
42
83
  ? atob(rsp.data.content.replace(/\s/g, ""))
43
84
  : "Your browser cannot decode base64";
44
85
  }
45
86
  }
46
87
  return null;
47
- });
88
+ }, 'github');
48
89
  registerAdapter(function gist(rsp, el) {
49
- if ( rsp && rsp.meta && rsp.data && rsp.data.files ) {
50
- if ( rsp.meta.status && rsp.meta.status >= 400 ) {
51
- return "Error: " + ( rsp.data.message || rsp.meta.status );
90
+ if (rsp && rsp.meta && rsp.data && rsp.data.files) {
91
+ if (rsp.meta.status && rsp.meta.status >= 400) {
92
+ return "Error: " + (rsp.data.message || rsp.meta.status);
52
93
  }
53
- else {
54
- var filename = el.getAttribute("data-filename");
55
- if (filename == null) {
56
- // Maybe in the future we can somehow render all files
57
- // But the standard <script> include for gists does that nicely already,
58
- // so that might be getting beyond the scope of this plugin
59
- for (var key in rsp.data.files) {
60
- if (rsp.data.files.hasOwnProperty(key)) {
61
- filename = key;
62
- break;
63
- }
94
+
95
+ var files = rsp.data.files;
96
+ var filename = el.getAttribute("data-filename");
97
+ if (filename == null) {
98
+ // Maybe in the future we can somehow render all files
99
+ // But the standard <script> include for gists does that nicely already,
100
+ // so that might be getting beyond the scope of this plugin
101
+ for (var key in files) {
102
+ if (files.hasOwnProperty(key)) {
103
+ filename = key;
104
+ break;
64
105
  }
65
106
  }
66
- if (rsp.data.files[filename] !== undefined) {
67
- return rsp.data.files[filename].content;
68
- }
69
- else {
70
- return "Error: unknown or missing gist file " + filename;
71
- }
72
107
  }
108
+
109
+ if (files[filename] !== undefined) {
110
+ return files[filename].content;
111
+ }
112
+ return "Error: unknown or missing gist file " + filename;
73
113
  }
74
114
  return null;
75
- });
115
+ }, 'gist');
76
116
  registerAdapter(function bitbucket(rsp, el) {
77
- return rsp && rsp.node && typeof(rsp.data) === "string"
78
- ? rsp.data
79
- : null;
80
- });
117
+ if (rsp && rsp.node && typeof (rsp.data) === "string") {
118
+ return rsp.data;
119
+ }
120
+ return null;
121
+ }, 'bitbucket');
81
122
 
82
123
  var jsonpcb = 0,
83
- loadstr = "Loading";
124
+ loadMsg = "Loading\u2026";
84
125
 
126
+ /**
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
+ */
85
131
  function highlight() {
86
- Array.prototype.slice.call(document.querySelectorAll("pre[data-jsonp]")).forEach(function(pre) {
132
+ Array.prototype.slice.call(document.querySelectorAll("pre[data-jsonp]")).forEach(function (pre) {
87
133
  pre.textContent = "";
88
134
 
89
135
  var code = document.createElement("code");
90
- code.textContent = loadstr;
136
+ code.textContent = loadMsg;
91
137
  pre.appendChild(code);
92
138
 
93
- var adapterfn = pre.getAttribute("data-adapter");
139
+ var adapterName = pre.getAttribute("data-adapter");
94
140
  var adapter = null;
95
- if ( adapterfn ) {
96
- if ( typeof(window[adapterfn]) === "function" ) {
97
- adapter = window[adapterfn];
141
+ if (adapterName) {
142
+ if (typeof window[adapterName] === "function") {
143
+ adapter = window[adapterName];
98
144
  }
99
145
  else {
100
- code.textContent = "JSONP adapter function '" + adapterfn + "' doesn't exist";
146
+ code.textContent = "JSONP adapter function '" + adapterName + "' doesn't exist";
101
147
  return;
102
148
  }
103
149
  }
104
150
 
105
- var cb = "prismjsonp" + ( jsonpcb++ );
106
-
151
+ var cb = "prismjsonp" + jsonpcb++;
152
+
107
153
  var uri = document.createElement("a");
108
154
  var src = uri.href = pre.getAttribute("data-jsonp");
109
- uri.href += ( uri.search ? "&" : "?" ) + ( pre.getAttribute("data-callback") || "callback" ) + "=" + cb;
155
+ uri.href += (uri.search ? "&" : "?") + (pre.getAttribute("data-callback") || "callback") + "=" + cb;
110
156
 
111
- var timeout = setTimeout(function() {
157
+ var timeout = setTimeout(function () {
112
158
  // we could clean up window[cb], but if the request finally succeeds, keeping it around is a good thing
113
- if ( code.textContent === loadstr )
159
+ if (code.textContent === loadMsg) {
114
160
  code.textContent = "Timeout loading '" + src + "'";
161
+ }
115
162
  }, 5000);
116
-
163
+
117
164
  var script = document.createElement("script");
118
165
  script.src = uri.href;
119
166
 
120
- window[cb] = function(rsp) {
167
+ window[cb] = function (rsp) {
121
168
  document.head.removeChild(script);
122
169
  clearTimeout(timeout);
123
170
  delete window[cb];
124
171
 
125
172
  var data = "";
126
-
127
- if ( adapter ) {
173
+
174
+ if (adapter) {
128
175
  data = adapter(rsp, pre);
129
176
  }
130
177
  else {
131
- for ( var p in adapters ) {
132
- data = adapters[p](rsp, pre);
133
- if ( data !== null ) break;
178
+ for (var p in adapters) {
179
+ data = adapters[p].adapter(rsp, pre);
180
+ if (data !== null) {
181
+ break;
182
+ }
134
183
  }
135
184
  }
136
185
 
@@ -147,5 +196,11 @@
147
196
  });
148
197
  }
149
198
 
199
+ Prism.plugins.jsonphighlight = {
200
+ registerAdapter: registerAdapter,
201
+ removeAdapter: removeAdapter,
202
+ highlight: highlight
203
+ };
204
+
150
205
  highlight();
151
- })();
206
+ })();