prism-rails 1.6.0.3 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (341) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +3 -0
  3. data/README.md +88 -44
  4. data/lib/prism-rails/version.rb +1 -1
  5. data/vendor/assets/javascripts/languages/index.js +82 -0
  6. data/vendor/assets/javascripts/{prism → languages}/prism-abap.js +2 -2
  7. data/vendor/assets/javascripts/languages/prism-abnf.js +54 -0
  8. data/vendor/assets/javascripts/{prism → languages}/prism-actionscript.js +3 -5
  9. data/vendor/assets/javascripts/{prism → languages}/prism-ada.js +2 -2
  10. data/vendor/assets/javascripts/languages/prism-antlr4.js +65 -0
  11. data/vendor/assets/javascripts/languages/prism-apacheconf.js +47 -0
  12. data/vendor/assets/javascripts/{prism → languages}/prism-apl.js +8 -5
  13. data/vendor/assets/javascripts/{prism → languages}/prism-applescript.js +3 -3
  14. data/vendor/assets/javascripts/languages/prism-aql.js +41 -0
  15. data/vendor/assets/javascripts/languages/prism-arduino.js +5 -0
  16. data/vendor/assets/javascripts/languages/prism-arff.js +10 -0
  17. data/vendor/assets/javascripts/{prism → languages}/prism-asciidoc.js +23 -60
  18. data/vendor/assets/javascripts/languages/prism-asm6502.js +28 -0
  19. data/vendor/assets/javascripts/{prism → languages}/prism-aspnet.js +22 -10
  20. data/vendor/assets/javascripts/languages/prism-autohotkey.js +27 -0
  21. data/vendor/assets/javascripts/{prism → languages}/prism-autoit.js +1 -0
  22. data/vendor/assets/javascripts/languages/prism-bash.js +197 -0
  23. data/vendor/assets/javascripts/{prism → languages}/prism-basic.js +5 -2
  24. data/vendor/assets/javascripts/{prism → languages}/prism-batch.js +0 -0
  25. data/vendor/assets/javascripts/languages/prism-bbcode.js +27 -0
  26. data/vendor/assets/javascripts/{prism → languages}/prism-bison.js +0 -0
  27. data/vendor/assets/javascripts/languages/prism-bnf.js +21 -0
  28. data/vendor/assets/javascripts/{prism → languages}/prism-brainfuck.js +0 -0
  29. data/vendor/assets/javascripts/languages/prism-brightscript.js +44 -0
  30. data/vendor/assets/javascripts/languages/prism-bro.js +48 -0
  31. data/vendor/assets/javascripts/languages/prism-c.js +41 -0
  32. data/vendor/assets/javascripts/languages/prism-cil.js +27 -0
  33. data/vendor/assets/javascripts/languages/prism-clike.js +30 -0
  34. data/vendor/assets/javascripts/languages/prism-clojure.js +16 -0
  35. data/vendor/assets/javascripts/languages/prism-cmake.js +29 -0
  36. data/vendor/assets/javascripts/{prism → languages}/prism-coffeescript.js +6 -5
  37. data/vendor/assets/javascripts/languages/prism-concurnas.js +48 -0
  38. data/vendor/assets/javascripts/languages/prism-core.js +627 -0
  39. data/vendor/assets/javascripts/languages/prism-cpp.js +21 -0
  40. data/vendor/assets/javascripts/{prism → languages}/prism-crystal.js +5 -7
  41. data/vendor/assets/javascripts/languages/prism-csharp.js +81 -0
  42. data/vendor/assets/javascripts/languages/prism-csp.js +25 -0
  43. data/vendor/assets/javascripts/languages/prism-css-extras.js +109 -0
  44. data/vendor/assets/javascripts/languages/prism-css.js +62 -0
  45. data/vendor/assets/javascripts/{prism → languages}/prism-d.js +49 -34
  46. data/vendor/assets/javascripts/{prism → languages}/prism-dart.js +8 -2
  47. data/vendor/assets/javascripts/languages/prism-diff.js +54 -0
  48. data/vendor/assets/javascripts/languages/prism-django.js +60 -0
  49. data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +33 -0
  50. data/vendor/assets/javascripts/languages/prism-docker.js +11 -0
  51. data/vendor/assets/javascripts/languages/prism-ebnf.js +22 -0
  52. data/vendor/assets/javascripts/{prism → languages}/prism-eiffel.js +20 -7
  53. data/vendor/assets/javascripts/languages/prism-ejs.js +24 -0
  54. data/vendor/assets/javascripts/{prism → languages}/prism-elixir.js +14 -15
  55. data/vendor/assets/javascripts/languages/prism-elm.js +44 -0
  56. data/vendor/assets/javascripts/languages/prism-erb.js +20 -0
  57. data/vendor/assets/javascripts/{prism → languages}/prism-erlang.js +7 -4
  58. data/vendor/assets/javascripts/languages/prism-etlua.js +23 -0
  59. data/vendor/assets/javascripts/languages/prism-factor.js +403 -0
  60. data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +35 -0
  61. data/vendor/assets/javascripts/languages/prism-flow.js +35 -0
  62. data/vendor/assets/javascripts/{prism → languages}/prism-fortran.js +5 -2
  63. data/vendor/assets/javascripts/languages/prism-fsharp.js +67 -0
  64. data/vendor/assets/javascripts/languages/prism-ftl.js +97 -0
  65. data/vendor/assets/javascripts/languages/prism-gcode.js +15 -0
  66. data/vendor/assets/javascripts/languages/prism-gdscript.js +27 -0
  67. data/vendor/assets/javascripts/languages/prism-gedcom.js +28 -0
  68. data/vendor/assets/javascripts/languages/prism-gherkin.js +85 -0
  69. data/vendor/assets/javascripts/{prism → languages}/prism-git.js +2 -2
  70. data/vendor/assets/javascripts/{prism → languages}/prism-glsl.js +3 -3
  71. data/vendor/assets/javascripts/languages/prism-gml.js +7 -0
  72. data/vendor/assets/javascripts/languages/prism-go.js +12 -0
  73. data/vendor/assets/javascripts/languages/prism-graphql.js +31 -0
  74. data/vendor/assets/javascripts/{prism → languages}/prism-groovy.js +12 -10
  75. data/vendor/assets/javascripts/{prism → languages}/prism-haml.js +14 -26
  76. data/vendor/assets/javascripts/languages/prism-handlebars.js +37 -0
  77. data/vendor/assets/javascripts/languages/prism-haskell.js +38 -0
  78. data/vendor/assets/javascripts/{prism → languages}/prism-haxe.js +4 -2
  79. data/vendor/assets/javascripts/languages/prism-hcl.js +65 -0
  80. data/vendor/assets/javascripts/languages/prism-hpkp.js +20 -0
  81. data/vendor/assets/javascripts/languages/prism-hsts.js +20 -0
  82. data/vendor/assets/javascripts/languages/prism-http.js +77 -0
  83. data/vendor/assets/javascripts/languages/prism-ichigojam.js +15 -0
  84. data/vendor/assets/javascripts/{prism → languages}/prism-icon.js +4 -1
  85. data/vendor/assets/javascripts/{prism → languages}/prism-inform7.js +6 -3
  86. data/vendor/assets/javascripts/{prism → languages}/prism-ini.js +2 -2
  87. data/vendor/assets/javascripts/languages/prism-io.js +31 -0
  88. data/vendor/assets/javascripts/{prism → languages}/prism-j.js +5 -2
  89. data/vendor/assets/javascripts/{prism → languages}/prism-jade.js +0 -0
  90. data/vendor/assets/javascripts/languages/prism-java.js +63 -0
  91. data/vendor/assets/javascripts/languages/prism-javadoc.js +54 -0
  92. data/vendor/assets/javascripts/languages/prism-javadoclike.js +87 -0
  93. data/vendor/assets/javascripts/languages/prism-javascript.js +91 -0
  94. data/vendor/assets/javascripts/languages/prism-javastacktrace.js +93 -0
  95. data/vendor/assets/javascripts/{prism → languages}/prism-jolie.js +9 -10
  96. data/vendor/assets/javascripts/languages/prism-jq.js +67 -0
  97. data/vendor/assets/javascripts/languages/prism-js-extras.js +104 -0
  98. data/vendor/assets/javascripts/languages/prism-js-templates.js +346 -0
  99. data/vendor/assets/javascripts/languages/prism-jsdoc.js +73 -0
  100. data/vendor/assets/javascripts/languages/prism-json.js +19 -0
  101. data/vendor/assets/javascripts/languages/prism-json5.js +23 -0
  102. data/vendor/assets/javascripts/languages/prism-jsonp.js +7 -0
  103. data/vendor/assets/javascripts/languages/prism-jsx.js +126 -0
  104. data/vendor/assets/javascripts/languages/prism-julia.js +13 -0
  105. data/vendor/assets/javascripts/languages/prism-keyman.js +14 -0
  106. data/vendor/assets/javascripts/{prism → languages}/prism-kotlin.js +6 -6
  107. data/vendor/assets/javascripts/{prism → languages}/prism-latex.js +16 -13
  108. data/vendor/assets/javascripts/languages/prism-latte.js +69 -0
  109. data/vendor/assets/javascripts/{prism → languages}/prism-less.js +3 -9
  110. data/vendor/assets/javascripts/languages/prism-lilypond.js +69 -0
  111. data/vendor/assets/javascripts/languages/prism-liquid.js +12 -0
  112. data/vendor/assets/javascripts/languages/prism-lisp.js +197 -0
  113. data/vendor/assets/javascripts/{prism → languages}/prism-livescript.js +19 -18
  114. data/vendor/assets/javascripts/{prism → languages}/prism-lolcode.js +3 -2
  115. data/vendor/assets/javascripts/{prism → languages}/prism-lua.js +0 -0
  116. data/vendor/assets/javascripts/{prism → languages}/prism-makefile.js +5 -2
  117. data/vendor/assets/javascripts/languages/prism-markdown.js +344 -0
  118. data/vendor/assets/javascripts/languages/prism-markup-templating.js +123 -0
  119. data/vendor/assets/javascripts/languages/prism-markup.js +103 -0
  120. data/vendor/assets/javascripts/{prism → languages}/prism-matlab.js +5 -3
  121. data/vendor/assets/javascripts/{prism → languages}/prism-mel.js +7 -3
  122. data/vendor/assets/javascripts/{prism → languages}/prism-mizar.js +0 -0
  123. data/vendor/assets/javascripts/{prism → languages}/prism-monkey.js +9 -3
  124. data/vendor/assets/javascripts/languages/prism-moonscript.js +57 -0
  125. data/vendor/assets/javascripts/languages/prism-n1ql.js +18 -0
  126. data/vendor/assets/javascripts/languages/prism-n4js.js +14 -0
  127. data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +9 -0
  128. data/vendor/assets/javascripts/languages/prism-nasm.js +24 -0
  129. data/vendor/assets/javascripts/languages/prism-neon.js +41 -0
  130. data/vendor/assets/javascripts/languages/prism-nginx.js +11 -0
  131. data/vendor/assets/javascripts/{prism → languages}/prism-nim.js +4 -1
  132. data/vendor/assets/javascripts/{prism → languages}/prism-nix.js +2 -1
  133. data/vendor/assets/javascripts/languages/prism-nsis.js +29 -0
  134. data/vendor/assets/javascripts/languages/prism-objectivec.js +7 -0
  135. data/vendor/assets/javascripts/languages/prism-ocaml.js +41 -0
  136. data/vendor/assets/javascripts/languages/prism-opencl.js +54 -0
  137. data/vendor/assets/javascripts/{prism → languages}/prism-oz.js +6 -2
  138. data/vendor/assets/javascripts/{prism → languages}/prism-parigp.js +4 -1
  139. data/vendor/assets/javascripts/languages/prism-parser.js +73 -0
  140. data/vendor/assets/javascripts/{prism → languages}/prism-pascal.js +9 -4
  141. data/vendor/assets/javascripts/languages/prism-pascaligo.js +62 -0
  142. data/vendor/assets/javascripts/languages/prism-pcaxis.js +53 -0
  143. data/vendor/assets/javascripts/languages/prism-perl.js +191 -0
  144. data/vendor/assets/javascripts/{prism → languages}/prism-php-extras.js +3 -3
  145. data/vendor/assets/javascripts/languages/prism-php.js +130 -0
  146. data/vendor/assets/javascripts/languages/prism-phpdoc.js +27 -0
  147. data/vendor/assets/javascripts/languages/prism-plsql.js +26 -0
  148. data/vendor/assets/javascripts/languages/prism-powershell.js +60 -0
  149. data/vendor/assets/javascripts/{prism → languages}/prism-processing.js +2 -2
  150. data/vendor/assets/javascripts/{prism → languages}/prism-prolog.js +4 -1
  151. data/vendor/assets/javascripts/{prism → languages}/prism-properties.js +2 -2
  152. data/vendor/assets/javascripts/languages/prism-protobuf.js +36 -0
  153. data/vendor/assets/javascripts/languages/prism-pug.js +181 -0
  154. data/vendor/assets/javascripts/{prism → languages}/prism-puppet.js +7 -2
  155. data/vendor/assets/javascripts/{prism → languages}/prism-pure.js +19 -17
  156. data/vendor/assets/javascripts/languages/prism-python.js +64 -0
  157. data/vendor/assets/javascripts/{prism → languages}/prism-q.js +13 -6
  158. data/vendor/assets/javascripts/languages/prism-qml.js +58 -0
  159. data/vendor/assets/javascripts/{prism → languages}/prism-qore.js +7 -4
  160. data/vendor/assets/javascripts/{prism → languages}/prism-r.js +5 -2
  161. data/vendor/assets/javascripts/{prism → languages}/prism-reason.js +4 -8
  162. data/vendor/assets/javascripts/languages/prism-regex.js +97 -0
  163. data/vendor/assets/javascripts/languages/prism-renpy.js +29 -0
  164. data/vendor/assets/javascripts/{prism → languages}/prism-rest.js +4 -4
  165. data/vendor/assets/javascripts/{prism → languages}/prism-rip.js +7 -3
  166. data/vendor/assets/javascripts/{prism → languages}/prism-roboconf.js +0 -0
  167. data/vendor/assets/javascripts/languages/prism-robotframework.js +104 -0
  168. data/vendor/assets/javascripts/{prism → languages}/prism-ruby.js +49 -15
  169. data/vendor/assets/javascripts/languages/prism-rust.js +68 -0
  170. data/vendor/assets/javascripts/languages/prism-sas.js +302 -0
  171. data/vendor/assets/javascripts/{prism → languages}/prism-sass.js +1 -2
  172. data/vendor/assets/javascripts/{prism → languages}/prism-scala.js +10 -11
  173. data/vendor/assets/javascripts/languages/prism-scheme.js +33 -0
  174. data/vendor/assets/javascripts/{prism → languages}/prism-scss.js +18 -16
  175. data/vendor/assets/javascripts/languages/prism-shell-session.js +54 -0
  176. data/vendor/assets/javascripts/{prism → languages}/prism-smalltalk.js +9 -9
  177. data/vendor/assets/javascripts/languages/prism-smarty.js +87 -0
  178. data/vendor/assets/javascripts/languages/prism-solidity.js +20 -0
  179. data/vendor/assets/javascripts/languages/prism-solution-file.js +51 -0
  180. data/vendor/assets/javascripts/languages/prism-soy.js +96 -0
  181. data/vendor/assets/javascripts/languages/prism-sparql.js +18 -0
  182. data/vendor/assets/javascripts/languages/prism-splunk-spl.js +24 -0
  183. data/vendor/assets/javascripts/languages/prism-sqf.js +34 -0
  184. data/vendor/assets/javascripts/languages/prism-sql.js +24 -0
  185. data/vendor/assets/javascripts/{prism → languages}/prism-stylus.js +16 -7
  186. data/vendor/assets/javascripts/languages/prism-swift.js +25 -0
  187. data/vendor/assets/javascripts/languages/prism-t4-cs.js +1 -0
  188. data/vendor/assets/javascripts/languages/prism-t4-templating.js +49 -0
  189. data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -0
  190. data/vendor/assets/javascripts/languages/prism-tap.js +20 -0
  191. data/vendor/assets/javascripts/languages/prism-tcl.js +46 -0
  192. data/vendor/assets/javascripts/{prism → languages}/prism-textile.js +35 -32
  193. data/vendor/assets/javascripts/languages/prism-toml.js +43 -0
  194. data/vendor/assets/javascripts/languages/prism-tsx.js +2 -0
  195. data/vendor/assets/javascripts/languages/prism-tt2.js +53 -0
  196. data/vendor/assets/javascripts/languages/prism-turtle.js +54 -0
  197. data/vendor/assets/javascripts/{prism → languages}/prism-twig.js +8 -8
  198. data/vendor/assets/javascripts/languages/prism-typescript.js +7 -0
  199. data/vendor/assets/javascripts/languages/prism-vala.js +74 -0
  200. data/vendor/assets/javascripts/languages/prism-vbnet.js +15 -0
  201. data/vendor/assets/javascripts/languages/prism-velocity.js +72 -0
  202. data/vendor/assets/javascripts/languages/prism-verilog.js +20 -0
  203. data/vendor/assets/javascripts/{prism → languages}/prism-vhdl.js +2 -2
  204. data/vendor/assets/javascripts/{prism → languages}/prism-vim.js +1 -1
  205. data/vendor/assets/javascripts/languages/prism-visual-basic.js +34 -0
  206. data/vendor/assets/javascripts/languages/prism-wasm.js +31 -0
  207. data/vendor/assets/javascripts/{prism → languages}/prism-wiki.js +7 -6
  208. data/vendor/assets/javascripts/languages/prism-xeora.js +114 -0
  209. data/vendor/assets/javascripts/{prism → languages}/prism-xojo.js +1 -1
  210. data/vendor/assets/javascripts/languages/prism-xquery.js +162 -0
  211. data/vendor/assets/javascripts/languages/prism-yaml.js +76 -0
  212. data/vendor/assets/javascripts/languages/prism-zig.js +97 -0
  213. data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +13 -8
  214. data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +306 -95
  215. data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +96 -38
  216. data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +10 -10
  217. data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +89 -23
  218. data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +2 -2
  219. data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +83 -0
  220. data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +19 -0
  221. data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +53 -41
  222. data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +125 -0
  223. data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +88 -0
  224. data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +124 -69
  225. data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +4 -2
  226. data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +195 -115
  227. data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +154 -43
  228. data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +184 -0
  229. data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +29 -11
  230. data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +703 -0
  231. data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +2 -2
  232. data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +83 -18
  233. data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +190 -19
  234. data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +53 -8
  235. data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +11 -7
  236. data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +12 -12
  237. data/vendor/assets/javascripts/prism.js +210 -127
  238. data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.css +13 -0
  239. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +9 -0
  240. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +5 -0
  241. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +4 -3
  242. data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.css +29 -0
  243. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +242 -0
  244. data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.css +7 -6
  245. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +21 -15
  246. data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.css +4 -4
  247. data/vendor/assets/stylesheets/prism-theme/prism-a11y-dark.css +161 -0
  248. data/vendor/assets/stylesheets/{prism-atom-dark.css → prism-theme/prism-atom-dark.css} +10 -13
  249. data/vendor/assets/stylesheets/prism-theme/prism-autolinker.css +3 -0
  250. data/vendor/assets/stylesheets/{prism-base16-ateliersulphurpool.light.css → prism-theme/prism-base16-ateliersulphurpool.light.css} +57 -53
  251. data/vendor/assets/stylesheets/{prism-cb.css → prism-theme/prism-cb.css} +27 -27
  252. data/vendor/assets/stylesheets/prism-theme/prism-command-line.css +33 -0
  253. data/vendor/assets/stylesheets/{prism-coy.css → prism-theme/prism-coy.css} +14 -9
  254. data/vendor/assets/stylesheets/prism-theme/prism-darcula.css +159 -0
  255. data/vendor/assets/stylesheets/{prism-dark.css → prism-theme/prism-dark.css} +2 -1
  256. data/vendor/assets/stylesheets/prism-theme/prism-dracula.css +122 -0
  257. data/vendor/assets/stylesheets/{prism-duotone-dark.css → prism-theme/prism-duotone-dark.css} +55 -51
  258. data/vendor/assets/stylesheets/{prism-duotone-earth.css → prism-theme/prism-duotone-earth.css} +55 -51
  259. data/vendor/assets/stylesheets/{prism-duotone-forest.css → prism-theme/prism-duotone-forest.css} +55 -51
  260. data/vendor/assets/stylesheets/{prism-duotone-light.css → prism-theme/prism-duotone-light.css} +55 -51
  261. data/vendor/assets/stylesheets/{prism-duotone-sea.css → prism-theme/prism-duotone-sea.css} +55 -51
  262. data/vendor/assets/stylesheets/{prism-duotone-space.css → prism-theme/prism-duotone-space.css} +55 -51
  263. data/vendor/assets/stylesheets/{prism-funky.css → prism-theme/prism-funky.css} +16 -2
  264. data/vendor/assets/stylesheets/{prism-ghcolors.css → prism-theme/prism-ghcolors.css} +47 -44
  265. data/vendor/assets/stylesheets/prism-theme/prism-hopscotch.css +132 -0
  266. data/vendor/assets/stylesheets/prism-theme/prism-line-highlight.css +49 -0
  267. data/vendor/assets/stylesheets/prism-theme/prism-line-numbers.css +41 -0
  268. data/vendor/assets/stylesheets/prism-theme/prism-material-dark.css +205 -0
  269. data/vendor/assets/stylesheets/prism-theme/prism-material-light.css +207 -0
  270. data/vendor/assets/stylesheets/prism-theme/prism-material-oceanic.css +210 -0
  271. data/vendor/assets/stylesheets/prism-theme/prism-nord.css +124 -0
  272. data/vendor/assets/stylesheets/{prism-okaidia.css → prism-theme/prism-okaidia.css} +4 -2
  273. data/vendor/assets/stylesheets/prism-theme/prism-pojoaque.css +151 -0
  274. data/vendor/assets/stylesheets/prism-theme/prism-previewers.css +242 -0
  275. data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +200 -0
  276. data/vendor/assets/stylesheets/prism-theme/prism-show-invisibles.css +34 -0
  277. data/vendor/assets/stylesheets/{prism-show-language.css → prism-theme/prism-show-language.css} +0 -0
  278. data/vendor/assets/stylesheets/{prism-solarizedlight.css → prism-theme/prism-solarizedlight.css} +5 -3
  279. data/vendor/assets/stylesheets/prism-theme/prism-synthwave84.css +140 -0
  280. data/vendor/assets/stylesheets/{prism-tomorrow.css → prism-theme/prism-tomorrow.css} +1 -0
  281. data/vendor/assets/stylesheets/{prism-toolbar.css → prism-theme/prism-toolbar.css} +15 -15
  282. data/vendor/assets/stylesheets/{prism-twilight.css → prism-theme/prism-twilight.css} +2 -1
  283. data/vendor/assets/stylesheets/prism-theme/prism-unescaped-markup.css +10 -0
  284. data/vendor/assets/stylesheets/{prism-vs.css → prism-theme/prism-vs.css} +62 -55
  285. data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +216 -0
  286. data/vendor/assets/stylesheets/prism-theme/prism-wpd.css +11 -0
  287. data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +189 -0
  288. data/vendor/assets/stylesheets/prism.css +5 -3
  289. metadata +262 -148
  290. data/vendor/assets/javascripts/prism/prism-apacheconf.js +0 -47
  291. data/vendor/assets/javascripts/prism/prism-autohotkey.js +0 -27
  292. data/vendor/assets/javascripts/prism/prism-bash.js +0 -80
  293. data/vendor/assets/javascripts/prism/prism-bro.js +0 -50
  294. data/vendor/assets/javascripts/prism/prism-c.js +0 -33
  295. data/vendor/assets/javascripts/prism/prism-clike.js +0 -29
  296. data/vendor/assets/javascripts/prism/prism-core.js +0 -511
  297. data/vendor/assets/javascripts/prism/prism-cpp.js +0 -12
  298. data/vendor/assets/javascripts/prism/prism-csharp.js +0 -32
  299. data/vendor/assets/javascripts/prism/prism-css-extras.js +0 -16
  300. data/vendor/assets/javascripts/prism/prism-css.js +0 -51
  301. data/vendor/assets/javascripts/prism/prism-diff.js +0 -20
  302. data/vendor/assets/javascripts/prism/prism-docker.js +0 -9
  303. data/vendor/assets/javascripts/prism/prism-fsharp.js +0 -33
  304. data/vendor/assets/javascripts/prism/prism-gherkin.js +0 -78
  305. data/vendor/assets/javascripts/prism/prism-go.js +0 -9
  306. data/vendor/assets/javascripts/prism/prism-graphql.js +0 -24
  307. data/vendor/assets/javascripts/prism/prism-handlebars.js +0 -83
  308. data/vendor/assets/javascripts/prism/prism-haskell.js +0 -35
  309. data/vendor/assets/javascripts/prism/prism-http.js +0 -50
  310. data/vendor/assets/javascripts/prism/prism-java.js +0 -16
  311. data/vendor/assets/javascripts/prism/prism-javascript.js +0 -48
  312. data/vendor/assets/javascripts/prism/prism-json.js +0 -11
  313. data/vendor/assets/javascripts/prism/prism-jsx.js +0 -27
  314. data/vendor/assets/javascripts/prism/prism-julia.js +0 -12
  315. data/vendor/assets/javascripts/prism/prism-keyman.js +0 -14
  316. data/vendor/assets/javascripts/prism/prism-markdown.js +0 -120
  317. data/vendor/assets/javascripts/prism/prism-markup.js +0 -46
  318. data/vendor/assets/javascripts/prism/prism-nasm.js +0 -24
  319. data/vendor/assets/javascripts/prism/prism-nginx.js +0 -11
  320. data/vendor/assets/javascripts/prism/prism-nsis.js +0 -26
  321. data/vendor/assets/javascripts/prism/prism-objectivec.js +0 -5
  322. data/vendor/assets/javascripts/prism/prism-ocaml.js +0 -21
  323. data/vendor/assets/javascripts/prism/prism-parser.js +0 -66
  324. data/vendor/assets/javascripts/prism/prism-perl.js +0 -140
  325. data/vendor/assets/javascripts/prism/prism-php.js +0 -111
  326. data/vendor/assets/javascripts/prism/prism-powershell.js +0 -52
  327. data/vendor/assets/javascripts/prism/prism-protobuf.js +0 -8
  328. data/vendor/assets/javascripts/prism/prism-python.js +0 -27
  329. data/vendor/assets/javascripts/prism/prism-rust.js +0 -53
  330. data/vendor/assets/javascripts/prism/prism-sas.js +0 -31
  331. data/vendor/assets/javascripts/prism/prism-scheme.js +0 -26
  332. data/vendor/assets/javascripts/prism/prism-smarty.js +0 -127
  333. data/vendor/assets/javascripts/prism/prism-sql.js +0 -17
  334. data/vendor/assets/javascripts/prism/prism-swift.js +0 -25
  335. data/vendor/assets/javascripts/prism/prism-tcl.js +0 -43
  336. data/vendor/assets/javascripts/prism/prism-typescript.js +0 -5
  337. data/vendor/assets/javascripts/prism/prism-verilog.js +0 -17
  338. data/vendor/assets/javascripts/prism/prism-yaml.js +0 -44
  339. data/vendor/assets/stylesheets/prism-hopscotch.css +0 -124
  340. data/vendor/assets/stylesheets/prism-pojoaque.css +0 -134
  341. data/vendor/assets/stylesheets/prism-xonokai.css +0 -164
