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
@@ -0,0 +1,114 @@
1
+ (function (Prism) {
2
+ Prism.languages.xeora = Prism.languages.extend('markup', {
3
+ 'constant': {
4
+ pattern: /\$(?:DomainContents|PageRenderDuration)\$/,
5
+ inside: {
6
+ 'punctuation': {
7
+ pattern: /\$/
8
+ }
9
+ }
10
+ },
11
+ 'variable': {
12
+ pattern: /\$@?(?:#+|[-+*~=^])?[\w.]+\$/,
13
+ inside: {
14
+ 'punctuation': {
15
+ pattern: /[$.]/
16
+ },
17
+ 'operator': {
18
+ pattern: /#+|[-+*~=^@]/
19
+ }
20
+ }
21
+ },
22
+ 'function-inline': {
23
+ pattern: /\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,
24
+ inside: {
25
+ 'variable': {
26
+ pattern: /(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,
27
+ inside: {
28
+ 'punctuation': {
29
+ pattern: /[,.|]/
30
+ },
31
+ 'operator': {
32
+ pattern: /#+|[-+*~=^@]/
33
+ }
34
+ }
35
+ },
36
+ 'punctuation': {
37
+ pattern: /\$\w:|[$:?.,|]/
38
+ }
39
+ },
40
+ alias: 'function'
41
+ },
42
+ 'function-block': {
43
+ pattern: /\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,
44
+ inside: {
45
+ 'punctuation': {
46
+ pattern: /[$:{}?.,|]/
47
+ }
48
+ },
49
+ alias: 'function'
50
+ },
51
+ 'directive-inline': {
52
+ pattern: /\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,
53
+ inside: {
54
+ 'punctuation': {
55
+ pattern: /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,
56
+ inside: {
57
+ 'tag': {
58
+ pattern: /#\d/
59
+ }
60
+ }
61
+ }
62
+ },
63
+ alias: 'function'
64
+ },
65
+ 'directive-block-open': {
66
+ pattern: /\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,
67
+ inside: {
68
+ 'punctuation': {
69
+ pattern: /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,
70
+ inside: {
71
+ 'tag': {
72
+ pattern: /#\d/
73
+ }
74
+ }
75
+ },
76
+ 'attribute': {
77
+ pattern: /![A-Z]+$/,
78
+ inside: {
79
+ 'punctuation': {
80
+ pattern: /!/
81
+ }
82
+ },
83
+ alias: 'keyword'
84
+ }
85
+ },
86
+ alias: 'function'
87
+ },
88
+ 'directive-block-separator': {
89
+ pattern: /\}:[-\w.]+:\{/,
90
+ inside: {
91
+ 'punctuation': {
92
+ pattern: /[:{}]/
93
+ }
94
+ },
95
+ alias: 'function'
96
+ },
97
+ 'directive-block-close': {
98
+ pattern: /\}:[-\w.]+\$/,
99
+ inside: {
100
+ 'punctuation': {
101
+ pattern: /[:{}$]/
102
+ }
103
+ },
104
+ alias: 'function'
105
+ }
106
+ });
107
+
108
+ Prism.languages.insertBefore('inside', 'punctuation', {
109
+ 'variable': Prism.languages.xeora['function-inline'].inside['variable']
110
+ }, Prism.languages.xeora['function-block']);
111
+
112
+ Prism.languages.xeoracube = Prism.languages.xeora;
113
+
114
+ }(Prism));
@@ -0,0 +1,40 @@
1
+ (function (Prism) {
2
+
3
+ /**
4
+ * If the given language is present, it will insert the given doc comment grammar token into it.
5
+ *
6
+ * @param {string} lang
7
+ * @param {any} docComment
8
+ */
9
+ function insertDocComment(lang, docComment) {
10
+ if (Prism.languages[lang]) {
11
+ Prism.languages.insertBefore(lang, 'comment', {
12
+ 'doc-comment': docComment
13
+ });
14
+ }
15
+ }
16
+
17
+ var tag = Prism.languages.markup.tag;
18
+
19
+ var slashDocComment = {
20
+ pattern: /\/\/\/.*/,
21
+ greedy: true,
22
+ alias: 'comment',
23
+ inside: {
24
+ 'tag': tag
25
+ }
26
+ };
27
+ var tickDocComment = {
28
+ pattern: /'''.*/,
29
+ greedy: true,
30
+ alias: 'comment',
31
+ inside: {
32
+ 'tag': tag
33
+ }
34
+ };
35
+
36
+ insertDocComment('csharp', slashDocComment);
37
+ insertDocComment('fsharp', slashDocComment);
38
+ insertDocComment('vbnet', tickDocComment);
39
+
40
+ }(Prism));
@@ -0,0 +1,21 @@
1
+ Prism.languages.xojo = {
2
+ 'comment': {
3
+ pattern: /(?:'|\/\/|Rem\b).+/i,
4
+ greedy: true
5
+ },
6
+ 'string': {
7
+ pattern: /"(?:""|[^"])*"/,
8
+ greedy: true
9
+ },
10
+ 'number': [
11
+ /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,
12
+ /&[bchou][a-z\d]+/i
13
+ ],
14
+ 'directive': {
15
+ pattern: /#(?:Else|ElseIf|Endif|If|Pragma)\b/i,
16
+ alias: 'property'
17
+ },
18
+ 'keyword': /\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,
19
+ 'operator': /<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,
20
+ 'punctuation': /[.,;:()]/
21
+ };
@@ -0,0 +1,162 @@
1
+ (function (Prism) {
2
+
3
+ Prism.languages.xquery = Prism.languages.extend('markup', {
4
+ 'xquery-comment': {
5
+ pattern: /\(:[\s\S]*?:\)/,
6
+ greedy: true,
7
+ alias: 'comment'
8
+ },
9
+ 'string': {
10
+ pattern: /(["'])(?:\1\1|(?!\1)[\s\S])*\1/,
11
+ greedy: true
12
+ },
13
+ 'extension': {
14
+ pattern: /\(#.+?#\)/,
15
+ alias: 'symbol'
16
+ },
17
+ 'variable': /\$[-\w:]+/,
18
+ 'axis': {
19
+ pattern: /(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,
20
+ lookbehind: true,
21
+ alias: 'operator'
22
+ },
23
+ 'keyword-operator': {
24
+ pattern: /(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,
25
+ lookbehind: true,
26
+ alias: 'operator'
27
+ },
28
+ 'keyword': {
29
+ pattern: /(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,
30
+ lookbehind: true
31
+ },
32
+ 'function': /[\w-]+(?::[\w-]+)*(?=\s*\()/,
33
+ 'xquery-element': {
34
+ pattern: /(element\s+)[\w-]+(?::[\w-]+)*/,
35
+ lookbehind: true,
36
+ alias: 'tag'
37
+ },
38
+ 'xquery-attribute': {
39
+ pattern: /(attribute\s+)[\w-]+(?::[\w-]+)*/,
40
+ lookbehind: true,
41
+ alias: 'attr-name'
42
+ },
43
+ 'builtin': {
44
+ pattern: /(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,
45
+ lookbehind: true
46
+ },
47
+ 'number': /\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,
48
+ 'operator': [
49
+ /[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,
50
+ {
51
+ pattern: /(\s)-(?=\s)/,
52
+ lookbehind: true
53
+ }
54
+ ],
55
+ 'punctuation': /[[\](){},;:/]/
56
+ });
57
+
58
+ Prism.languages.xquery.tag.pattern = /<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/;
59
+ Prism.languages.xquery['tag'].inside['attr-value'].pattern = /=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/;
60
+ Prism.languages.xquery['tag'].inside['attr-value'].inside['punctuation'] = /^="|"$/;
61
+ Prism.languages.xquery['tag'].inside['attr-value'].inside['expression'] = {
62
+ // Allow for two levels of nesting
63
+ pattern: /\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,
64
+ inside: Prism.languages.xquery,
65
+ alias: 'language-xquery'
66
+ };
67
+
68
+ // The following will handle plain text inside tags
69
+ var stringifyToken = function (token) {
70
+ if (typeof token === 'string') {
71
+ return token;
72
+ }
73
+ if (typeof token.content === 'string') {
74
+ return token.content;
75
+ }
76
+ return token.content.map(stringifyToken).join('');
77
+ };
78
+
79
+ var walkTokens = function (tokens) {
80
+ var openedTags = [];
81
+ for (var i = 0; i < tokens.length; i++) {
82
+ var token = tokens[i];
83
+ var notTagNorBrace = false;
84
+
85
+ if (typeof token !== 'string') {
86
+ if (token.type === 'tag' && token.content[0] && token.content[0].type === 'tag') {
87
+ // We found a tag, now find its kind
88
+
89
+ if (token.content[0].content[0].content === '</') {
90
+ // Closing tag
91
+ if (openedTags.length > 0 && openedTags[openedTags.length - 1].tagName === stringifyToken(token.content[0].content[1])) {
92
+ // Pop matching opening tag
93
+ openedTags.pop();
94
+ }
95
+ } else {
96
+ if (token.content[token.content.length - 1].content === '/>') {
97
+ // Autoclosed tag, ignore
98
+ } else {
99
+ // Opening tag
100
+ openedTags.push({
101
+ tagName: stringifyToken(token.content[0].content[1]),
102
+ openedBraces: 0
103
+ });
104
+ }
105
+ }
106
+ } else if (
107
+ openedTags.length > 0 && token.type === 'punctuation' && token.content === '{' &&
108
+ // Ignore `{{`
109
+ (!tokens[i + 1] || tokens[i + 1].type !== 'punctuation' || tokens[i + 1].content !== '{') &&
110
+ (!tokens[i - 1] || tokens[i - 1].type !== 'plain-text' || tokens[i - 1].content !== '{')
111
+ ) {
112
+ // Here we might have entered an XQuery expression inside a tag
113
+ openedTags[openedTags.length - 1].openedBraces++;
114
+
115
+ } else if (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces > 0 && token.type === 'punctuation' && token.content === '}') {
116
+
117
+ // Here we might have left an XQuery expression inside a tag
118
+ openedTags[openedTags.length - 1].openedBraces--;
119
+
120
+ } else if (token.type !== 'comment') {
121
+ notTagNorBrace = true;
122
+ }
123
+ }
124
+ if (notTagNorBrace || typeof token === 'string') {
125
+ if (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces === 0) {
126
+ // Here we are inside a tag, and not inside an XQuery expression.
127
+ // That's plain text: drop any tokens matched.
128
+ var plainText = stringifyToken(token);
129
+
130
+ // And merge text with adjacent text
131
+ if (i < tokens.length - 1 && (typeof tokens[i + 1] === 'string' || tokens[i + 1].type === 'plain-text')) {
132
+ plainText += stringifyToken(tokens[i + 1]);
133
+ tokens.splice(i + 1, 1);
134
+ }
135
+ if (i > 0 && (typeof tokens[i - 1] === 'string' || tokens[i - 1].type === 'plain-text')) {
136
+ plainText = stringifyToken(tokens[i - 1]) + plainText;
137
+ tokens.splice(i - 1, 1);
138
+ i--;
139
+ }
140
+
141
+ if (/^\s+$/.test(plainText)) {
142
+ tokens[i] = plainText;
143
+ } else {
144
+ tokens[i] = new Prism.Token('plain-text', plainText, null, plainText);
145
+ }
146
+ }
147
+ }
148
+
149
+ if (token.content && typeof token.content !== 'string') {
150
+ walkTokens(token.content);
151
+ }
152
+ }
153
+ };
154
+
155
+ Prism.hooks.add('after-tokenize', function (env) {
156
+ if (env.language !== 'xquery') {
157
+ return;
158
+ }
159
+ walkTokens(env.tokens);
160
+ });
161
+
162
+ }(Prism));
@@ -0,0 +1,83 @@
1
+ (function (Prism) {
2
+
3
+ // https://yaml.org/spec/1.2/spec.html#c-ns-anchor-property
4
+ // https://yaml.org/spec/1.2/spec.html#c-ns-alias-node
5
+ var anchorOrAlias = /[*&][^\s[\]{},]+/;
6
+ // https://yaml.org/spec/1.2/spec.html#c-ns-tag-property
7
+ var tag = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/;
8
+ // https://yaml.org/spec/1.2/spec.html#c-ns-properties(n,c)
9
+ var properties = '(?:' + tag.source + '(?:[ \t]+' + anchorOrAlias.source + ')?|'
10
+ + anchorOrAlias.source + '(?:[ \t]+' + tag.source + ')?)';
11
+ // https://yaml.org/spec/1.2/spec.html#ns-plain(n,c)
12
+ // This is a simplified version that doesn't support "#" and multiline keys
13
+ // All these long scarry character classes are simplified versions of YAML's characters
14
+ var plainKey = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source
15
+ .replace(/<PLAIN>/g, function () { return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source; });
16
+ var string = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
17
+
18
+ /**
19
+ *
20
+ * @param {string} value
21
+ * @param {string} [flags]
22
+ * @returns {RegExp}
23
+ */
24
+ function createValuePattern(value, flags) {
25
+ flags = (flags || '').replace(/m/g, '') + 'm'; // add m flag
26
+ var pattern = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source
27
+ .replace(/<<prop>>/g, function () { return properties; }).replace(/<<value>>/g, function () { return value; });
28
+ return RegExp(pattern, flags);
29
+ }
30
+
31
+ Prism.languages.yaml = {
32
+ 'scalar': {
33
+ pattern: RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source
34
+ .replace(/<<prop>>/g, function () { return properties; })),
35
+ lookbehind: true,
36
+ alias: 'string'
37
+ },
38
+ 'comment': /#.*/,
39
+ 'key': {
40
+ pattern: RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source
41
+ .replace(/<<prop>>/g, function () { return properties; })
42
+ .replace(/<<key>>/g, function () { return '(?:' + plainKey + '|' + string + ')'; })),
43
+ lookbehind: true,
44
+ greedy: true,
45
+ alias: 'atrule'
46
+ },
47
+ 'directive': {
48
+ pattern: /(^[ \t]*)%.+/m,
49
+ lookbehind: true,
50
+ alias: 'important'
51
+ },
52
+ 'datetime': {
53
+ pattern: createValuePattern(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),
54
+ lookbehind: true,
55
+ alias: 'number'
56
+ },
57
+ 'boolean': {
58
+ pattern: createValuePattern(/false|true/.source, 'i'),
59
+ lookbehind: true,
60
+ alias: 'important'
61
+ },
62
+ 'null': {
63
+ pattern: createValuePattern(/null|~/.source, 'i'),
64
+ lookbehind: true,
65
+ alias: 'important'
66
+ },
67
+ 'string': {
68
+ pattern: createValuePattern(string),
69
+ lookbehind: true,
70
+ greedy: true
71
+ },
72
+ 'number': {
73
+ pattern: createValuePattern(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source, 'i'),
74
+ lookbehind: true
75
+ },
76
+ 'tag': tag,
77
+ 'important': anchorOrAlias,
78
+ 'punctuation': /---|[:[\]{}\-,|>?]|\.\.\./
79
+ };
80
+
81
+ Prism.languages.yml = Prism.languages.yaml;
82
+
83
+ }(Prism));
@@ -0,0 +1,20 @@
1
+ Prism.languages.yang = {
2
+ // https://tools.ietf.org/html/rfc6020#page-34
3
+ // http://www.yang-central.org/twiki/bin/view/Main/YangExamples
4
+ 'comment': /\/\*[\s\S]*?\*\/|\/\/.*/,
5
+ 'string': {
6
+ pattern: /"(?:[^\\"]|\\.)*"|'[^']*'/,
7
+ greedy: true
8
+ },
9
+ 'keyword': {
10
+ pattern: /(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,
11
+ lookbehind: true
12
+ },
13
+ 'namespace': {
14
+ pattern: /(\s)[a-z_][\w.-]*(?=:)/i,
15
+ lookbehind: true
16
+ },
17
+ 'boolean': /\b(?:false|true)\b/,
18
+ 'operator': /\+/,
19
+ 'punctuation': /[{};:]/
20
+ };
@@ -0,0 +1,101 @@
1
+ (function (Prism) {
2
+
3
+ function literal(str) {
4
+ return function () { return str; };
5
+ }
6
+
7
+ var keyword = /\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/;
8
+
9
+ var IDENTIFIER = '\\b(?!' + keyword.source + ')(?!\\d)\\w+\\b';
10
+ var ALIGN = /align\s*\((?:[^()]|\([^()]*\))*\)/.source;
11
+ var PREFIX_TYPE_OP = /(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*<ALIGN>|\s*const\b|\s*volatile\b|\s*allowzero\b)*)/.source.replace(/<ALIGN>/g, literal(ALIGN));
12
+ var SUFFIX_EXPR = /(?:\bpromise\b|(?:\berror\.)?<ID>(?:\.<ID>)*(?!\s+<ID>))/.source.replace(/<ID>/g, literal(IDENTIFIER));
13
+ var TYPE = '(?!\\s)(?:!?\\s*(?:' + PREFIX_TYPE_OP + '\\s*)*' + SUFFIX_EXPR + ')+';
14
+
15
+ /*
16
+ * A simplified grammar for Zig compile time type literals:
17
+ *
18
+ * TypeExpr = ( "!"? PREFIX_TYPE_OP* SUFFIX_EXPR )+
19
+ *
20
+ * SUFFIX_EXPR = ( \b "promise" \b | ( \b "error" "." )? IDENTIFIER ( "." IDENTIFIER )* (?! \s+ IDENTIFIER ) )
21
+ *
22
+ * PREFIX_TYPE_OP = "?"
23
+ * | \b "promise" "->"
24
+ * | ( "[" [^\[\]]* "]" | "*" | "**" ) ( ALIGN | "const" \b | "volatile" \b | "allowzero" \b )*
25
+ *
26
+ * ALIGN = "align" "(" ( [^()] | "(" [^()]* ")" )* ")"
27
+ *
28
+ * IDENTIFIER = \b (?! KEYWORD ) [a-zA-Z_] \w* \b
29
+ *
30
+ */
31
+
32
+ Prism.languages.zig = {
33
+ 'comment': [
34
+ {
35
+ pattern: /\/\/[/!].*/,
36
+ alias: 'doc-comment'
37
+ },
38
+ /\/{2}.*/
39
+ ],
40
+ 'string': [
41
+ {
42
+ // "string" and c"string"
43
+ pattern: /(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,
44
+ lookbehind: true,
45
+ greedy: true
46
+ },
47
+ {
48
+ // multiline strings and c-strings
49
+ pattern: /([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,
50
+ lookbehind: true,
51
+ greedy: true
52
+ }
53
+ ],
54
+ 'char': {
55
+ // characters 'a', '\n', '\xFF', '\u{10FFFF}'
56
+ pattern: /(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,
57
+ lookbehind: true,
58
+ greedy: true
59
+ },
60
+ 'builtin': /\B@(?!\d)\w+(?=\s*\()/,
61
+ 'label': {
62
+ pattern: /(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,
63
+ lookbehind: true
64
+ },
65
+ 'class-name': [
66
+ // const Foo = struct {};
67
+ /\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,
68
+ {
69
+ // const x: i32 = 9;
70
+ // var x: Bar;
71
+ // fn foo(x: bool, y: f32) void {}
72
+ pattern: RegExp(/(:\s*)<TYPE>(?=\s*(?:<ALIGN>\s*)?[=;,)])|<TYPE>(?=\s*(?:<ALIGN>\s*)?\{)/.source.replace(/<TYPE>/g, literal(TYPE)).replace(/<ALIGN>/g, literal(ALIGN))),
73
+ lookbehind: true,
74
+ inside: null // see below
75
+ },
76
+ {
77
+ // extern fn foo(x: f64) f64; (optional alignment)
78
+ pattern: RegExp(/(\)\s*)<TYPE>(?=\s*(?:<ALIGN>\s*)?;)/.source.replace(/<TYPE>/g, literal(TYPE)).replace(/<ALIGN>/g, literal(ALIGN))),
79
+ lookbehind: true,
80
+ inside: null // see below
81
+ }
82
+ ],
83
+ 'builtin-type': {
84
+ pattern: /\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,
85
+ alias: 'keyword'
86
+ },
87
+ 'keyword': keyword,
88
+ 'function': /\b(?!\d)\w+(?=\s*\()/,
89
+ 'number': /\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,
90
+ 'boolean': /\b(?:false|true)\b/,
91
+ 'operator': /\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,
92
+ 'punctuation': /[.:,;(){}[\]]/
93
+ };
94
+
95
+ Prism.languages.zig['class-name'].forEach(function (obj) {
96
+ if (obj.inside === null) {
97
+ obj.inside = Prism.languages.zig;
98
+ }
99
+ });
100
+
101
+ }(Prism));
@@ -1,76 +1,76 @@
1
- (function(){
1
+ (function () {
2
2
 
3
- if (
4
- typeof self !== 'undefined' && !self.Prism ||
5
- typeof global !== 'undefined' && !global.Prism
6
- ) {
7
- return;
8
- }
3
+ if (typeof Prism === 'undefined') {
4
+ return;
5
+ }
6
+
7
+ var url = /\b([a-z]{3,7}:\/\/|tel:)[\w\-+%~/.:=&!$'()*,;@]+(?:\?[\w\-+%~/.:=?&!$'()*,;@]*)?(?:#[\w\-+%~/.:#=?&!$'()*,;@]*)?/;
8
+ var email = /\b\S+@[\w.]+[a-z]{2}/;
9
+ var linkMd = /\[([^\]]+)\]\(([^)]+)\)/;
9
10
 
10
- var url = /\b([a-z]{3,7}:\/\/|tel:)[\w\-+%~/.:#=?&amp;]+/,
11
- email = /\b\S+@[\w.]+[a-z]{2}/,
12
- linkMd = /\[([^\]]+)]\(([^)]+)\)/,
13
-
14
11
  // Tokens that may contain URLs and emails
15
- candidates = ['comment', 'url', 'attr-value', 'string'];
12
+ var candidates = ['comment', 'url', 'attr-value', 'string'];
16
13
 
17
- Prism.plugins.autolinker = {
18
- processGrammar: function (grammar) {
19
- // Abort if grammar has already been processed
20
- if (!grammar || grammar['url-link']) {
21
- return;
22
- }
23
- Prism.languages.DFS(grammar, function (key, def, type) {
24
- if (candidates.indexOf(type) > -1 && Prism.util.type(def) !== 'Array') {
25
- if (!def.pattern) {
26
- def = this[key] = {
27
- pattern: def
28
- };
29
- }
14
+ Prism.plugins.autolinker = {
15
+ processGrammar: function (grammar) {
16
+ // Abort if grammar has already been processed
17
+ if (!grammar || grammar['url-link']) {
18
+ return;
19
+ }
20
+ Prism.languages.DFS(grammar, function (key, def, type) {
21
+ if (candidates.indexOf(type) > -1 && !Array.isArray(def)) {
22
+ if (!def.pattern) {
23
+ def = this[key] = {
24
+ pattern: def
25
+ };
26
+ }
30
27
 
31
- def.inside = def.inside || {};
28
+ def.inside = def.inside || {};
32
29
 
33
- if (type == 'comment') {
34
- def.inside['md-link'] = linkMd;
35
- }
36
- if (type == 'attr-value') {
37
- Prism.languages.insertBefore('inside', 'punctuation', { 'url-link': url }, def);
38
- }
39
- else {
40
- def.inside['url-link'] = url;
30
+ if (type == 'comment') {
31
+ def.inside['md-link'] = linkMd;
32
+ }
33
+ if (type == 'attr-value') {
34
+ Prism.languages.insertBefore('inside', 'punctuation', { 'url-link': url }, def);
35
+ } else {
36
+ def.inside['url-link'] = url;
37
+ }
38
+
39
+ def.inside['email-link'] = email;
41
40
  }
41
+ });
42
+ grammar['url-link'] = url;
43
+ grammar['email-link'] = email;
44
+ }
45
+ };
46
+
47
+ Prism.hooks.add('before-highlight', function (env) {
48
+ Prism.plugins.autolinker.processGrammar(env.grammar);
49
+ });
50
+
51
+ Prism.hooks.add('wrap', function (env) {
52
+ if (/-link$/.test(env.type)) {
53
+ env.tag = 'a';
54
+
55
+ var href = env.content;
42
56
 
43
- def.inside['email-link'] = email;
57
+ if (env.type == 'email-link' && href.indexOf('mailto:') != 0) {
58
+ href = 'mailto:' + href;
59
+ } else if (env.type == 'md-link') {
60
+ // Markdown
61
+ var match = env.content.match(linkMd);
62
+
63
+ href = match[2];
64
+ env.content = match[1];
44
65
  }
45
- });
46
- grammar['url-link'] = url;
47
- grammar['email-link'] = email;
48
- }
49
- };
50
66
 
51
- Prism.hooks.add('before-highlight', function(env) {
52
- Prism.plugins.autolinker.processGrammar(env.grammar);
53
- });
67
+ env.attributes.href = href;
54
68
 
55
- Prism.hooks.add('wrap', function(env) {
56
- if (/-link$/.test(env.type)) {
57
- env.tag = 'a';
58
-
59
- var href = env.content;
60
-
61
- if (env.type == 'email-link' && href.indexOf('mailto:') != 0) {
62
- href = 'mailto:' + href;
69
+ // Silently catch any error thrown by decodeURIComponent (#1186)
70
+ try {
71
+ env.content = decodeURIComponent(env.content);
72
+ } catch (e) { /* noop */ }
63
73
  }
64
- else if (env.type == 'md-link') {
65
- // Markdown
66
- var match = env.content.match(linkMd);
67
-
68
- href = match[2];
69
- env.content = match[1];
70
- }
71
-
72
- env.attributes.href = href;
73
- }
74
- });
74
+ });
75
75
 
76
- })();
76
+ }());