prism-rails 1.19.0 → 1.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (383) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +22 -1
  4. data/lib/prism-rails/version.rb +1 -1
  5. data/vendor/assets/javascripts/languages/prism-abap.js +17 -17
  6. data/vendor/assets/javascripts/languages/prism-abnf.js +3 -3
  7. data/vendor/assets/javascripts/languages/prism-actionscript.js +6 -2
  8. data/vendor/assets/javascripts/languages/prism-ada.js +9 -6
  9. data/vendor/assets/javascripts/languages/prism-agda.js +24 -0
  10. data/vendor/assets/javascripts/languages/prism-al.js +25 -0
  11. data/vendor/assets/javascripts/languages/prism-antlr4.js +1 -1
  12. data/vendor/assets/javascripts/languages/prism-apacheconf.js +3 -3
  13. data/vendor/assets/javascripts/languages/prism-apex.js +65 -0
  14. data/vendor/assets/javascripts/languages/prism-apl.js +3 -3
  15. data/vendor/assets/javascripts/languages/prism-applescript.js +5 -8
  16. data/vendor/assets/javascripts/languages/prism-aql.js +14 -6
  17. data/vendor/assets/javascripts/languages/prism-arduino.js +5 -3
  18. data/vendor/assets/javascripts/languages/prism-arff.js +1 -1
  19. data/vendor/assets/javascripts/languages/prism-armasm.js +49 -0
  20. data/vendor/assets/javascripts/languages/prism-arturo.js +105 -0
  21. data/vendor/assets/javascripts/languages/prism-asciidoc.js +13 -13
  22. data/vendor/assets/javascripts/languages/prism-asm6502.js +15 -14
  23. data/vendor/assets/javascripts/languages/prism-asmatmel.js +43 -0
  24. data/vendor/assets/javascripts/languages/prism-aspnet.js +6 -6
  25. data/vendor/assets/javascripts/languages/prism-autohotkey.js +31 -14
  26. data/vendor/assets/javascripts/languages/prism-autoit.js +16 -16
  27. data/vendor/assets/javascripts/languages/prism-avisynth.js +188 -0
  28. data/vendor/assets/javascripts/languages/prism-avro-idl.js +50 -0
  29. data/vendor/assets/javascripts/languages/prism-awk.js +32 -0
  30. data/vendor/assets/javascripts/languages/prism-bash.js +60 -22
  31. data/vendor/assets/javascripts/languages/prism-basic.js +4 -4
  32. data/vendor/assets/javascripts/languages/prism-batch.js +10 -10
  33. data/vendor/assets/javascripts/languages/prism-bbcode.js +3 -1
  34. data/vendor/assets/javascripts/languages/prism-bbj.js +19 -0
  35. data/vendor/assets/javascripts/languages/prism-bicep.js +77 -0
  36. data/vendor/assets/javascripts/languages/prism-birb.js +23 -0
  37. data/vendor/assets/javascripts/languages/prism-bison.js +2 -2
  38. data/vendor/assets/javascripts/languages/prism-bqn.js +63 -0
  39. data/vendor/assets/javascripts/languages/prism-brainfuck.js +1 -1
  40. data/vendor/assets/javascripts/languages/prism-brightscript.js +2 -2
  41. data/vendor/assets/javascripts/languages/prism-bro.js +9 -20
  42. data/vendor/assets/javascripts/languages/prism-bsl.js +75 -0
  43. data/vendor/assets/javascripts/languages/prism-c.js +53 -14
  44. data/vendor/assets/javascripts/languages/prism-cfscript.js +44 -0
  45. data/vendor/assets/javascripts/languages/prism-chaiscript.js +60 -0
  46. data/vendor/assets/javascripts/languages/prism-cil.js +5 -5
  47. data/vendor/assets/javascripts/languages/prism-cilkc.js +8 -0
  48. data/vendor/assets/javascripts/languages/prism-cilkcpp.js +9 -0
  49. data/vendor/assets/javascripts/languages/prism-clike.js +7 -6
  50. data/vendor/assets/javascripts/languages/prism-clojure.js +20 -5
  51. data/vendor/assets/javascripts/languages/prism-cmake.js +7 -7
  52. data/vendor/assets/javascripts/languages/prism-cobol.js +53 -0
  53. data/vendor/assets/javascripts/languages/prism-coffeescript.js +79 -75
  54. data/vendor/assets/javascripts/languages/prism-concurnas.js +33 -20
  55. data/vendor/assets/javascripts/languages/prism-cooklang.js +146 -0
  56. data/vendor/assets/javascripts/languages/prism-coq.js +54 -0
  57. data/vendor/assets/javascripts/languages/prism-core.js +1087 -451
  58. data/vendor/assets/javascripts/languages/prism-cpp.js +99 -21
  59. data/vendor/assets/javascripts/languages/prism-crystal.js +36 -30
  60. data/vendor/assets/javascripts/languages/prism-csharp.js +343 -58
  61. data/vendor/assets/javascripts/languages/prism-cshtml.js +199 -0
  62. data/vendor/assets/javascripts/languages/prism-csp.js +67 -16
  63. data/vendor/assets/javascripts/languages/prism-css-extras.js +27 -16
  64. data/vendor/assets/javascripts/languages/prism-css.js +28 -26
  65. data/vendor/assets/javascripts/languages/prism-csv.js +6 -0
  66. data/vendor/assets/javascripts/languages/prism-cue.js +84 -0
  67. data/vendor/assets/javascripts/languages/prism-cypher.js +36 -0
  68. data/vendor/assets/javascripts/languages/prism-d.js +15 -10
  69. data/vendor/assets/javascripts/languages/prism-dart.js +76 -21
  70. data/vendor/assets/javascripts/languages/prism-dataweave.js +41 -0
  71. data/vendor/assets/javascripts/languages/prism-dax.js +27 -0
  72. data/vendor/assets/javascripts/languages/prism-dhall.js +69 -0
  73. data/vendor/assets/javascripts/languages/prism-diff.js +15 -5
  74. data/vendor/assets/javascripts/languages/prism-django.js +8 -8
  75. data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +3 -3
  76. data/vendor/assets/javascripts/languages/prism-docker.js +98 -11
  77. data/vendor/assets/javascripts/languages/prism-dot.js +76 -0
  78. data/vendor/assets/javascripts/languages/prism-ebnf.js +2 -2
  79. data/vendor/assets/javascripts/languages/prism-editorconfig.js +26 -0
  80. data/vendor/assets/javascripts/languages/prism-eiffel.js +5 -8
  81. data/vendor/assets/javascripts/languages/prism-ejs.js +4 -2
  82. data/vendor/assets/javascripts/languages/prism-elixir.js +21 -12
  83. data/vendor/assets/javascripts/languages/prism-elm.js +16 -15
  84. data/vendor/assets/javascripts/languages/prism-erb.js +12 -7
  85. data/vendor/assets/javascripts/languages/prism-erlang.js +6 -6
  86. data/vendor/assets/javascripts/languages/prism-excel-formula.js +66 -0
  87. data/vendor/assets/javascripts/languages/prism-factor.js +8 -8
  88. data/vendor/assets/javascripts/languages/prism-false.js +32 -0
  89. data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +2 -2
  90. data/vendor/assets/javascripts/languages/prism-flow.js +5 -5
  91. data/vendor/assets/javascripts/languages/prism-fortran.js +6 -6
  92. data/vendor/assets/javascripts/languages/prism-fsharp.js +20 -12
  93. data/vendor/assets/javascripts/languages/prism-ftl.js +12 -11
  94. data/vendor/assets/javascripts/languages/prism-gap.js +54 -0
  95. data/vendor/assets/javascripts/languages/prism-gcode.js +4 -3
  96. data/vendor/assets/javascripts/languages/prism-gdscript.js +2 -2
  97. data/vendor/assets/javascripts/languages/prism-gedcom.js +6 -6
  98. data/vendor/assets/javascripts/languages/prism-gettext.js +43 -0
  99. data/vendor/assets/javascripts/languages/prism-gherkin.js +7 -7
  100. data/vendor/assets/javascripts/languages/prism-git.js +3 -3
  101. data/vendor/assets/javascripts/languages/prism-glsl.js +2 -15
  102. data/vendor/assets/javascripts/languages/prism-gml.js +5 -5
  103. data/vendor/assets/javascripts/languages/prism-gn.js +51 -0
  104. data/vendor/assets/javascripts/languages/prism-go-module.js +24 -0
  105. data/vendor/assets/javascripts/languages/prism-go.js +21 -5
  106. data/vendor/assets/javascripts/languages/prism-gradle.js +63 -0
  107. data/vendor/assets/javascripts/languages/prism-graphql.js +187 -7
  108. data/vendor/assets/javascripts/languages/prism-groovy.js +56 -58
  109. data/vendor/assets/javascripts/languages/prism-haml.js +23 -16
  110. data/vendor/assets/javascripts/languages/prism-handlebars.js +10 -7
  111. data/vendor/assets/javascripts/languages/prism-haskell.js +42 -14
  112. data/vendor/assets/javascripts/languages/prism-haxe.js +54 -21
  113. data/vendor/assets/javascripts/languages/prism-hcl.js +12 -14
  114. data/vendor/assets/javascripts/languages/prism-hlsl.js +20 -0
  115. data/vendor/assets/javascripts/languages/prism-hoon.js +14 -0
  116. data/vendor/assets/javascripts/languages/prism-hpkp.js +4 -10
  117. data/vendor/assets/javascripts/languages/prism-hsts.js +4 -10
  118. data/vendor/assets/javascripts/languages/prism-http.js +91 -17
  119. data/vendor/assets/javascripts/languages/prism-ichigojam.js +5 -5
  120. data/vendor/assets/javascripts/languages/prism-icon.js +2 -2
  121. data/vendor/assets/javascripts/languages/prism-icu-message-format.js +148 -0
  122. data/vendor/assets/javascripts/languages/prism-idris.js +19 -0
  123. data/vendor/assets/javascripts/languages/prism-iecst.js +32 -0
  124. data/vendor/assets/javascripts/languages/prism-ignore.js +23 -0
  125. data/vendor/assets/javascripts/languages/prism-inform7.js +10 -10
  126. data/vendor/assets/javascripts/languages/prism-ini.js +39 -8
  127. data/vendor/assets/javascripts/languages/prism-io.js +10 -19
  128. data/vendor/assets/javascripts/languages/prism-j.js +7 -4
  129. data/vendor/assets/javascripts/languages/prism-java.js +80 -19
  130. data/vendor/assets/javascripts/languages/prism-javadoc.js +59 -31
  131. data/vendor/assets/javascripts/languages/prism-javadoclike.js +2 -2
  132. data/vendor/assets/javascripts/languages/prism-javascript.js +98 -17
  133. data/vendor/assets/javascripts/languages/prism-javastacktrace.js +63 -14
  134. data/vendor/assets/javascripts/languages/prism-jexl.js +14 -0
  135. data/vendor/assets/javascripts/languages/prism-jolie.js +23 -37
  136. data/vendor/assets/javascripts/languages/prism-jq.js +8 -6
  137. data/vendor/assets/javascripts/languages/prism-js-extras.js +34 -3
  138. data/vendor/assets/javascripts/languages/prism-js-templates.js +5 -2
  139. data/vendor/assets/javascripts/languages/prism-jsdoc.js +15 -10
  140. data/vendor/assets/javascripts/languages/prism-json.js +13 -5
  141. data/vendor/assets/javascripts/languages/prism-json5.js +3 -3
  142. data/vendor/assets/javascripts/languages/prism-jsonp.js +1 -1
  143. data/vendor/assets/javascripts/languages/prism-jsstacktrace.js +49 -0
  144. data/vendor/assets/javascripts/languages/prism-jsx.js +123 -104
  145. data/vendor/assets/javascripts/languages/prism-julia.js +31 -9
  146. data/vendor/assets/javascripts/languages/prism-keepalived.js +51 -0
  147. data/vendor/assets/javascripts/languages/prism-keyman.js +43 -13
  148. data/vendor/assets/javascripts/languages/prism-kotlin.js +56 -30
  149. data/vendor/assets/javascripts/languages/prism-kumir.js +106 -0
  150. data/vendor/assets/javascripts/languages/prism-kusto.js +44 -0
  151. data/vendor/assets/javascripts/languages/prism-latex.js +6 -6
  152. data/vendor/assets/javascripts/languages/prism-latte.js +11 -17
  153. data/vendor/assets/javascripts/languages/prism-less.js +5 -5
  154. data/vendor/assets/javascripts/languages/prism-lilypond.js +3 -3
  155. data/vendor/assets/javascripts/languages/prism-linker-script.js +30 -0
  156. data/vendor/assets/javascripts/languages/prism-liquid.js +62 -8
  157. data/vendor/assets/javascripts/languages/prism-lisp.js +41 -41
  158. data/vendor/assets/javascripts/languages/prism-livescript.js +3 -3
  159. data/vendor/assets/javascripts/languages/prism-llvm.js +19 -0
  160. data/vendor/assets/javascripts/languages/prism-log.js +120 -0
  161. data/vendor/assets/javascripts/languages/prism-lolcode.js +9 -9
  162. data/vendor/assets/javascripts/languages/prism-lua.js +3 -3
  163. data/vendor/assets/javascripts/languages/prism-magma.js +35 -0
  164. data/vendor/assets/javascripts/languages/prism-makefile.js +17 -17
  165. data/vendor/assets/javascripts/languages/prism-markdown.js +103 -32
  166. data/vendor/assets/javascripts/languages/prism-markup-templating.js +2 -1
  167. data/vendor/assets/javascripts/languages/prism-markup.js +95 -12
  168. data/vendor/assets/javascripts/languages/prism-mata.js +50 -0
  169. data/vendor/assets/javascripts/languages/prism-matlab.js +4 -4
  170. data/vendor/assets/javascripts/languages/prism-maxscript.js +91 -0
  171. data/vendor/assets/javascripts/languages/prism-mel.js +24 -21
  172. data/vendor/assets/javascripts/languages/prism-mermaid.js +113 -0
  173. data/vendor/assets/javascripts/languages/prism-metafont.js +84 -0
  174. data/vendor/assets/javascripts/languages/prism-mizar.js +3 -3
  175. data/vendor/assets/javascripts/languages/prism-mongodb.js +97 -0
  176. data/vendor/assets/javascripts/languages/prism-monkey.js +16 -18
  177. data/vendor/assets/javascripts/languages/prism-moonscript.js +1 -1
  178. data/vendor/assets/javascripts/languages/prism-n1ql.js +14 -8
  179. data/vendor/assets/javascripts/languages/prism-n4js.js +2 -2
  180. data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +3 -3
  181. data/vendor/assets/javascripts/languages/prism-naniscript.js +170 -0
  182. data/vendor/assets/javascripts/languages/prism-nasm.js +4 -4
  183. data/vendor/assets/javascripts/languages/prism-neon.js +5 -6
  184. data/vendor/assets/javascripts/languages/prism-nevod.js +125 -0
  185. data/vendor/assets/javascripts/languages/prism-nginx.js +54 -11
  186. data/vendor/assets/javascripts/languages/prism-nim.js +23 -12
  187. data/vendor/assets/javascripts/languages/prism-nix.js +10 -13
  188. data/vendor/assets/javascripts/languages/prism-nsis.js +10 -9
  189. data/vendor/assets/javascripts/languages/prism-objectivec.js +7 -2
  190. data/vendor/assets/javascripts/languages/prism-ocaml.js +32 -15
  191. data/vendor/assets/javascripts/languages/prism-odin.js +99 -0
  192. data/vendor/assets/javascripts/languages/prism-opencl.js +19 -12
  193. data/vendor/assets/javascripts/languages/prism-openqasm.js +23 -0
  194. data/vendor/assets/javascripts/languages/prism-oz.js +11 -8
  195. data/vendor/assets/javascripts/languages/prism-parigp.js +4 -4
  196. data/vendor/assets/javascripts/languages/prism-parser.js +3 -3
  197. data/vendor/assets/javascripts/languages/prism-pascal.js +24 -8
  198. data/vendor/assets/javascripts/languages/prism-pascaligo.js +7 -7
  199. data/vendor/assets/javascripts/languages/prism-pcaxis.js +2 -2
  200. data/vendor/assets/javascripts/languages/prism-peoplecode.js +42 -0
  201. data/vendor/assets/javascripts/languages/prism-perl.js +153 -188
  202. data/vendor/assets/javascripts/languages/prism-php-extras.js +8 -5
  203. data/vendor/assets/javascripts/languages/prism-php.js +275 -63
  204. data/vendor/assets/javascripts/languages/prism-phpdoc.js +1 -1
  205. data/vendor/assets/javascripts/languages/prism-plant-uml.js +103 -0
  206. data/vendor/assets/javascripts/languages/prism-plsql.js +16 -25
  207. data/vendor/assets/javascripts/languages/prism-powerquery.js +55 -0
  208. data/vendor/assets/javascripts/languages/prism-powershell.js +16 -18
  209. data/vendor/assets/javascripts/languages/prism-processing.js +6 -9
  210. data/vendor/assets/javascripts/languages/prism-prolog.js +7 -8
  211. data/vendor/assets/javascripts/languages/prism-promql.js +99 -0
  212. data/vendor/assets/javascripts/languages/prism-properties.js +9 -5
  213. data/vendor/assets/javascripts/languages/prism-protobuf.js +16 -9
  214. data/vendor/assets/javascripts/languages/prism-psl.js +35 -0
  215. data/vendor/assets/javascripts/languages/prism-pug.js +28 -21
  216. data/vendor/assets/javascripts/languages/prism-puppet.js +6 -6
  217. data/vendor/assets/javascripts/languages/prism-pure.js +9 -6
  218. data/vendor/assets/javascripts/languages/prism-purebasic.js +70 -0
  219. data/vendor/assets/javascripts/languages/prism-purescript.js +31 -0
  220. data/vendor/assets/javascripts/languages/prism-python.js +12 -11
  221. data/vendor/assets/javascripts/languages/prism-q.js +4 -4
  222. data/vendor/assets/javascripts/languages/prism-qml.js +9 -6
  223. data/vendor/assets/javascripts/languages/prism-qore.js +5 -5
  224. data/vendor/assets/javascripts/languages/prism-qsharp.js +132 -0
  225. data/vendor/assets/javascripts/languages/prism-r.js +5 -5
  226. data/vendor/assets/javascripts/languages/prism-racket.js +18 -0
  227. data/vendor/assets/javascripts/languages/prism-reason.js +5 -8
  228. data/vendor/assets/javascripts/languages/prism-regex.js +54 -47
  229. data/vendor/assets/javascripts/languages/prism-rego.js +30 -0
  230. data/vendor/assets/javascripts/languages/prism-renpy.js +12 -12
  231. data/vendor/assets/javascripts/languages/prism-rescript.js +60 -0
  232. data/vendor/assets/javascripts/languages/prism-rest.js +16 -16
  233. data/vendor/assets/javascripts/languages/prism-rip.js +22 -16
  234. data/vendor/assets/javascripts/languages/prism-roboconf.js +3 -3
  235. data/vendor/assets/javascripts/languages/prism-robotframework.js +5 -5
  236. data/vendor/assets/javascripts/languages/prism-ruby.js +127 -88
  237. data/vendor/assets/javascripts/languages/prism-rust.js +120 -60
  238. data/vendor/assets/javascripts/languages/prism-sas.js +62 -38
  239. data/vendor/assets/javascripts/languages/prism-sass.js +15 -10
  240. data/vendor/assets/javascripts/languages/prism-scala.js +36 -3
  241. data/vendor/assets/javascripts/languages/prism-scheme.js +120 -33
  242. data/vendor/assets/javascripts/languages/prism-scss.js +11 -7
  243. data/vendor/assets/javascripts/languages/prism-shell-session.js +42 -26
  244. data/vendor/assets/javascripts/languages/prism-smali.js +87 -0
  245. data/vendor/assets/javascripts/languages/prism-smalltalk.js +12 -5
  246. data/vendor/assets/javascripts/languages/prism-smarty.js +91 -47
  247. data/vendor/assets/javascripts/languages/prism-sml.js +68 -0
  248. data/vendor/assets/javascripts/languages/prism-solidity.js +3 -1
  249. data/vendor/assets/javascripts/languages/prism-solution-file.js +2 -2
  250. data/vendor/assets/javascripts/languages/prism-soy.js +9 -9
  251. data/vendor/assets/javascripts/languages/prism-sparql.js +8 -8
  252. data/vendor/assets/javascripts/languages/prism-splunk-spl.js +3 -3
  253. data/vendor/assets/javascripts/languages/prism-sqf.js +7 -7
  254. data/vendor/assets/javascripts/languages/prism-sql.js +12 -4
  255. data/vendor/assets/javascripts/languages/prism-squirrel.js +47 -0
  256. data/vendor/assets/javascripts/languages/prism-stan.js +65 -0
  257. data/vendor/assets/javascripts/languages/prism-stata.js +76 -0
  258. data/vendor/assets/javascripts/languages/prism-stylus.js +48 -16
  259. data/vendor/assets/javascripts/languages/prism-supercollider.js +36 -0
  260. data/vendor/assets/javascripts/languages/prism-swift.js +143 -20
  261. data/vendor/assets/javascripts/languages/prism-systemd.js +74 -0
  262. data/vendor/assets/javascripts/languages/prism-t4-templating.js +2 -2
  263. data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -1
  264. data/vendor/assets/javascripts/languages/prism-tap.js +13 -11
  265. data/vendor/assets/javascripts/languages/prism-tcl.js +8 -8
  266. data/vendor/assets/javascripts/languages/prism-textile.js +55 -29
  267. data/vendor/assets/javascripts/languages/prism-toml.js +14 -8
  268. data/vendor/assets/javascripts/languages/prism-tremor.js +72 -0
  269. data/vendor/assets/javascripts/languages/prism-tsx.js +15 -2
  270. data/vendor/assets/javascripts/languages/prism-tt2.js +7 -7
  271. data/vendor/assets/javascripts/languages/prism-turtle.js +4 -4
  272. data/vendor/assets/javascripts/languages/prism-twig.js +38 -40
  273. data/vendor/assets/javascripts/languages/prism-typescript.js +59 -6
  274. data/vendor/assets/javascripts/languages/prism-typoscript.js +80 -0
  275. data/vendor/assets/javascripts/languages/prism-unrealscript.js +42 -0
  276. data/vendor/assets/javascripts/languages/prism-uorazor.js +48 -0
  277. data/vendor/assets/javascripts/languages/prism-uri.js +96 -0
  278. data/vendor/assets/javascripts/languages/prism-v.js +81 -0
  279. data/vendor/assets/javascripts/languages/prism-vala.js +20 -10
  280. data/vendor/assets/javascripts/languages/prism-vbnet.js +11 -4
  281. data/vendor/assets/javascripts/languages/prism-velocity.js +6 -6
  282. data/vendor/assets/javascripts/languages/prism-verilog.js +14 -8
  283. data/vendor/assets/javascripts/languages/prism-vhdl.js +7 -4
  284. data/vendor/assets/javascripts/languages/prism-vim.js +4 -4
  285. data/vendor/assets/javascripts/languages/prism-visual-basic.js +9 -14
  286. data/vendor/assets/javascripts/languages/prism-warpscript.js +21 -0
  287. data/vendor/assets/javascripts/languages/prism-wasm.js +3 -3
  288. data/vendor/assets/javascripts/languages/prism-web-idl.js +101 -0
  289. data/vendor/assets/javascripts/languages/prism-wgsl.js +69 -0
  290. data/vendor/assets/javascripts/languages/prism-wiki.js +4 -4
  291. data/vendor/assets/javascripts/languages/prism-wolfram.js +29 -0
  292. data/vendor/assets/javascripts/languages/prism-wren.js +100 -0
  293. data/vendor/assets/javascripts/languages/prism-xeora.js +8 -8
  294. data/vendor/assets/javascripts/languages/prism-xml-doc.js +40 -0
  295. data/vendor/assets/javascripts/languages/prism-xojo.js +9 -8
  296. data/vendor/assets/javascripts/languages/prism-xquery.js +7 -7
  297. data/vendor/assets/javascripts/languages/prism-yaml.js +19 -12
  298. data/vendor/assets/javascripts/languages/prism-yang.js +20 -0
  299. data/vendor/assets/javascripts/languages/prism-zig.js +19 -15
  300. data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +60 -65
  301. data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +199 -67
  302. data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +212 -112
  303. data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +128 -43
  304. data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +23 -8
  305. data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +2 -6
  306. data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +19 -12
  307. data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +3 -2
  308. data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +169 -63
  309. data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +5 -3
  310. data/vendor/assets/javascripts/prism-plugin/prism-highlight-keywords.js +10 -13
  311. data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +29 -12
  312. data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +179 -82
  313. data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +53 -26
  314. data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +217 -84
  315. data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +152 -68
  316. data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +53 -47
  317. data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +203 -164
  318. data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +61 -52
  319. data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +16 -16
  320. data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +4 -5
  321. data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +147 -21
  322. data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +9 -8
  323. data/vendor/assets/javascripts/prism-plugin/prism-treeview.js +70 -0
  324. data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +41 -23
  325. data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +133 -148
  326. data/vendor/assets/javascripts/prism.js +96 -4
  327. data/vendor/assets/stylesheets/prism-plugin/prism-autolinker.min.css +1 -0
  328. data/vendor/assets/stylesheets/prism-plugin/prism-command-line.css +11 -1
  329. data/vendor/assets/stylesheets/prism-plugin/prism-command-line.min.css +1 -0
  330. data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.min.css +1 -0
  331. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +26 -2
  332. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.min.css +1 -0
  333. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +21 -0
  334. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.min.css +1 -0
  335. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +0 -1
  336. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.min.css +1 -0
  337. data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.min.css +1 -0
  338. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +1 -0
  339. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.min.css +1 -0
  340. data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.min.css +1 -0
  341. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +13 -12
  342. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.min.css +1 -0
  343. data/vendor/assets/stylesheets/prism-plugin/prism-treeview.css +168 -0
  344. data/vendor/assets/stylesheets/prism-plugin/prism-treeview.min.css +1 -0
  345. data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.min.css +1 -0
  346. data/vendor/assets/stylesheets/prism-plugin/prism-wpd.min.css +1 -0
  347. data/vendor/assets/stylesheets/prism-theme/prism-base16-ateliersulphurpool.light.css +3 -3
  348. data/vendor/assets/stylesheets/prism-theme/prism-cb.css +5 -35
  349. data/vendor/assets/stylesheets/prism-theme/prism-coldark-cold.css +317 -0
  350. data/vendor/assets/stylesheets/prism-theme/prism-coldark-dark.css +317 -0
  351. data/vendor/assets/stylesheets/prism-theme/prism-coy-without-shadows.css +140 -0
  352. data/vendor/assets/stylesheets/prism-theme/prism-coy.css +5 -12
  353. data/vendor/assets/stylesheets/prism-theme/prism-coy.min.css +1 -0
  354. data/vendor/assets/stylesheets/prism-theme/prism-dark.min.css +1 -0
  355. data/vendor/assets/stylesheets/prism-theme/prism-duotone-dark.css +3 -3
  356. data/vendor/assets/stylesheets/prism-theme/prism-duotone-earth.css +3 -3
  357. data/vendor/assets/stylesheets/prism-theme/prism-duotone-forest.css +3 -3
  358. data/vendor/assets/stylesheets/prism-theme/prism-duotone-light.css +3 -3
  359. data/vendor/assets/stylesheets/prism-theme/prism-duotone-sea.css +3 -3
  360. data/vendor/assets/stylesheets/prism-theme/prism-duotone-space.css +3 -3
  361. data/vendor/assets/stylesheets/prism-theme/prism-funky.min.css +1 -0
  362. data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-dark.css +143 -0
  363. data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-light.css +143 -0
  364. data/vendor/assets/stylesheets/prism-theme/prism-holi-theme.css +119 -0
  365. data/vendor/assets/stylesheets/prism-theme/prism-laserwave.css +133 -0
  366. data/vendor/assets/stylesheets/prism-theme/prism-lucario.css +122 -0
  367. data/vendor/assets/stylesheets/prism-theme/prism-night-owl.css +158 -0
  368. data/vendor/assets/stylesheets/prism-theme/prism-okaidia.css +1 -1
  369. data/vendor/assets/stylesheets/prism-theme/prism-okaidia.min.css +1 -0
  370. data/vendor/assets/stylesheets/prism-theme/prism-one-dark.css +440 -0
  371. data/vendor/assets/stylesheets/prism-theme/prism-one-light.css +428 -0
  372. data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +3 -7
  373. data/vendor/assets/stylesheets/prism-theme/prism-solarized-dark-atom.css +143 -0
  374. data/vendor/assets/stylesheets/prism-theme/prism-solarizedlight.min.css +1 -0
  375. data/vendor/assets/stylesheets/prism-theme/prism-tomorrow.min.css +1 -0
  376. data/vendor/assets/stylesheets/prism-theme/prism-twilight.css +3 -33
  377. data/vendor/assets/stylesheets/prism-theme/prism-twilight.min.css +1 -0
  378. data/vendor/assets/stylesheets/prism-theme/prism-vs.css +7 -3
  379. data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +108 -49
  380. data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +3 -30
  381. data/vendor/assets/stylesheets/prism-theme/prism-z-touch.css +160 -0
  382. data/vendor/assets/stylesheets/prism.css +1 -0
  383. metadata +133 -6
