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
@@ -16,6 +16,7 @@
16
16
  {
17
17
  pattern: /(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r))*?[ \t]*\|?[ \t]*-?[ \t]*\2/,
18
18
  lookbehind: true,
19
+ greedy: true,
19
20
  alias: 'string',
20
21
  inside: {
21
22
  // Matches the end tag
@@ -37,12 +38,14 @@
37
38
  'multiline-comment': {
38
39
  pattern: /(^|[^\\])\/\*[\s\S]*?\*\//,
39
40
  lookbehind: true,
41
+ greedy: true,
40
42
  alias: 'comment'
41
43
  },
42
44
  'regex': {
43
45
  // Must be prefixed with the keyword "node" or a non-word char
44
46
  pattern: /((?:\bnode\s+|[~=\(\[\{,]\s*|[=+]>\s*|^\s*))\/(?:[^\/\\]|\\[\s\S])+\/(?:[imx]+\b|\B)/,
45
47
  lookbehind: true,
48
+ greedy: true,
46
49
  inside: {
47
50
  // Extended regexes must have the x flag. They can contain single-line comments.
48
51
  'extended-regex': {
@@ -55,11 +58,13 @@
55
58
  },
56
59
  'comment': {
57
60
  pattern: /(^|[^\\])#.*/,
58
- lookbehind: true
61
+ lookbehind: true,
62
+ greedy: true,
59
63
  },
60
64
  'string': {
61
65
  // Allow for one nested level of double quotes inside interpolation
62
66
  pattern: /(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|(?!\1)[^\\]|\\[\s\S])*\1/,
67
+ greedy: true,
63
68
  inside: {
64
69
  'double-quoted': {
65
70
  pattern: /^"[\s\S]*"$/,
@@ -114,7 +119,7 @@
114
119
  pattern: /^\$/,
115
120
  alias: 'variable'
116
121
  },
117
- rest: Prism.util.clone(Prism.languages.puppet)
122
+ rest: Prism.languages.puppet
118
123
  }
119
124
  },
120
125
  {
@@ -1,7 +1,19 @@
1
1
  (function (Prism) {
2
2
  Prism.languages.pure = {
3
+ 'comment': [
4
+ {
5
+ pattern: /(^|[^\\])\/\*[\s\S]*?\*\//,
6
+ lookbehind: true
7
+ },
8
+ {
9
+ pattern: /(^|[^\\:])\/\/.*/,
10
+ lookbehind: true
11
+ },
12
+ /#!.+/
13
+ ],
3
14
  'inline-lang': {
4
15
  pattern: /%<[\s\S]+?%>/,
16
+ greedy: true,
5
17
  inside: {
6
18
  'lang': {
7
19
  pattern: /(^%< *)-\*-.+?-\*-/,
@@ -14,18 +26,10 @@
14
26
  }
15
27
  }
16
28
  },
17
- 'comment': [
18
- {
19
- pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
20
- lookbehind: true
21
- },
22
- {
23
- pattern: /(^|[^\\:])\/\/.*/,
24
- lookbehind: true
25
- },
26
- /#!.+/
27
- ],
28
- 'string': /"(?:\\.|[^"\\\r\n])*"/,
29
+ 'string': {
30
+ pattern: /"(?:\\.|[^"\\\r\n])*"/,
31
+ greedy: true
32
+ },
29
33
  'number': {
30
34
  // The look-behind prevents wrong highlighting of the .. operator
31
35
  pattern: /((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d)?|\B\.\d)\d*(?:e[+-]?\d+)?L?)/i,
@@ -46,11 +50,9 @@
46
50
  var inlineLanguages = [
47
51
  'c',
48
52
  { lang: 'c++', alias: 'cpp' },
49
- 'fortran',
50
- 'ats',
51
- 'dsp'
53
+ 'fortran'
52
54
  ];
53
- var inlineLanguageRe = '%< *-\\*- *{lang}\\d* *-\\*-[\\s\\S]+?%>';
55
+ var inlineLanguageRe = /%< *-\*- *{lang}\d* *-\*-[\s\S]+?%>/.source;
54
56
 
55
57
  inlineLanguages.forEach(function (lang) {
56
58
  var alias = lang;
@@ -74,4 +76,4 @@
74
76
  Prism.languages.pure['inline-lang'].inside.rest = Prism.util.clone(Prism.languages.c);
75
77
  }
76
78
 
77
- }(Prism));
79
+ }(Prism));
@@ -0,0 +1,64 @@
1
+ Prism.languages.python = {
2
+ 'comment': {
3
+ pattern: /(^|[^\\])#.*/,
4
+ lookbehind: true
5
+ },
6
+ 'string-interpolation': {
7
+ pattern: /(?:f|rf|fr)(?:("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,
8
+ greedy: true,
9
+ inside: {
10
+ 'interpolation': {
11
+ // "{" <expression> <optional "!s", "!r", or "!a"> <optional ":" format specifier> "}"
12
+ pattern: /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,
13
+ lookbehind: true,
14
+ inside: {
15
+ 'format-spec': {
16
+ pattern: /(:)[^:(){}]+(?=}$)/,
17
+ lookbehind: true
18
+ },
19
+ 'conversion-option': {
20
+ pattern: /![sra](?=[:}]$)/,
21
+ alias: 'punctuation'
22
+ },
23
+ rest: null
24
+ }
25
+ },
26
+ 'string': /[\s\S]+/
27
+ }
28
+ },
29
+ 'triple-quoted-string': {
30
+ pattern: /(?:[rub]|rb|br)?("""|''')[\s\S]+?\1/i,
31
+ greedy: true,
32
+ alias: 'string'
33
+ },
34
+ 'string': {
35
+ pattern: /(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,
36
+ greedy: true
37
+ },
38
+ 'function': {
39
+ pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,
40
+ lookbehind: true
41
+ },
42
+ 'class-name': {
43
+ pattern: /(\bclass\s+)\w+/i,
44
+ lookbehind: true
45
+ },
46
+ 'decorator': {
47
+ pattern: /(^\s*)@\w+(?:\.\w+)*/im,
48
+ lookbehind: true,
49
+ alias: ['annotation', 'punctuation'],
50
+ inside: {
51
+ 'punctuation': /\./
52
+ }
53
+ },
54
+ 'keyword': /\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,
55
+ 'builtin': /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,
56
+ 'boolean': /\b(?:True|False|None)\b/,
57
+ 'number': /(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,
58
+ 'operator': /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
59
+ 'punctuation': /[{}[\];(),.:]/
60
+ };
61
+
62
+ Prism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;
63
+
64
+ Prism.languages.py = Prism.languages.python;
@@ -6,7 +6,8 @@ Prism.languages.q = {
6
6
  {
7
7
 
8
8
  pattern: /([\t )\]}])\/.*/,
9
- lookbehind: true
9
+ lookbehind: true,
10
+ greedy: true
10
11
  },
11
12
  // From http://code.kx.com/wiki/Reference/Slash:
12
13
  // A line which has / as its first character and contains at least one other non-whitespace character is a whole-line comment and is ignored entirely.
@@ -15,13 +16,19 @@ Prism.languages.q = {
15
16
  // The / and \ must be the first char on the line, but may be followed by any amount of whitespace.
16
17
  {
17
18
  pattern: /(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/,
18
- lookbehind: true
19
+ lookbehind: true,
20
+ greedy: true
19
21
  },
20
22
  // From http://code.kx.com/wiki/Reference/Slash:
21
23
  // A \ on a line by itself with no preceding matching / will comment to end of file.
22
- /^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m,
23
-
24
- /^#!.+/m
24
+ {
25
+ pattern: /^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m,
26
+ greedy: true
27
+ },
28
+ {
29
+ pattern: /^#!.+/m,
30
+ greedy: true
31
+ }
25
32
  ],
26
33
  'symbol': /`(?::\S+|[\w.]*)/,
27
34
  'datetime': {
@@ -30,7 +37,7 @@ Prism.languages.q = {
30
37
  },
31
38
  // The negative look-ahead prevents bad highlighting
32
39
  // of verbs 0: and 1:
33
- 'number': /\b-?(?![01]:)(?:0[wn]|0W[hj]?|0N[hje]?|0x[\da-fA-F]+|\d+\.?\d*(?:e[+-]?\d+)?[hjfeb]?)/,
40
+ 'number': /\b(?![01]:)(?:0[wn]|0W[hj]?|0N[hje]?|0x[\da-fA-F]+|\d+\.?\d*(?:e[+-]?\d+)?[hjfeb]?)/,
34
41
  'keyword': /\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/,
35
42
  'adverb': {
36
43
  pattern: /['\/\\]:?|\beach\b/,
@@ -0,0 +1,58 @@
1
+ (function (Prism) {
2
+
3
+ var jsString = /"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'/.source;
4
+ var jsComment = /\/\/.*|\/\*(?:(?!\*\/)[\s\S])*\*\//.source;
5
+
6
+ var jsExpr = /(?:[^\\()[\]{}"'/]|<string>|\/(?![*/])|<comment>|\(<expr>*\)|\[<expr>*\]|\{<expr>*\}|\\[\s\S])/
7
+ .source.replace(/<string>/g, jsString).replace(/<comment>/g, jsComment);
8
+
9
+ // the pattern will blow up, so only a few iterations
10
+ for (var i = 0; i < 2; i++) {
11
+ jsExpr = jsExpr.replace(/<expr>/g, jsExpr);
12
+ }
13
+ jsExpr = jsExpr.replace(/<expr>/g, '[^\\s\\S]');
14
+
15
+
16
+ Prism.languages.qml = {
17
+ 'comment': {
18
+ pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
19
+ greedy: true
20
+ },
21
+ 'javascript-function': {
22
+ pattern: RegExp(/((?:^|;)[ \t]*)function\s+[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*\(<js>*\)\s*\{<js>*\}/.source.replace(/<js>/g, jsExpr), 'm'),
23
+ lookbehind: true,
24
+ greedy: true,
25
+ alias: 'language-javascript',
26
+ inside: Prism.languages.javascript
27
+ },
28
+ 'class-name': {
29
+ pattern: /((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m,
30
+ lookbehind: true
31
+ },
32
+ 'property': [
33
+ {
34
+ pattern: /((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,
35
+ lookbehind: true
36
+ },
37
+ {
38
+ pattern: /((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,
39
+ lookbehind: true,
40
+ inside: {
41
+ 'keyword': /^property/,
42
+ 'property': /\w+(?:\.\w+)*/
43
+ }
44
+ }
45
+ ],
46
+ 'javascript-expression': {
47
+ pattern: RegExp(/(:[ \t]*)(?![\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(/<js>/g, jsExpr), 'm'),
48
+ lookbehind: true,
49
+ greedy: true,
50
+ alias: 'language-javascript',
51
+ inside: Prism.languages.javascript
52
+ },
53
+ 'string': /"(?:\\.|[^\\"\r\n])*"/,
54
+ 'keyword': /\b(?:as|import|on)\b/,
55
+ 'punctuation': /[{}[\]:;,]/
56
+ };
57
+
58
+ }(Prism));
@@ -1,17 +1,20 @@
1
1
  Prism.languages.qore = Prism.languages.extend('clike', {
2
2
  'comment': {
3
- pattern: /(^|[^\\])(?:\/\*[\w\W]*?\*\/|(?:\/\/|#).*)/,
3
+ pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/|#).*)/,
4
4
  lookbehind: true
5
5
  },
6
6
  // Overridden to allow unescaped multi-line strings
7
- 'string': /("|')(\\(?:\r\n|[\s\S])|(?!\1)[^\\])*\1/,
7
+ 'string': {
8
+ pattern: /("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,
9
+ greedy: true
10
+ },
8
11
  'variable': /\$(?!\d)\w+\b/,
9
12
  'keyword': /\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/,
10
13
  'number': /\b(?:0b[01]+|0x[\da-f]*\.?[\da-fp\-]+|\d*\.?\d+e?\d*[df]|\d*\.?\d+)\b/i,
11
14
  'boolean': /\b(?:true|false)\b/i,
12
15
  'operator': {
13
- pattern: /(^|[^\.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/,
16
+ pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/,
14
17
  lookbehind: true
15
18
  },
16
19
  'function': /\$?\b(?!\d)\w+(?=\()/
17
- });
20
+ });
@@ -1,6 +1,9 @@
1
1
  Prism.languages.r = {
2
2
  'comment': /#.*/,
3
- 'string': /(['"])(?:\\?.)*?\1/,
3
+ 'string': {
4
+ pattern: /(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,
5
+ greedy: true
6
+ },
4
7
  'percent-operator': {
5
8
  // Includes user-defined operators
6
9
  // and %%, %*%, %/%, %in%, %o%, %x%
@@ -11,7 +14,7 @@ Prism.languages.r = {
11
14
  'ellipsis': /\.\.(?:\.|\d+)/,
12
15
  'number': [
13
16
  /\b(?:NaN|Inf)\b/,
14
- /\b(?:0x[\dA-Fa-f]+(?:\.\d*)?|\d*\.?\d+)(?:[EePp][+-]?\d+)?[iL]?\b/
17
+ /(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/
15
18
  ],
16
19
  'keyword': /\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/,
17
20
  'operator': /->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,
@@ -1,20 +1,16 @@
1
1
  Prism.languages.reason = Prism.languages.extend('clike', {
2
- 'comment': {
3
- pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
4
- lookbehind: true
5
- },
6
2
  'string': {
7
- pattern: /"(\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,
3
+ pattern: /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,
8
4
  greedy: true
9
5
  },
10
6
  // 'class-name' must be matched *after* 'constructor' defined below
11
7
  'class-name': /\b[A-Z]\w*/,
12
8
  'keyword': /\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,
13
- 'operator': /\.{3}|:[:=]|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/
9
+ 'operator': /\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/
14
10
  });
15
11
  Prism.languages.insertBefore('reason', 'class-name', {
16
12
  'character': {
17
- pattern: /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'])'/,
13
+ pattern: /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,
18
14
  alias: 'string'
19
15
  },
20
16
  'constructor': {
@@ -29,4 +25,4 @@ Prism.languages.insertBefore('reason', 'class-name', {
29
25
  });
30
26
 
31
27
  // We can't match functions property, so let's not even try.
32
- delete Prism.languages.reason.function;
28
+ delete Prism.languages.reason.function;
@@ -0,0 +1,97 @@
1
+ (function (Prism) {
2
+
3
+ var specialEscape = {
4
+ pattern: /\\[\\(){}[\]^$+*?|.]/,
5
+ alias: 'escape'
6
+ };
7
+ var escape = /\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|c[a-zA-Z]|0[0-7]{0,2}|[123][0-7]{2}|.)/
8
+ var charClass = /\\[wsd]|\.|\\p{[^{}]+}/i
9
+
10
+ var rangeChar = '(?:[^\\\\-]|' + escape.source + ')';
11
+ var range = RegExp(rangeChar + '-' + rangeChar);
12
+
13
+ // the name of a capturing group
14
+ var groupName = {
15
+ pattern: /(<|')[^<>']+(?=[>']$)/,
16
+ lookbehind: true,
17
+ alias: 'variable'
18
+ };
19
+
20
+ var backreference = [
21
+ /\\(?![123][0-7]{2})[1-9]/, // a backreference which is not an octal escape
22
+ {
23
+ pattern: /\\k<[^<>']+>/,
24
+ inside: {
25
+ 'group-name': groupName
26
+ }
27
+ }
28
+ ];
29
+
30
+ Prism.languages.regex = {
31
+ 'charset': {
32
+ pattern: /((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,
33
+ lookbehind: true,
34
+ inside: {
35
+ 'charset-negation': {
36
+ pattern: /(^\[)\^/,
37
+ lookbehind: true,
38
+ },
39
+ 'charset-punctuation': /^\[|\]$/,
40
+ 'range': {
41
+ pattern: range,
42
+ inside: {
43
+ 'escape': escape,
44
+ 'range-punctuation': /-/
45
+ }
46
+ },
47
+ 'special-escape': specialEscape,
48
+ 'charclass': charClass,
49
+ 'backreference': backreference,
50
+ 'escape': escape
51
+ }
52
+ },
53
+ 'special-escape': specialEscape,
54
+ 'charclass': charClass,
55
+ 'backreference': backreference,
56
+ 'anchor': /[$^]|\\[ABbGZz]/,
57
+ 'escape': escape,
58
+ 'group': [
59
+ {
60
+ // https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html
61
+ // https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference?view=netframework-4.7.2#grouping-constructs
62
+
63
+ // (), (?<name>), (?'name'), (?>), (?:), (?=), (?!), (?<=), (?<!), (?is-m), (?i-m:)
64
+ pattern: /\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,
65
+ inside: {
66
+ 'group-name': groupName
67
+ }
68
+ },
69
+ /\)/
70
+ ],
71
+ 'quantifier': /[+*?]|\{(?:\d+,?\d*)\}/,
72
+ 'alternation': /\|/
73
+ };
74
+
75
+
76
+ [
77
+ 'actionscript',
78
+ 'coffescript',
79
+ 'flow',
80
+ 'javascript',
81
+ 'typescript',
82
+ 'vala'
83
+ ].forEach(function (lang) {
84
+ var grammar = Prism.languages[lang];
85
+ if (grammar) {
86
+ grammar['regex'].inside = {
87
+ 'regex-flags': /[a-z]+$/,
88
+ 'regex-delimiter': /^\/|\/$/,
89
+ 'language-regex': {
90
+ pattern: /[\s\S]+/,
91
+ inside: Prism.languages.regex
92
+ }
93
+ };
94
+ }
95
+ });
96
+
97
+ }(Prism))