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
@@ -1,7 +1,13 @@
1
1
  Prism.languages.dart = Prism.languages.extend('clike', {
2
2
  'string': [
3
- /r?("""|''')[\s\S]*?\1/,
4
- /r?("|')(\\?.)*?\1/
3
+ {
4
+ pattern: /r?("""|''')[\s\S]*?\1/,
5
+ greedy: true
6
+ },
7
+ {
8
+ pattern: /r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
9
+ greedy: true
10
+ }
5
11
  ],
6
12
  'keyword': [
7
13
  /\b(?:async|sync|yield)\*/,
@@ -0,0 +1,54 @@
1
+ (function (Prism) {
2
+
3
+ Prism.languages.diff = {
4
+ 'coord': [
5
+ // Match all kinds of coord lines (prefixed by "+++", "---" or "***").
6
+ /^(?:\*{3}|-{3}|\+{3}).*$/m,
7
+ // Match "@@ ... @@" coord lines in unified diff.
8
+ /^@@.*@@$/m,
9
+ // Match coord lines in normal diff (starts with a number).
10
+ /^\d+.*$/m
11
+ ]
12
+
13
+ // deleted, inserted, unchanged, diff
14
+ };
15
+
16
+ /**
17
+ * A map from the name of a block to its line prefix.
18
+ *
19
+ * @type {Object<string, string>}
20
+ */
21
+ var PREFIXES = {
22
+ 'deleted-sign': '-',
23
+ 'deleted-arrow': '<',
24
+ 'inserted-sign': '+',
25
+ 'inserted-arrow': '>',
26
+ 'unchanged': ' ',
27
+ 'diff': '!',
28
+ };
29
+
30
+ // add a token for each prefix
31
+ Object.keys(PREFIXES).forEach(function (name) {
32
+ var prefix = PREFIXES[name];
33
+
34
+ var alias = [];
35
+ if (!/^\w+$/.test(name)) { // "deleted-sign" -> "deleted"
36
+ alias.push(/\w+/.exec(name)[0]);
37
+ }
38
+ if (name === "diff") {
39
+ alias.push("bold");
40
+ }
41
+
42
+ Prism.languages.diff[name] = {
43
+ // pattern: /^(?:[_].*(?:\r\n?|\n|(?![\s\S])))+/m
44
+ pattern: RegExp('^(?:[' + prefix + '].*(?:\r\n?|\n|(?![\\s\\S])))+', 'm'),
45
+ alias: alias
46
+ };
47
+ });
48
+
49
+ // make prefixes available to Diff plugin
50
+ Object.defineProperty(Prism.languages.diff, 'PREFIXES', {
51
+ value: PREFIXES
52
+ });
53
+
54
+ }(Prism));
@@ -0,0 +1,60 @@
1
+ // Django/Jinja2 syntax definition for Prism.js <http://prismjs.com> syntax highlighter.
2
+ // Mostly it works OK but can paint code incorrectly on complex html/template tag combinations.
3
+
4
+ (function (Prism) {
5
+
6
+ Prism.languages.django = {
7
+ 'comment': /^{#[\s\S]*?#}$/,
8
+ 'tag': {
9
+ pattern: /(^{%[+-]?\s*)\w+/,
10
+ lookbehind: true,
11
+ alias: 'keyword'
12
+ },
13
+ 'delimiter': {
14
+ pattern: /^{[{%][+-]?|[+-]?[}%]}$/,
15
+ alias: 'punctuation'
16
+ },
17
+ 'string': {
18
+ pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
19
+ greedy: true
20
+ },
21
+ 'filter': {
22
+ pattern: /(\|)\w+/,
23
+ lookbehind: true,
24
+ alias: 'function'
25
+ },
26
+ 'test': {
27
+ pattern: /(\bis\s+(?:not\s+)?)(?!not\b)\w+/,
28
+ lookbehind: true,
29
+ alias: 'function'
30
+ },
31
+ 'function': /\b[a-z_]\w+(?=\s*\()/i,
32
+ 'keyword': /\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,
33
+ 'operator': /[-+*/%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
34
+ 'number': /\b\d+(?:\.\d+)?\b/,
35
+ 'boolean': /[Tt]rue|[Ff]alse|[Nn]one/,
36
+ 'variable': /\b\w+?\b/,
37
+ 'punctuation': /[{}[\](),.:;]/
38
+ };
39
+
40
+
41
+ var pattern = /{{[\s\S]*?}}|{%[\s\S]*?%}|{#[\s\S]*?#}/g;
42
+ var markupTemplating = Prism.languages['markup-templating'];
43
+
44
+ Prism.hooks.add('before-tokenize', function (env) {
45
+ markupTemplating.buildPlaceholders(env, 'django', pattern);
46
+ });
47
+ Prism.hooks.add('after-tokenize', function (env) {
48
+ markupTemplating.tokenizePlaceholders(env, 'django');
49
+ });
50
+
51
+ // Add an Jinja2 alias
52
+ Prism.languages.jinja2 = Prism.languages.django;
53
+ Prism.hooks.add('before-tokenize', function (env) {
54
+ markupTemplating.buildPlaceholders(env, 'jinja2', pattern);
55
+ });
56
+ Prism.hooks.add('after-tokenize', function (env) {
57
+ markupTemplating.tokenizePlaceholders(env, 'jinja2');
58
+ });
59
+
60
+ })(Prism);
@@ -0,0 +1,33 @@
1
+ Prism.languages['dns-zone-file'] = {
2
+ 'comment': /;.*/,
3
+ 'string': {
4
+ pattern: /"(?:\\.|[^"\\\r\n])*"/,
5
+ greedy: true
6
+ },
7
+ 'variable': [
8
+ {
9
+ pattern: /(^\$ORIGIN[ \t]+)\S+/m,
10
+ lookbehind: true,
11
+ },
12
+ {
13
+ pattern: /(^|\s)@(?=\s|$)/,
14
+ lookbehind: true,
15
+ }
16
+ ],
17
+ 'keyword': /^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m,
18
+ 'class': {
19
+ // https://tools.ietf.org/html/rfc1035#page-13
20
+ pattern: /(^|\s)(?:IN|CH|CS|HS)(?=\s|$)/,
21
+ lookbehind: true,
22
+ alias: 'keyword'
23
+ },
24
+ 'type': {
25
+ // https://en.wikipedia.org/wiki/List_of_DNS_record_types
26
+ pattern: /(^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/,
27
+ lookbehind: true,
28
+ alias: 'keyword'
29
+ },
30
+ 'punctuation': /[()]/
31
+ };
32
+
33
+ Prism.languages['dns-zone'] = Prism.languages['dns-zone-file']
@@ -0,0 +1,11 @@
1
+ Prism.languages.docker = {
2
+ 'keyword': {
3
+ pattern: /(^\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/mi,
4
+ lookbehind: true
5
+ },
6
+ 'string': /("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,
7
+ 'comment': /#.*/,
8
+ 'punctuation': /---|\.\.\.|[:[\]{}\-,|>?]/
9
+ };
10
+
11
+ Prism.languages.dockerfile = Prism.languages.docker;
@@ -0,0 +1,22 @@
1
+ Prism.languages.ebnf = {
2
+ 'comment': /\(\*[\s\S]*?\*\)/,
3
+ 'string': {
4
+ pattern: /"[^"\r\n]*"|'[^'\r\n]*'/,
5
+ greedy: true
6
+ },
7
+ 'special': {
8
+ pattern: /\?[^?\r\n]*\?/,
9
+ greedy: true,
10
+ alias: 'class-name'
11
+ },
12
+
13
+ 'definition': {
14
+ pattern: /^(\s*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im,
15
+ lookbehind: true,
16
+ alias: ['rule', 'keyword']
17
+ },
18
+ 'rule': /[a-z]\w*(?:[ \t]+[a-z]\w*)*/i,
19
+
20
+ 'punctuation': /\([:/]|[:/]\)|[.,;()[\]{}]/,
21
+ 'operator': /[-=|*/!]/
22
+ };
@@ -1,23 +1,36 @@
1
1
  Prism.languages.eiffel = {
2
+ 'comment': /--.*/,
2
3
  'string': [
3
4
  // Aligned-verbatim-strings
4
- /"([^[]*)\[[\s\S]+?\]\1"/,
5
+ {
6
+ pattern: /"([^[]*)\[[\s\S]*?\]\1"/,
7
+ greedy: true
8
+ },
5
9
  // Non-aligned-verbatim-strings
6
- /"([^{]*)\{[\s\S]+?\}\1"/,
10
+ {
11
+ pattern: /"([^{]*)\{[\s\S]*?\}\1"/,
12
+ greedy: true
13
+ },
7
14
  // Single-line string
8
- /"(?:%\s+%|%"|.)*?"/
15
+ {
16
+ pattern: /"(?:%\s+%|%.|[^%"\r\n])*"/,
17
+ greedy: true
18
+ }
9
19
  ],
10
- // (comments including quoted strings not supported)
11
- 'comment': /--.*/,
12
20
  // normal char | special char | char code
13
- 'char': /'(?:%'|.)+?'/,
21
+ 'char': /'(?:%.|[^%'\r\n])+'/,
14
22
  'keyword': /\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,
15
23
  'boolean': /\b(?:True|False)\b/i,
24
+ // Convention: class-names are always all upper-case characters
25
+ 'class-name': {
26
+ 'pattern': /\b[A-Z][\dA-Z_]*\b/,
27
+ 'alias': 'builtin'
28
+ },
16
29
  'number': [
17
30
  // hexa | octal | bin
18
31
  /\b0[xcb][\da-f](?:_*[\da-f])*\b/i,
19
32
  // Decimal
20
- /(?:\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?[eE][+-]?)?\d(?:_*\d)*|\d(?:_*\d)*\.?/
33
+ /(?:\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*|\d(?:_*\d)*\.?/i
21
34
  ],
22
35
  'punctuation': /:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,
23
36
  'operator': /\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/
@@ -0,0 +1,24 @@
1
+ (function (Prism) {
2
+
3
+ Prism.languages.ejs = {
4
+ 'delimiter': {
5
+ pattern: /^<%[-_=]?|[-_]?%>$/,
6
+ alias: 'punctuation'
7
+ },
8
+ 'comment': /^#[\s\S]*/,
9
+ 'language-javascript': {
10
+ pattern: /[\s\S]+/,
11
+ inside: Prism.languages.javascript
12
+ }
13
+ };
14
+
15
+ Prism.hooks.add('before-tokenize', function(env) {
16
+ var ejsPattern = /<%(?!%)[\s\S]+?%>/g;
17
+ Prism.languages['markup-templating'].buildPlaceholders(env, 'ejs', ejsPattern);
18
+ });
19
+
20
+ Prism.hooks.add('after-tokenize', function(env) {
21
+ Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs');
22
+ });
23
+
24
+ }(Prism));
@@ -1,30 +1,30 @@
1
1
  Prism.languages.elixir = {
2
- // Negative look-ahead is needed for string interpolation
3
- // Negative look-behind is needed to avoid highlighting markdown headers in
4
- // multi-line doc strings
5
- 'comment': {
6
- pattern: /(^|[^#])#(?![{#]).*/m,
7
- lookbehind: true
2
+ 'comment': /#.*/m,
3
+ // ~r"""foo""" (multi-line), ~r'''foo''' (multi-line), ~r/foo/, ~r|foo|, ~r"foo", ~r'foo', ~r(foo), ~r[foo], ~r{foo}, ~r<foo>
4
+ 'regex': {
5
+ pattern: /~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,
6
+ greedy: true
8
7
  },
9
- // ~r"""foo""", ~r'''foo''', ~r/foo/, ~r|foo|, ~r"foo", ~r'foo', ~r(foo), ~r[foo], ~r{foo}, ~r<foo>
10
- 'regex': /~[rR](?:("""|'''|[\/|"'])(?:\\.|(?!\1)[^\\])+\1|\((?:\\\)|[^)])+\)|\[(?:\\\]|[^\]])+\]|\{(?:\\\}|[^}])+\}|<(?:\\>|[^>])+>)[uismxfr]*/,
11
8
  'string': [
12
9
  {
13
- // ~s"""foo""", ~s'''foo''', ~s/foo/, ~s|foo|, ~s"foo", ~s'foo', ~s(foo), ~s[foo], ~s{foo}, ~s<foo>
14
- pattern: /~[cCsSwW](?:("""|'''|[\/|"'])(?:\\.|(?!\1)[^\\])+\1|\((?:\\\)|[^)])+\)|\[(?:\\\]|[^\]])+\]|\{(?:\\\}|#\{[^}]+\}|[^}])+\}|<(?:\\>|[^>])+>)[csa]?/,
10
+ // ~s"""foo""" (multi-line), ~s'''foo''' (multi-line), ~s/foo/, ~s|foo|, ~s"foo", ~s'foo', ~s(foo), ~s[foo], ~s{foo} (with interpolation care), ~s<foo>
11
+ pattern: /~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,
12
+ greedy: true,
15
13
  inside: {
16
14
  // See interpolation below
17
15
  }
18
16
  },
19
17
  {
20
18
  pattern: /("""|''')[\s\S]*?\1/,
19
+ greedy: true,
21
20
  inside: {
22
21
  // See interpolation below
23
22
  }
24
23
  },
25
24
  {
26
25
  // Multi-line strings are allowed
27
- pattern: /("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,
26
+ pattern: /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
27
+ greedy: true,
28
28
  inside: {
29
29
  // See interpolation below
30
30
  }
@@ -37,7 +37,7 @@ Prism.languages.elixir = {
37
37
  alias: 'symbol'
38
38
  },
39
39
  // Look-ahead prevents bad highlighting of the :: operator
40
- 'attr-name': /\w+:(?!:)/,
40
+ 'attr-name': /\w+\??:(?!:)/,
41
41
  'capture': {
42
42
  // Look-behind prevents bad highlighting of the && operator
43
43
  pattern: /(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/,
@@ -51,7 +51,7 @@ Prism.languages.elixir = {
51
51
  alias: 'variable'
52
52
  },
53
53
  'attribute': {
54
- pattern: /@[\S]+/,
54
+ pattern: /@\w+/,
55
55
  alias: 'variable'
56
56
  },
57
57
  'number': /\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,
@@ -82,9 +82,8 @@ Prism.languages.elixir.string.forEach(function(o) {
82
82
  pattern: /^#\{|\}$/,
83
83
  alias: 'punctuation'
84
84
  },
85
- rest: Prism.util.clone(Prism.languages.elixir)
85
+ rest: Prism.languages.elixir
86
86
  }
87
87
  }
88
88
  };
89
89
  });
90
-
@@ -0,0 +1,44 @@
1
+ Prism.languages.elm = {
2
+ comment: /--.*|{-[\s\S]*?-}/,
3
+ char: {
4
+ pattern: /'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+))'/,
5
+ greedy: true
6
+ },
7
+ string: [
8
+ {
9
+ // Multiline strings are wrapped in triple ". Quotes may appear unescaped.
10
+ pattern: /"""[\s\S]*?"""/,
11
+ greedy: true
12
+ },
13
+ {
14
+ pattern: /"(?:[^\\"\r\n]|\\(?:[abfnrtv\\"]|\d+|x[0-9a-fA-F]+))*"/,
15
+ greedy: true
16
+ }
17
+ ],
18
+ import_statement: {
19
+ // The imported or hidden names are not included in this import
20
+ // statement. This is because we want to highlight those exactly like
21
+ // we do for the names in the program.
22
+ pattern: /^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,
23
+ inside: {
24
+ keyword: /\b(?:import|as|exposing)\b/
25
+ }
26
+ },
27
+ keyword: /\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,
28
+ // These are builtin variables only. Constructors are highlighted later as a constant.
29
+ builtin: /\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,
30
+ // decimal integers and floating point numbers | hexadecimal integers
31
+ number: /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,
32
+ // Most of this is needed because of the meaning of a single '.'.
33
+ // If it stands alone freely, it is the function composition.
34
+ // It may also be a separator between a module name and an identifier => no
35
+ // operator. If it comes together with other special characters it is an
36
+ // operator too.
37
+ // Valid operator characters in 0.18: +-/*=.$<>:&|^?%#@~!
38
+ // Ref: https://groups.google.com/forum/#!msg/elm-dev/0AHSnDdkSkQ/E0SVU70JEQAJ
39
+ operator: /\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,
40
+ // In Elm, nearly everything is a variable, do not highlight these.
41
+ hvariable: /\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,
42
+ constant: /\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,
43
+ punctuation: /[{}[\]|(),.:]/
44
+ };
@@ -0,0 +1,20 @@
1
+ (function (Prism) {
2
+
3
+ Prism.languages.erb = Prism.languages.extend('ruby', {});
4
+ Prism.languages.insertBefore('erb', 'comment', {
5
+ 'delimiter': {
6
+ pattern: /^<%=?|%>$/,
7
+ alias: 'punctuation'
8
+ }
9
+ });
10
+
11
+ Prism.hooks.add('before-tokenize', function(env) {
12
+ var erbPattern = /<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s[\s\S]*?^=end)+?%>/gm;
13
+ Prism.languages['markup-templating'].buildPlaceholders(env, 'erb', erbPattern);
14
+ });
15
+
16
+ Prism.hooks.add('after-tokenize', function(env) {
17
+ Prism.languages['markup-templating'].tokenizePlaceholders(env, 'erb');
18
+ });
19
+
20
+ }(Prism));
@@ -1,12 +1,15 @@
1
1
  Prism.languages.erlang = {
2
2
  'comment': /%.+/,
3
- 'string': /"(?:\\?.)*?"/,
3
+ 'string': {
4
+ pattern: /"(?:\\.|[^\\"\r\n])*"/,
5
+ greedy: true
6
+ },
4
7
  'quoted-function': {
5
- pattern: /'(?:\\.|[^'\\])+'(?=\()/,
8
+ pattern: /'(?:\\.|[^\\'\r\n])+'(?=\()/,
6
9
  alias: 'function'
7
10
  },
8
11
  'quoted-atom': {
9
- pattern: /'(?:\\.|[^'\\])+'/,
12
+ pattern: /'(?:\\.|[^\\'\r\n])+'/,
10
13
  alias: 'atom'
11
14
  },
12
15
  'boolean': /\b(?:true|false)\b/,
@@ -14,7 +17,7 @@ Prism.languages.erlang = {
14
17
  'number': [
15
18
  /\$\\?./,
16
19
  /\d+#[a-z0-9]+/i,
17
- /(?:\b|-)\d*\.?\d+([Ee][+-]?\d+)?\b/
20
+ /(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i
18
21
  ],
19
22
  'function': /\b[a-z][\w@]*(?=\()/,
20
23
  'variable': {
@@ -0,0 +1,23 @@
1
+ (function (Prism) {
2
+
3
+ Prism.languages.etlua = {
4
+ 'delimiter': {
5
+ pattern: /^<%[-=]?|-?%>$/,
6
+ alias: 'punctuation'
7
+ },
8
+ 'language-lua': {
9
+ pattern: /[\s\S]+/,
10
+ inside: Prism.languages.lua
11
+ }
12
+ };
13
+
14
+ Prism.hooks.add('before-tokenize', function (env) {
15
+ var pattern = /<%[\s\S]+?%>/g;
16
+ Prism.languages['markup-templating'].buildPlaceholders(env, 'etlua', pattern);
17
+ });
18
+
19
+ Prism.hooks.add('after-tokenize', function (env) {
20
+ Prism.languages['markup-templating'].tokenizePlaceholders(env, 'etlua');
21
+ });
22
+
23
+ }(Prism));