@@ -0,0 +1,44 @@
1
+ Prism.languages.kusto = {
2
+ 'comment': {
3
+ pattern: /\/\/.*/,
4
+ greedy: true
5
+ },
6
+ 'string': {
7
+ pattern: /```[\s\S]*?```|[hH]?(?:"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\.)*'|@(?:"[^\r\n"]*"|'[^\r\n']*'))/,
8
+ greedy: true
9
+ },
10
+
11
+ 'verb': {
12
+ pattern: /(\|\s*)[a-z][\w-]*/i,
13
+ lookbehind: true,
14
+ alias: 'keyword'
15
+ },
16
+
17
+ 'command': {
18
+ pattern: /\.[a-z][a-z\d-]*\b/,
19
+ alias: 'keyword'
20
+ },
21
+
22
+ 'class-name': /\b(?:bool|datetime|decimal|dynamic|guid|int|long|real|string|timespan)\b/,
23
+ 'keyword': /\b(?:access|alias|and|anti|as|asc|auto|between|by|(?:contains|(?:ends|starts)with|has(?:perfix|suffix)?)(?:_cs)?|database|declare|desc|external|from|fullouter|has_all|in|ingestion|inline|inner|innerunique|into|(?:left|right)(?:anti(?:semi)?|inner|outer|semi)?|let|like|local|not|of|on|or|pattern|print|query_parameters|range|restrict|schema|set|step|table|tables|to|view|where|with|matches\s+regex|nulls\s+(?:first|last))(?![\w-])/,
24
+ 'boolean': /\b(?:false|null|true)\b/,
25
+
26
+ 'function': /\b[a-z_]\w*(?=\s*\()/,
27
+
28
+ 'datetime': [
29
+ {
30
+ // RFC 822 + RFC 850
31
+ pattern: /\b(?:(?:Fri|Friday|Mon|Monday|Sat|Saturday|Sun|Sunday|Thu|Thursday|Tue|Tuesday|Wed|Wednesday)\s*,\s*)?\d{1,2}(?:\s+|-)(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)(?:\s+|-)\d{2}\s+\d{2}:\d{2}(?::\d{2})?(?:\s*(?:\b(?:[A-Z]|(?:[ECMT][DS]|GM|U)T)|[+-]\d{4}))?\b/,
32
+ alias: 'number'
33
+ },
34
+ {
35
+ // ISO 8601
36
+ pattern: /[+-]?\b(?:\d{4}-\d{2}-\d{2}(?:[ T]\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)?|\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)Z?/,
37
+ alias: 'number'
38
+ }
39
+ ],
40
+ 'number': /\b(?:0x[0-9A-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][+-]?\d+)?)(?:(?:min|sec|[mnµ]s|[dhms]|microsecond|tick)\b)?|[+-]?\binf\b/,
41
+
42
+ 'operator': /=>|[!=]~|[!=<>]=?|[-+*/%|]|\.\./,
43
+ 'punctuation': /[()\[\]{},;.:]/
44
+ };
@@ -8,10 +8,10 @@
8
8
  };