@@ -20,7 +20,7 @@
20
20
  delete Prism.languages.sass.atrule;
21
21
 
22
22
 
23
- var variable = /((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i;
23
+ var variable = /\$[-\w]+|#\{\$[-\w]+\}/;
24
24
  var operator = [
25
25
  /[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/,
26
26
  {
@@ -62,7 +62,6 @@
62
62
 
63
63
  // Now that whole lines for other patterns are consumed,
64
64
  // what's left should be selectors
65
- delete Prism.languages.sass.selector;
66
65
  Prism.languages.insertBefore('sass', 'punctuation', {
67
66
  'selector': {
68
67
  pattern: /([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/,
@@ -1,17 +1,16 @@
1
1
  Prism.languages.scala = Prism.languages.extend('java', {
2
2
  'keyword': /<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,
3
- 'string': [
4
- {
5
- pattern: /"""[\W\w]*?"""/,
6
- greedy: true
7
- },
8
- {
9
- pattern: /("|')(?:\\\\|\\?[^\\\r\n])*?\1/,
10
- greedy: true
11
- },
12
- ],
3
+ 'triple-quoted-string': {
4
+ pattern: /"""[\s\S]*?"""/,
5
+ greedy: true,
6
+ alias: 'string'
7
+ },
8
+ 'string': {
9
+ pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
10
+ greedy: true
11
+ },
13
12
  'builtin': /\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/,
14
- 'number': /\b(?:0x[\da-f]*\.?[\da-f]+|\d*\.?\d+e?\d*[dfl]?)\b/i,
13
+ 'number': /\b0x[\da-f]*\.?[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e\d+)?[dfl]?/i,
15
14
  'symbol': /'[^\d\s\\]\w*/
16
15
  });
17
16
  delete Prism.languages.scala['class-name'];
@@ -0,0 +1,33 @@
1
+ Prism.languages.scheme = {
2
+ 'comment': /;.*/,
3
+ 'string': {
4
+ pattern: /"(?:[^"\\]|\\.)*"|'[^()#'\s]+/,
5
+ greedy: true
6
+ },
7
+ 'character': {
8
+ pattern: /#\\(?:[ux][a-fA-F\d]+|[a-zA-Z]+|\S)/,
9
+ alias: 'string'
10
+ },
11
+ 'keyword': {
12
+ pattern: /(\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)(?=[()\s])/,
13
+ lookbehind: true
14
+ },
15
+ 'builtin': {
16
+ pattern: /(\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[()\s])/,
17
+ lookbehind: true
18
+ },
19
+ 'number': {
20
+ pattern: /([\s()])[-+]?(?:\d+\/\d+|\d*\.?\d+(?:\s*[-+]\s*\d*\.?\d+i)?)\b/,
21
+ lookbehind: true
22
+ },
23
+ 'boolean': /#[tf]/,
24
+ 'operator': {
25
+ pattern: /(\()(?:[-+*%\/]|[<>]=?|=>?)(?=\s|$)/,
26
+ lookbehind: true
27
+ },
28
+ 'function': {
29
+ pattern: /(\()[^()'\s]+(?=[()\s)]|$)/,
30
+ lookbehind: true
31
+ },
32
+ 'punctuation': /[()']/
33
+ };
@@ -1,6 +1,6 @@
1
1
  Prism.languages.scss = Prism.languages.extend('css', {
2
2
  'comment': {
3
- pattern: /(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,
3
+ pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,
4
4
  lookbehind: true
5
5
  },
6
6
  'atrule': {
@@ -11,7 +11,7 @@ Prism.languages.scss = Prism.languages.extend('css', {
11
11
  }
12
12
  },
13
13
  // url, compassified
14
- 'url': /(?:[-a-z]+-)*url(?=\()/i,
14
+ 'url': /(?:[-a-z]+-)?url(?=\()/i,
15
15
  // CSS selector regex is not appropriate for Sass
16
16
  // since there can be lot more things (var, @ directive, nesting..)
17
17
  // a selector must start at the end of a property or after a brace (end of other rules or nesting)
@@ -21,14 +21,20 @@ Prism.languages.scss = Prism.languages.extend('css', {
21
21
  // this one was hard to do, so please be careful if you edit this one :)
22
22
  'selector': {
23
23
  // Initial look-ahead is used to prevent matching of blank selectors
24
- pattern: /(?=\S)[^@;\{\}\(\)]?([^@;\{\}\(\)]|&|#\{\$[-_\w]+\})+(?=\s*\{(\}|\s|[^\}]+(:|\{)[^\}]+))/m,
24
+ pattern: /(?=\S)[^@;{}()]?(?:[^@;{}()]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m,
25
25
  inside: {
26
26
  'parent': {
27
27
  pattern: /&/,
28
28
  alias: 'important'
29
29
  },
30
- 'placeholder': /%[-_\w]+/,
31
- 'variable': /\$[-_\w]+|#\{\$[-_\w]+\}/
30
+ 'placeholder': /%[-\w]+/,
31
+ 'variable': /\$[-\w]+|#\{\$[-\w]+\}/
32
+ }
33
+ },
34
+ 'property': {
35
+ pattern: /(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/,
36
+ inside: {
37
+ 'variable': /\$[-\w]+|#\{\$[-\w]+\}/
32
38
  }
33
39
  }
34
40
  });
@@ -43,21 +49,14 @@ Prism.languages.insertBefore('scss', 'atrule', {
43
49
  ]
44
50
  });
45
51
 
46
- Prism.languages.scss.property = {
47
- pattern: /(?:[\w-]|\$[-_\w]+|#\{\$[-_\w]+\})+(?=\s*:)/i,
48
- inside: {
49
- 'variable': /\$[-_\w]+|#\{\$[-_\w]+\}/
50
- }
51
- };
52
-
53
52
  Prism.languages.insertBefore('scss', 'important', {
54
53
  // var and interpolated vars
55
- 'variable': /\$[-_\w]+|#\{\$[-_\w]+\}/
54
+ 'variable': /\$[-\w]+|#\{\$[-\w]+\}/
56
55
  });
57
56
 
58
57
  Prism.languages.insertBefore('scss', 'function', {
59
58
  'placeholder': {
60
- pattern: /%[-_\w]+/,
59
+ pattern: /%[-\w]+/,
61
60
  alias: 'selector'
62
61
  },
63
62
  'statement': {
@@ -65,11 +64,14 @@ Prism.languages.insertBefore('scss', 'function', {
65
64
  alias: 'keyword'
66
65
  },
67
66
  'boolean': /\b(?:true|false)\b/,
68
- 'null': /\bnull\b/,
67
+ 'null': {
68
+ pattern: /\bnull\b/,
69
+ alias: 'keyword'
70
+ },
69
71
  'operator': {
70
72
  pattern: /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,
71
73
  lookbehind: true
72
74
  }
73
75
  });
74
76
 
75
- Prism.languages.scss['atrule'].inside.rest = Prism.util.clone(Prism.languages.scss);
77
+ Prism.languages.scss['atrule'].inside.rest = Prism.languages.scss;
@@ -0,0 +1,54 @@
1
+ (function (Prism) {
2
+
3
+ // CAREFUL!
4
+ // The following patterns are concatenated, so the group referenced by a back reference is non-obvious!
5
+
6
+ var strings = [
7
+ // normal string
8
+ // 1 capturing group
9
+ /(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/.source,
10
+
11
+ // here doc
12
+ // 1 capturing group
13
+ /<<-?\s*(\w+?)\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\2/.source,
14
+
15
+ // here doc quoted
16
+ // 2 capturing group
17
+ /<<-?\s*(["'])(\w+)\3\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\4/.source
18
+ ].join('|');
19
+
20
+ Prism.languages['shell-session'] = {
21
+ 'info': {
22
+ // foo@bar:~/files$ exit
23
+ // foo@bar$ exit
24
+ pattern: /^(?:[^\r\n$#*!]+)(?=[$#])/m,
25
+ alias: 'punctuation',
26
+ inside: {
27
+ 'path': {
28
+ pattern: /(:)[\s\S]+/,
29
+ lookbehind: true
30
+ },
31
+ 'user': /^[^\s@:$#*!/\\]+@[^\s@:$#*!/\\]+(?=:|$)/,
32
+ 'punctuation': /:/
33
+ }
34
+ },
35
+ 'command': {
36
+ pattern: RegExp(/[$#](?:[^\r\n'"<]|<<str>>)+/.source.replace(/<<str>>/g, strings)),
37
+ greedy: true,
38
+ inside: {
39
+ 'bash': {
40
+ pattern: /(^[$#]\s*)[\s\S]+/,
41
+ lookbehind: true,
42
+ alias: 'language-bash',
43
+ inside: Prism.languages.bash
44
+ },
45
+ 'shell-symbol': {
46
+ pattern: /^[$#]/,
47
+ alias: 'important'
48
+ }
49
+ }
50
+ },
51
+ 'output': /.(?:.*(?:\r\n?|\n|.$))*/
52
+ };
53
+
54
+ }(Prism));
@@ -1,9 +1,13 @@
1
1
  Prism.languages.smalltalk = {
2
- 'comment': /"(?:""|[^"])+"/,
3
- 'string': /'(?:''|[^'])+'/,
2
+ 'comment': /"(?:""|[^"])*"/,
3
+ 'character': {
4
+ pattern: /\$./,
5
+ alias: 'string'
6
+ },
7
+ 'string': /'(?:''|[^'])*'/,
4
8
  'symbol': /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,
5
9
  'block-arguments': {
6
- pattern: /(\[\s*):[^\[|]*?\|/,
10
+ pattern: /(\[\s*):[^\[|]*\|/,
7
11
  lookbehind: true,
8
12
  inside: {
9
13
  'variable': /:[\da-z]+/i,
@@ -18,14 +22,10 @@ Prism.languages.smalltalk = {
18
22
  }
19
23
  },
20
24
  'keyword': /\b(?:nil|true|false|self|super|new)\b/,
21
- 'character': {
22
- pattern: /\$./,
23
- alias: 'string'
24
- },
25
25
  'number': [
26
26
  /\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,
27
- /(?:\B-|\b)\d+(?:\.\d+)?(?:e-?\d+)?/
27
+ /\b\d+(?:\.\d+)?(?:e-?\d+)?/
28
28
  ],
29
29
  'operator': /[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,
30
30
  'punctuation': /[.;:?\[\](){}]/
31
- };
31
+ };
@@ -0,0 +1,87 @@
1
+ /* TODO
2
+ Add support for variables inside double quoted strings
3
+ Add support for {php}
4
+ */
5
+
6
+ (function(Prism) {
7
+
8
+ Prism.languages.smarty = {
9
+ 'comment': /\{\*[\s\S]*?\*\}/,
10
+ 'delimiter': {
11
+ pattern: /^\{|\}$/i,
12
+ alias: 'punctuation'
13
+ },
14
+ 'string': /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,
15
+ 'number': /\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/,
16
+ 'variable': [
17
+ /\$(?!\d)\w+/,
18
+ /#(?!\d)\w+#/,
19
+ {
20
+ pattern: /(\.|->)(?!\d)\w+/,
21
+ lookbehind: true
22
+ },
23
+ {
24
+ pattern: /(\[)(?!\d)\w+(?=\])/,
25
+ lookbehind: true
26
+ }
27
+ ],
28
+ 'function': [
29
+ {
30
+ pattern: /(\|\s*)@?(?!\d)\w+/,
31
+ lookbehind: true
32
+ },
33
+ /^\/?(?!\d)\w+/,
34
+ /(?!\d)\w+(?=\()/
35
+ ],
36
+ 'attr-name': {
37
+ // Value is made optional because it may have already been tokenized
38
+ pattern: /\w+\s*=\s*(?:(?!\d)\w+)?/,
39
+ inside: {
40
+ "variable": {
41
+ pattern: /(=\s*)(?!\d)\w+/,
42
+ lookbehind: true
43
+ },
44
+ "operator": /=/
45
+ }
46
+ },
47
+ 'punctuation': [
48
+ /[\[\]().,:`]|->/
49
+ ],
50
+ 'operator': [
51
+ /[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/,
52
+ /\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/,
53
+ /\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/
54
+ ],
55
+ 'keyword': /\b(?:false|off|on|no|true|yes)\b/
56
+ };
57
+
58
+ // Tokenize all inline Smarty expressions
59
+ Prism.hooks.add('before-tokenize', function(env) {
60
+ var smartyPattern = /\{\*[\s\S]*?\*\}|\{[\s\S]+?\}/g;
61
+ var smartyLitteralStart = '{literal}';
62
+ var smartyLitteralEnd = '{/literal}';
63
+ var smartyLitteralMode = false;
64
+
65
+ Prism.languages['markup-templating'].buildPlaceholders(env, 'smarty', smartyPattern, function (match) {
66
+ // Smarty tags inside {literal} block are ignored
67
+ if(match === smartyLitteralEnd) {
68
+ smartyLitteralMode = false;
69
+ }
70
+
71
+ if(!smartyLitteralMode) {
72
+ if(match === smartyLitteralStart) {
73
+ smartyLitteralMode = true;
74
+ }
75
+
76
+ return true;
77
+ }
78
+ return false;
79
+ });
80
+ });
81
+
82
+ // Re-insert the tokens after tokenizing
83
+ Prism.hooks.add('after-tokenize', function(env) {
84
+ Prism.languages['markup-templating'].tokenizePlaceholders(env, 'smarty');
85
+ });
86
+
87
+ }(Prism));
@@ -0,0 +1,20 @@
1
+ Prism.languages.solidity = Prism.languages.extend('clike', {
2
+ 'class-name': {
3
+ pattern: /(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/,
4
+ lookbehind: true
5
+ },
6
+ 'keyword': /\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/,
7
+ 'operator': /=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/
8
+ });
9
+
10
+ Prism.languages.insertBefore('solidity', 'keyword', {
11
+ 'builtin': /\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[0-2])?)\b/
12
+ });
13
+
14
+ Prism.languages.insertBefore('solidity', 'number', {
15
+ 'version': {
16
+ pattern: /([<>]=?|\^)\d+\.\d+\.\d+\b/,
17
+ lookbehind: true,
18
+ alias: 'number',
19
+ }
20
+ });
@@ -0,0 +1,51 @@
1
+ (function (Prism){
2
+
3
+ var guid = {
4
+ // https://en.wikipedia.org/wiki/Universally_unique_identifier#Format
5
+ pattern: /\{[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}\}/i,
6
+ alias: 'constant',
7
+ inside: {
8
+ 'punctuation': /[{}]/
9
+ }
10
+ };
11
+
12
+ Prism.languages['solution-file'] = {
13
+ 'comment': {
14
+ pattern: /#.*/,
15
+ greedy: true
16
+ },
17
+ 'string': {
18
+ pattern: /"[^"\r\n]*"|'[^'\r\n]*'/,
19
+ greedy: true,
20
+ inside: {
21
+ 'guid': guid
22
+ }
23
+ },
24
+ 'object': {
25
+ // Foo
26
+ // Bar("abs") = 9
27
+ // EndBar
28
+ // Prop = TRUE
29
+ // EndFoo
30
+ pattern: /^([ \t]*)(?:([A-Z]\w*)\b(?=.*(?:\r\n?|\n)(?:\1[ \t].*(?:\r\n?|\n))*\1End\2(?=[ \t]*$))|End[A-Z]\w*(?=[ \t]*$))/m,
31
+ lookbehind: true,
32
+ greedy: true,
33
+ alias: 'keyword'
34
+ },
35
+ 'property': {
36
+ pattern: /^([ \t]*)[^\r\n"#=()]*[^\s"#=()](?=\s*=)/m,
37
+ lookbehind: true,
38
+ inside: {
39
+ 'guid': guid
40
+ }
41
+ },
42
+ 'guid': guid,
43
+ 'number': /\b\d+(?:\.\d+)*\b/,
44
+ 'boolean': /\b(?:FALSE|TRUE)\b/,
45
+ 'operator': /=/,
46
+ 'punctuation': /[(),]/
47
+ };
48
+
49
+ Prism.languages['sln'] = Prism.languages['solution-file'];
50
+
51
+ }(Prism));
@@ -0,0 +1,96 @@
1
+ (function (Prism) {
2
+ var stringPattern = /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;
3
+ var numberPattern = /\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-F]+\b/;
4
+
5
+ Prism.languages.soy = {
6
+ 'comment': [
7
+ /\/\*[\s\S]*?\*\//,
8
+ {
9
+ pattern: /(\s)\/\/.*/,
10
+ lookbehind: true,
11
+ greedy: true
12
+ }
13
+ ],
14
+ 'command-arg': {
15
+ pattern: /({+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+)\.?[\w.]+/,
16
+ lookbehind: true,
17
+ alias: 'string',
18
+ inside: {
19
+ 'punctuation': /\./
20
+ }
21
+ },
22
+ 'parameter': {
23
+ pattern: /({+\/?\s*@?param\??\s+)\.?[\w.]+/,
24
+ lookbehind: true,
25
+ alias: 'variable'
26
+ },
27
+ 'keyword': [
28
+ {
29
+ pattern: /({+\/?[^\S\r\n]*)(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/,
30
+ lookbehind: true
31
+ },
32
+ /\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/
33
+ ],
34
+ 'delimiter': {
35
+ pattern: /^{+\/?|\/?}+$/,
36
+ alias: 'punctuation'
37
+ },
38
+ 'property': /\w+(?==)/,
39
+ 'variable': {
40
+ pattern: /\$[^\W\d]\w*(?:\??(?:\.\w+|\[[^\]]+]))*/,
41
+ inside: {
42
+ 'string': {
43
+ pattern: stringPattern,
44
+ greedy: true
45
+ },
46
+ 'number': numberPattern,
47
+ 'punctuation': /[\[\].?]/
48
+ }
49
+ },
50
+ 'string': {
51
+ pattern: stringPattern,
52
+ greedy: true
53
+ },
54
+ 'function': [
55
+ /\w+(?=\()/,
56
+ {
57
+ pattern: /(\|[^\S\r\n]*)\w+/,
58
+ lookbehind: true
59
+ }
60
+ ],
61
+ 'boolean': /\b(?:true|false)\b/,
62
+ 'number': numberPattern,
63
+ 'operator': /\?:?|<=?|>=?|==?|!=|[+*/%-]|\b(?:and|not|or)\b/,
64
+ 'punctuation': /[{}()\[\]|.,:]/
65
+ };
66
+
67
+ // Tokenize all inline Soy expressions
68
+ Prism.hooks.add('before-tokenize', function (env) {
69
+ var soyPattern = /{{.+?}}|{.+?}|\s\/\/.*|\/\*[\s\S]*?\*\//g;
70
+ var soyLitteralStart = '{literal}';
71
+ var soyLitteralEnd = '{/literal}';
72
+ var soyLitteralMode = false;
73
+
74
+ Prism.languages['markup-templating'].buildPlaceholders(env, 'soy', soyPattern, function (match) {
75
+ // Soy tags inside {literal} block are ignored
76
+ if (match === soyLitteralEnd) {
77
+ soyLitteralMode = false;
78
+ }
79
+
80
+ if (!soyLitteralMode) {
81
+ if (match === soyLitteralStart) {
82
+ soyLitteralMode = true;
83
+ }
84
+
85
+ return true;
86
+ }
87
+ return false;
88
+ });
89
+ });
90
+
91
+ // Re-insert the tokens after tokenizing
92
+ Prism.hooks.add('after-tokenize', function (env) {
93
+ Prism.languages['markup-templating'].tokenizePlaceholders(env, 'soy');
94
+ });
95
+
96
+ }(Prism));