9
9
 
10
10
  Prism.languages.latex = {
11
- 'comment': /%.*/m,
11
+ 'comment': /%.*/,
12
12
  // the verbatim environment prints whitespace to the document
13
13
  'cdata': {
14
- pattern: /(\\begin\{((?:verbatim|lstlisting)\*?)\})[\s\S]*?(?=\\end\{\2\})/,
14
+ pattern: /(\\begin\{((?:lstlisting|verbatim)\*?)\})[\s\S]*?(?=\\end\{\2\})/,
15
15
  lookbehind: true
16
16
  },
17
17
  /*
@@ -25,7 +25,7 @@
25
25
  alias: 'string'
26
26
  },
27
27
  {
28
- pattern: /(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})[\s\S]*?(?=\\end\{\2\})/,
28
+ pattern: /(\\begin\{((?:align|eqnarray|equation|gather|math|multline)\*?)\})[\s\S]*?(?=\\end\{\2\})/,
29
29
  lookbehind: true,
30
30
  inside: insideEqu,
31
31
  alias: 'string'
@@ -36,7 +36,7 @@
36
36
  * as keywords
37
37
  */
38
38
  'keyword': {
39
- pattern: /(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,
39
+ pattern: /(\\(?:begin|cite|documentclass|end|label|ref|usepackage)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,
40
40
  lookbehind: true
41
41
  },
42
42
  'url': {
@@ -48,7 +48,7 @@
48
48
  * they stand out more
49
49
  */
50
50
  'headline': {
51
- pattern: /(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\}(?:\[[^\]]+\])?)/,
51
+ pattern: /(\\(?:chapter|frametitle|paragraph|part|section|subparagraph|subsection|subsubparagraph|subsubsection|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\})/,
52
52
  lookbehind: true,
53
53
  alias: 'class-name'
54
54
  },
@@ -61,4 +61,4 @@
61
61
 
62
62
  Prism.languages.tex = Prism.languages.latex;
63
63
  Prism.languages.context = Prism.languages.latex;
64
- })(Prism);
64
+ }(Prism));
@@ -1,21 +1,15 @@
1
1
  (function (Prism) {
2
2
  Prism.languages.latte = {
3
3
  'comment': /^\{\*[\s\S]*/,
4
- 'ld': {
5
- pattern: /^\{(?:[=_]|\/?(?!\d|\w+\()\w+|)/,
6
- inside: {
7
- 'punctuation': /^\{\/?/,
8
- 'tag': {
9
- pattern: /.+/,
10
- alias: 'important'
11
- }
12
- }
4
+ 'latte-tag': {
5
+ // https://latte.nette.org/en/tags
6
+ pattern: /(^\{(?:\/(?=[a-z]))?)(?:[=_]|[a-z]\w*\b(?!\())/i,
7
+ lookbehind: true,
8
+ alias: 'important'
13
9
  },
14
- 'rd': {
15
- pattern: /\}$/,
16
- inside: {
17
- 'punctuation': /.+/
18
- }
10
+ 'delimiter': {
11
+ pattern: /^\{\/?|\}$/,
12
+ alias: 'punctuation'
19
13
  },
20
14
  'php': {
21
15
  pattern: /\S(?:[\s\S]*\S)?/,
@@ -53,16 +47,16 @@
53
47
  },
54
48
  }, markupLatte.tag);
55
49
 
56
- Prism.hooks.add('before-tokenize', function(env) {
50
+ Prism.hooks.add('before-tokenize', function (env) {
57
51
  if (env.language !== 'latte') {
58
52
  return;
59
53
  }
60
- var lattePattern = /\{\*[\s\S]*?\*\}|\{[^'"\s{}*](?:[^"'/{}]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|\/\*[\s\S]*?\*\/)*?\}/g;
54
+ var lattePattern = /\{\*[\s\S]*?\*\}|\{[^'"\s{}*](?:[^"'/{}]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|\/\*(?:[^*]|\*(?!\/))*\*\/)*\}/g;
61
55
  Prism.languages['markup-templating'].buildPlaceholders(env, 'latte', lattePattern);
62
56
  env.grammar = markupLatte;
63
57
  });
64
58
 
65
- Prism.hooks.add('after-tokenize', function(env) {
59
+ Prism.hooks.add('after-tokenize', function (env) {
66
60
  Prism.languages['markup-templating'].tokenizePlaceholders(env, 'latte');
67
61
  });
68
62
 
@@ -15,21 +15,21 @@ Prism.languages.less = Prism.languages.extend('css', {
15
15
  }
16
16
  ],
17
17
  'atrule': {
18
- pattern: /@[\w-]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};])*?(?=\s*\{)/,
18
+ pattern: /@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,
19
19
  inside: {
20
20
  'punctuation': /[:()]/
21
21
  }
22
22
  },
23
23
  // selectors and mixins are considered the same
24
24
  'selector': {
25
- pattern: /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@])*?(?=\s*\{)/,
25
+ pattern: /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,
26
26
  inside: {
27
27
  // mixin parameters
28
28
  'variable': /@+[\w-]+/
29
29
  }
30
30
  },
31
31
 
32
- 'property': /(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,
32
+ 'property': /(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,
33
33
  'operator': /[+\-*\/]/
34
34
  });
35
35
 
@@ -39,7 +39,7 @@ Prism.languages.insertBefore('less', 'property', {
39
39
  {
40
40
  pattern: /@[\w-]+\s*:/,
41
41
  inside: {
42
- "punctuation": /:/
42
+ 'punctuation': /:/
43
43
  }
44
44
  },
45
45
 
@@ -47,7 +47,7 @@ Prism.languages.insertBefore('less', 'property', {
47
47
  /@@?[\w-]+/
48
48
  ],
49
49
  'mixin-usage': {
50
- pattern: /([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/,
50
+ pattern: /([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,
51
51
  lookbehind: true,
52
52
  alias: 'function'
53
53
  }
@@ -1,11 +1,11 @@
1
1
  (function (Prism) {
2
2
 
3
- var schemeExpression = /\((?:[^();"#\\]|\\[\s\S]|;.*|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|<expr>)*\)/.source;
3
+ var schemeExpression = /\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|<expr>)*\)/.source;
4
4
  // allow for up to pow(2, recursivenessLog2) many levels of recursive brace expressions
5
5
  // For some reason, this can't be 4
6
6
  var recursivenessLog2 = 5;
7
7
  for (var i = 0; i < recursivenessLog2; i++) {
8
- schemeExpression = schemeExpression.replace(/<expr>/g, schemeExpression);
8
+ schemeExpression = schemeExpression.replace(/<expr>/g, function () { return schemeExpression; });
9
9
  }
10
10
  schemeExpression = schemeExpression.replace(/<expr>/g, /[^\s\S]/.source);
11
11
 
@@ -13,7 +13,7 @@
13
13
  var lilypond = Prism.languages.lilypond = {
14
14
  'comment': /%(?:(?!\{).*|\{[\s\S]*?%\})/,
15
15
  'embedded-scheme': {
16
- pattern: RegExp(/(^|[=\s])#(?:"(?:[^"\\]|\\.)*"|[^\s()"]*(?:[^\s()]|<expr>))/.source.replace(/<expr>/g, schemeExpression), 'm'),
16
+ pattern: RegExp(/(^|[=\s])#(?:"(?:[^"\\]|\\.)*"|[^\s()"]*(?:[^\s()]|<expr>))/.source.replace(/<expr>/g, function () { return schemeExpression; }), 'm'),
17
17
  lookbehind: true,
18
18
  greedy: true,
19
19
  inside: {
@@ -0,0 +1,30 @@
1
+ Prism.languages['linker-script'] = {
2
+ 'comment': {
3
+ pattern: /(^|\s)\/\*[\s\S]*?(?:$|\*\/)/,
4
+ lookbehind: true,
5
+ greedy: true
6
+ },
7
+ 'identifier': {
8
+ pattern: /"[^"\r\n]*"/,
9
+ greedy: true
10
+ },
11
+
12
+ 'location-counter': {
13
+ pattern: /\B\.\B/,
14
+ alias: 'important'
15
+ },
16
+
17
+ 'section': {
18
+ pattern: /(^|[^\w*])\.\w+\b/,
19
+ lookbehind: true,
20
+ alias: 'keyword'
21
+ },
22
+ 'function': /\b[A-Z][A-Z_]*(?=\s*\()/,
23
+
24
+ 'number': /\b(?:0[xX][a-fA-F0-9]+|\d+)[KM]?\b/,
25
+
26
+ 'operator': />>=?|<<=?|->|\+\+|--|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?/,
27
+ 'punctuation': /[(){},;]/
28
+ };
29
+
30
+ Prism.languages['ld'] = Prism.languages['linker-script'];
@@ -1,12 +1,66 @@
1
1
  Prism.languages.liquid = {
2
- 'keyword': /\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/,
3
- 'number': /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?[df]?/i,
4
- 'operator': {
5
- pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,
2
+ 'comment': {
3
+ pattern: /(^\{%\s*comment\s*%\})[\s\S]+(?=\{%\s*endcomment\s*%\}$)/,
6
4
  lookbehind: true
7
5
  },
8
- 'function': {
9
- pattern: /(^|[\s;|&])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s;|&])/,
10
- lookbehind: true
11
- }
6
+ 'delimiter': {
7
+ pattern: /^\{(?:\{\{|[%\{])-?|-?(?:\}\}|[%\}])\}$/,
8
+ alias: 'punctuation'
9
+ },
10
+ 'string': {
11
+ pattern: /"[^"]*"|'[^']*'/,
12
+ greedy: true
13
+ },
14
+ 'keyword': /\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\b/,
15
+ 'object': /\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\b/,
16
+ 'function': [
17
+ {
18
+ pattern: /(\|\s*)\w+/,
19
+ lookbehind: true,
20
+ alias: 'filter'
21
+ },
22
+ {
23
+ // array functions
24
+ pattern: /(\.\s*)(?:first|last|size)/,
25
+ lookbehind: true
26
+ }
27
+ ],
28
+ 'boolean': /\b(?:false|nil|true)\b/,
29
+ 'range': {
30
+ pattern: /\.\./,
31
+ alias: 'operator'
32
+ },
33
+ // https://github.com/Shopify/liquid/blob/698f5e0d967423e013f6169d9111bd969bd78337/lib/liquid/lexer.rb#L21
34
+ 'number': /\b\d+(?:\.\d+)?\b/,
35
+ 'operator': /[!=]=|<>|[<>]=?|[|?:=-]|\b(?:and|contains(?=\s)|or)\b/,
36
+ 'punctuation': /[.,\[\]()]/,
37
+ 'empty': {
38
+ pattern: /\bempty\b/,
39
+ alias: 'keyword'
40
+ },
12
41
  };
42
+
43
+ Prism.hooks.add('before-tokenize', function (env) {
44
+ var liquidPattern = /\{%\s*comment\s*%\}[\s\S]*?\{%\s*endcomment\s*%\}|\{(?:%[\s\S]*?%|\{\{[\s\S]*?\}\}|\{[\s\S]*?\})\}/g;
45
+ var insideRaw = false;
46
+
47
+ Prism.languages['markup-templating'].buildPlaceholders(env, 'liquid', liquidPattern, function (match) {
48
+ var tagMatch = /^\{%-?\s*(\w+)/.exec(match);
49
+ if (tagMatch) {
50
+ var tag = tagMatch[1];
51
+ if (tag === 'raw' && !insideRaw) {
52
+ insideRaw = true;
53
+ return true;
54
+ } else if (tag === 'endraw') {
55
+ insideRaw = false;
56
+ return true;
57
+ }
58
+ }
59
+
60
+ return !insideRaw;
61
+ });
62
+ });
63
+
64
+ Prism.hooks.add('after-tokenize', function (env) {
65
+ Prism.languages['markup-templating'].tokenizePlaceholders(env, 'liquid');
66
+ });
@@ -1,20 +1,29 @@
1
1
  (function (Prism) {
2
- // Functions to construct regular expressions
3
- // simple form
4
- // e.g. (interactive ... or (interactive)
2
+ /**
3
+ * Functions to construct regular expressions
4
+ * e.g. (interactive ... or (interactive)
5
+ *
6
+ * @param {string} name
7
+ * @returns {RegExp}
8
+ */
5
9
  function simple_form(name) {
6
- return RegExp('(\\()' + name + '(?=[\\s\\)])');
10
+ return RegExp(/(\()/.source + '(?:' + name + ')' + /(?=[\s\)])/.source);
7
11
  }
8
- // booleans and numbers
12
+ /**
13
+ * booleans and numbers
14
+ *
15
+ * @param {string} pattern
16
+ * @returns {RegExp}
17
+ */
9
18
  function primitive(pattern) {
10
- return RegExp('([\\s([])' + pattern + '(?=[\\s)])');
19
+ return RegExp(/([\s([])/.source + '(?:' + pattern + ')' + /(?=[\s)])/.source);
11
20
  }
12
21
 
13
22
  // Patterns in regular expressions
14
23
 
15
24
  // Symbol name. See https://www.gnu.org/software/emacs/manual/html_node/elisp/Symbol-Type.html
16
25
  // & and : are excluded as they are usually used for special purposes
17
- var symbol = '[-+*/_~!@$%^=<>{}\\w]+';
26
+ var symbol = /(?!\d)[-+*/~!@$%^=<>{}\w]+/.source;
18
27
  // symbol starting with & used in function arguments
19
28
  var marker = '&' + symbol;
20
29
  // Open parenthesis for look-behind
@@ -22,6 +31,7 @@
22
31
  var endpar = '(?=\\))';
23
32
  // End the pattern with look-ahead space
24
33
  var space = '(?=\\s)';
34
+ var nestedPar = /(?:[^()]|\((?:[^()]|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*\))*/.source;
25
35
 
26
36
  var language = {
27
37
  // Three or four semicolons are considered a heading.
@@ -55,38 +65,38 @@
55
65
  {
56
66
  pattern: RegExp(
57
67
  par +
58
- '(?:(?:lexical-)?let\\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)' +
68
+ '(?:and|(?:cl-)?letf|cl-loop|cond|cons|error|if|(?:lexical-)?let\\*?|message|not|null|or|provide|require|setq|unless|use-package|when|while)' +
59
69
  space
60
70
  ),
61
71
  lookbehind: true
62
72
  },
63
73
  {
64
74
  pattern: RegExp(
65
- par + '(?:for|do|collect|return|finally|append|concat|in|by)' + space
75
+ par + '(?:append|by|collect|concat|do|finally|for|in|return)' + space
66
76
  ),
67
77
  lookbehind: true
68
78
  },
69
79
  ],
70
80
  declare: {
71
- pattern: simple_form('declare'),
81
+ pattern: simple_form(/declare/.source),
72
82
  lookbehind: true,
73
83
  alias: 'keyword'
74
84
  },
75
85
  interactive: {
76
- pattern: simple_form('interactive'),
86
+ pattern: simple_form(/interactive/.source),
77
87
  lookbehind: true,
78
88
  alias: 'keyword'
79
89
  },
80
90
  boolean: {
81
- pattern: primitive('(?:t|nil)'),
91
+ pattern: primitive(/nil|t/.source),
82
92
  lookbehind: true
83
93
  },
84
94
  number: {
85
- pattern: primitive('[-+]?\\d+(?:\\.\\d*)?'),
95
+ pattern: primitive(/[-+]?\d+(?:\.\d*)?/.source),
86
96
  lookbehind: true
87
97
  },
88
98
  defvar: {
89
- pattern: RegExp(par + 'def(?:var|const|custom|group)\\s+' + symbol),
99
+ pattern: RegExp(par + 'def(?:const|custom|group|var)\\s+' + symbol),
90
100
  lookbehind: true,
91
101
  inside: {
92
102
  keyword: /^def[a-z]+/,
@@ -94,13 +104,9 @@
94
104
  }
95
105
  },
96
106
  defun: {
97
- pattern: RegExp(
98
- par +
99
- '(?:cl-)?(?:defun\\*?|defmacro)\\s+' +
100
- symbol +
101
- '\\s+\\([\\s\\S]*?\\)'
102
- ),
107
+ pattern: RegExp(par + /(?:cl-)?(?:defmacro|defun\*?)\s+/.source + symbol + /\s+\(/.source + nestedPar + /\)/.source),
103
108
  lookbehind: true,
109
+ greedy: true,
104
110
  inside: {
105
111
  keyword: /^(?:cl-)?def\S+/,
106
112
  // See below, this property needs to be defined later so that it can
@@ -114,8 +120,9 @@
114
120
  }
115
121
  },
116
122
  lambda: {
117
- pattern: RegExp(par + 'lambda\\s+\\((?:&?' + symbol + '\\s*)*\\)'),
123
+ pattern: RegExp(par + 'lambda\\s+\\(\\s*(?:&?' + symbol + '(?:\\s+&?' + symbol + ')*\\s*)?\\)'),
118
124
  lookbehind: true,
125
+ greedy: true,
119
126
  inside: {
120
127
  keyword: /^lambda/,
121
128
  // See below, this property needs to be defined later so that it can
@@ -141,37 +148,30 @@
141
148
 
142
149
  var arg = {
143
150
  'lisp-marker': RegExp(marker),
144
- rest: {
145
- argument: {
146
- pattern: RegExp(symbol),
147
- alias: 'variable'
148
- },
149
- varform: {
150
- pattern: RegExp(par + symbol + '\\s+\\S[\\s\\S]*' + endpar),
151
- lookbehind: true,
152
- inside: {
153
- string: language.string,
154
- boolean: language.boolean,
155
- number: language.number,
156
- symbol: language.symbol,
157
- punctuation: /[()]/
158
- }
159
- }
160
- }
151
+ 'varform': {
152
+ pattern: RegExp(/\(/.source + symbol + /\s+(?=\S)/.source + nestedPar + /\)/.source),
153
+ inside: language
154
+ },
155
+ 'argument': {
156
+ pattern: RegExp(/(^|[\s(])/.source + symbol),
157
+ lookbehind: true,
158
+ alias: 'variable'
159
+ },
160
+ rest: language
161
161
  };
162
162
 
163
163
  var forms = '\\S+(?:\\s+\\S+)*';
164
164
 
165
165
  var arglist = {
166
- pattern: RegExp(par + '[\\s\\S]*' + endpar),
166
+ pattern: RegExp(par + nestedPar + endpar),
167
167
  lookbehind: true,
168
168
  inside: {
169
169
  'rest-vars': {
170
- pattern: RegExp('&(?:rest|body)\\s+' + forms),
170
+ pattern: RegExp('&(?:body|rest)\\s+' + forms),
171
171
  inside: arg
172
172
  },
173
173
  'other-marker-vars': {
174
- pattern: RegExp('&(?:optional|aux)\\s+' + forms),
174
+ pattern: RegExp('&(?:aux|optional)\\s+' + forms),
175
175
  inside: arg
176
176
  },
177
177
  keys: {
@@ -47,7 +47,7 @@ Prism.languages.livescript = {
47
47
  ],
48
48
  'regex': [
49
49
  {
50
- pattern: /\/\/(?:\[.+?]|\\.|(?!\/\/)[^\\])+\/\/[gimyu]{0,5}/,
50
+ pattern: /\/\/(?:\[[^\r\n\]]*\]|\\.|(?!\/\/)[^\\\[])+\/\/[gimyu]{0,5}/,
51
51
  greedy: true,
52
52
  inside: {
53
53
  'comment': {
@@ -57,7 +57,7 @@ Prism.languages.livescript = {
57
57
  }
58
58
  },
59
59
  {
60
- pattern: /\/(?:\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}/,
60
+ pattern: /\/(?:\[[^\r\n\]]*\]|\\.|[^/\\\r\n\[])+\/[gimyu]{0,5}/,
61
61
  greedy: true
62
62
  }
63
63
  ],
@@ -66,7 +66,7 @@ Prism.languages.livescript = {
66
66
  lookbehind: true
67
67
  },
68
68
  'keyword-operator': {
69
- pattern: /(^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m,
69
+ pattern: /(^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?: not|nt)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m,
70
70
  lookbehind: true,
71
71
  alias: 'operator'
72
72
  },
@@ -0,0 +1,19 @@
1
+ (function (Prism) {
2
+ Prism.languages.llvm = {
3
+ 'comment': /;.*/,
4
+ 'string': {
5
+ pattern: /"[^"]*"/,
6
+ greedy: true,
7
+ },
8
+ 'boolean': /\b(?:false|true)\b/,
9
+ 'variable': /[%@!#](?:(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+|\d+)/i,
10
+ 'label': /(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,
11
+ 'type': {
12
+ pattern: /\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/,
13
+ alias: 'class-name',
14
+ },
15
+ 'keyword': /\b[a-z_][a-z_0-9]*\b/,
16
+ 'number': /[+-]?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[ML][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/,
17
+ 'punctuation': /[{}[\];(),.!*=<>]/,
18
+ };
19
+ }(Prism));
@@ -0,0 +1,120 @@
1
+ // This is a language definition for generic log files.
2
+ // Since there is no one log format, this language definition has to support all formats to some degree.
3
+ //
4
+ // Based on https://github.com/MTDL9/vim-log-highlighting
5
+
6
+ Prism.languages.log = {
7
+ 'string': {
8
+ // Single-quoted strings must not be confused with plain text. E.g. Can't isn't Susan's Chris' toy
9
+ pattern: /"(?:[^"\\\r\n]|\\.)*"|'(?![st] | \w)(?:[^'\\\r\n]|\\.)*'/,
10
+ greedy: true,
11
+ },
12
+
13
+ 'exception': {
14
+ pattern: /(^|[^\w.])[a-z][\w.]*(?:Error|Exception):.*(?:(?:\r\n?|\n)[ \t]*(?:at[ \t].+|\.{3}.*|Caused by:.*))+(?:(?:\r\n?|\n)[ \t]*\.\.\. .*)?/,
15
+ lookbehind: true,
16
+ greedy: true,
17
+ alias: ['javastacktrace', 'language-javastacktrace'],
18
+ inside: Prism.languages['javastacktrace'] || {
19
+ 'keyword': /\bat\b/,
20
+ 'function': /[a-z_][\w$]*(?=\()/,
21
+ 'punctuation': /[.:()]/
22
+ }
23
+ },
24
+
25
+ 'level': [
26
+ {
27
+ pattern: /\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\b/,
28
+ alias: ['error', 'important']
29
+ },
30
+ {
31
+ pattern: /\b(?:WARN|WARNING|WRN)\b/,
32
+ alias: ['warning', 'important']
33
+ },
34
+ {
35
+ pattern: /\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\b/,
36
+ alias: ['info', 'keyword']
37
+ },
38
+ {
39
+ pattern: /\b(?:DBG|DEBUG|FINE)\b/,
40
+ alias: ['debug', 'keyword']
41
+ },
42
+ {
43
+ pattern: /\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\b/,
44
+ alias: ['trace', 'comment']
45
+ }
46
+ ],
47
+
48
+ 'property': {
49
+ pattern: /((?:^|[\]|])[ \t]*)[a-z_](?:[\w-]|\b\/\b)*(?:[. ]\(?\w(?:[\w-]|\b\/\b)*\)?)*:(?=\s)/im,
50
+ lookbehind: true
51
+ },
52
+
53
+ 'separator': {
54
+ pattern: /(^|[^-+])-{3,}|={3,}|\*{3,}|- - /m,
55
+ lookbehind: true,
56
+ alias: 'comment'
57
+ },
58
+
59
+ 'url': /\b(?:file|ftp|https?):\/\/[^\s|,;'"]*[^\s|,;'">.]/,
60
+ 'email': {
61
+ pattern: /(^|\s)[-\w+.]+@[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)+(?=\s)/,
62
+ lookbehind: true,
63
+ alias: 'url'
64
+ },
65
+
66
+ 'ip-address': {
67
+ pattern: /\b(?:\d{1,3}(?:\.\d{1,3}){3})\b/,
68
+ alias: 'constant'
69
+ },
70
+ 'mac-address': {
71
+ pattern: /\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\b/i,
72
+ alias: 'constant'
73
+ },
74
+ 'domain': {
75
+ pattern: /(^|\s)[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)*\.[a-z][a-z0-9-]+(?=\s)/,
76
+ lookbehind: true,
77
+ alias: 'constant'
78
+ },
79
+
80
+ 'uuid': {
81
+ pattern: /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/i,
82
+ alias: 'constant'
83
+ },
84
+ 'hash': {
85
+ pattern: /\b(?:[a-f0-9]{32}){1,2}\b/i,
86
+ alias: 'constant'
87
+ },
88
+
89
+ 'file-path': {
90
+ pattern: /\b[a-z]:[\\/][^\s|,;:(){}\[\]"']+|(^|[\s:\[\](>|])\.{0,2}\/\w[^\s|,;:(){}\[\]"']*/i,
91
+ lookbehind: true,
92
+ greedy: true,
93
+ alias: 'string'
94
+ },
95
+
96
+ 'date': {
97
+ pattern: RegExp(
98
+ /\b\d{4}[-/]\d{2}[-/]\d{2}(?:T(?=\d{1,2}:)|(?=\s\d{1,2}:))/.source +
99
+ '|' +
100
+ /\b\d{1,4}[-/ ](?:\d{1,2}|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)[-/ ]\d{2,4}T?\b/.source +
101
+ '|' +
102
+ /\b(?:(?:Fri|Mon|Sat|Sun|Thu|Tue|Wed)(?:\s{1,2}(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep))?|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)\s{1,2}\d{1,2}\b/.source,
103
+ 'i'
104
+ ),
105
+ alias: 'number'
106
+ },
107
+ 'time': {
108
+ pattern: /\b\d{1,2}:\d{1,2}:\d{1,2}(?:[.,:]\d+)?(?:\s?[+-]\d{2}:?\d{2}|Z)?\b/,
109
+ alias: 'number'
110
+ },
111
+
112
+ 'boolean': /\b(?:false|null|true)\b/i,
113
+ 'number': {
114
+ pattern: /(^|[^.\w])(?:0x[a-f0-9]+|0o[0-7]+|0b[01]+|v?\d[\da-f]*(?:\.\d+)*(?:e[+-]?\d+)?[a-z]{0,3}\b)\b(?!\.\w)/i,
115
+ lookbehind: true
116
+ },
117
+
118
+ 'operator': /[;:?<=>~/@!$%&+\-|^(){}*#]/,
119
+ 'punctuation': /[\[\].,]/
120
+ };