prism-rails 1.6.0.3 → 1.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (508) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +109 -44
  4. data/lib/prism-rails/version.rb +1 -1
  5. data/vendor/assets/javascripts/languages/index.js +82 -0
  6. data/vendor/assets/javascripts/languages/prism-abap.js +48 -0
  7. data/vendor/assets/javascripts/languages/prism-abnf.js +54 -0
  8. data/vendor/assets/javascripts/languages/prism-actionscript.js +19 -0
  9. data/vendor/assets/javascripts/languages/prism-ada.js +22 -0
  10. data/vendor/assets/javascripts/languages/prism-agda.js +24 -0
  11. data/vendor/assets/javascripts/languages/prism-al.js +25 -0
  12. data/vendor/assets/javascripts/languages/prism-antlr4.js +65 -0
  13. data/vendor/assets/javascripts/languages/prism-apacheconf.js +47 -0
  14. data/vendor/assets/javascripts/languages/prism-apex.js +65 -0
  15. data/vendor/assets/javascripts/{prism → languages}/prism-apl.js +7 -4
  16. data/vendor/assets/javascripts/languages/prism-applescript.js +17 -0
  17. data/vendor/assets/javascripts/languages/prism-aql.js +49 -0
  18. data/vendor/assets/javascripts/languages/prism-arduino.js +7 -0
  19. data/vendor/assets/javascripts/languages/prism-arff.js +10 -0
  20. data/vendor/assets/javascripts/languages/prism-armasm.js +49 -0
  21. data/vendor/assets/javascripts/languages/prism-arturo.js +105 -0
  22. data/vendor/assets/javascripts/{prism → languages}/prism-asciidoc.js +36 -73
  23. data/vendor/assets/javascripts/languages/prism-asm6502.js +29 -0
  24. data/vendor/assets/javascripts/languages/prism-asmatmel.js +43 -0
  25. data/vendor/assets/javascripts/languages/prism-aspnet.js +48 -0
  26. data/vendor/assets/javascripts/languages/prism-autohotkey.js +44 -0
  27. data/vendor/assets/javascripts/languages/prism-autoit.js +34 -0
  28. data/vendor/assets/javascripts/languages/prism-avisynth.js +188 -0
  29. data/vendor/assets/javascripts/languages/prism-avro-idl.js +50 -0
  30. data/vendor/assets/javascripts/languages/prism-awk.js +32 -0
  31. data/vendor/assets/javascripts/languages/prism-bash.js +235 -0
  32. data/vendor/assets/javascripts/{prism → languages}/prism-basic.js +7 -4
  33. data/vendor/assets/javascripts/{prism → languages}/prism-batch.js +10 -10
  34. data/vendor/assets/javascripts/languages/prism-bbcode.js +29 -0
  35. data/vendor/assets/javascripts/languages/prism-bbj.js +19 -0
  36. data/vendor/assets/javascripts/languages/prism-bicep.js +77 -0
  37. data/vendor/assets/javascripts/languages/prism-birb.js +23 -0
  38. data/vendor/assets/javascripts/{prism → languages}/prism-bison.js +2 -2
  39. data/vendor/assets/javascripts/languages/prism-bnf.js +21 -0
  40. data/vendor/assets/javascripts/languages/prism-bqn.js +63 -0
  41. data/vendor/assets/javascripts/{prism → languages}/prism-brainfuck.js +1 -1
  42. data/vendor/assets/javascripts/languages/prism-brightscript.js +44 -0
  43. data/vendor/assets/javascripts/languages/prism-bro.js +37 -0
  44. data/vendor/assets/javascripts/languages/prism-bsl.js +75 -0
  45. data/vendor/assets/javascripts/languages/prism-c.js +80 -0
  46. data/vendor/assets/javascripts/languages/prism-cfscript.js +44 -0
  47. data/vendor/assets/javascripts/languages/prism-chaiscript.js +60 -0
  48. data/vendor/assets/javascripts/languages/prism-cil.js +27 -0
  49. data/vendor/assets/javascripts/languages/prism-cilkc.js +8 -0
  50. data/vendor/assets/javascripts/languages/prism-cilkcpp.js +9 -0
  51. data/vendor/assets/javascripts/languages/prism-clike.js +31 -0
  52. data/vendor/assets/javascripts/languages/prism-clojure.js +31 -0
  53. data/vendor/assets/javascripts/languages/prism-cmake.js +29 -0
  54. data/vendor/assets/javascripts/languages/prism-cobol.js +53 -0
  55. data/vendor/assets/javascripts/languages/prism-coffeescript.js +96 -0
  56. data/vendor/assets/javascripts/languages/prism-concurnas.js +61 -0
  57. data/vendor/assets/javascripts/languages/prism-cooklang.js +146 -0
  58. data/vendor/assets/javascripts/languages/prism-coq.js +54 -0
  59. data/vendor/assets/javascripts/languages/prism-core.js +1263 -0
  60. data/vendor/assets/javascripts/languages/prism-cpp.js +99 -0
  61. data/vendor/assets/javascripts/languages/prism-crystal.js +57 -0
  62. data/vendor/assets/javascripts/languages/prism-csharp.js +366 -0
  63. data/vendor/assets/javascripts/languages/prism-cshtml.js +199 -0
  64. data/vendor/assets/javascripts/languages/prism-csp.js +76 -0
  65. data/vendor/assets/javascripts/languages/prism-css-extras.js +120 -0
  66. data/vendor/assets/javascripts/languages/prism-css.js +64 -0
  67. data/vendor/assets/javascripts/languages/prism-csv.js +6 -0
  68. data/vendor/assets/javascripts/languages/prism-cue.js +84 -0
  69. data/vendor/assets/javascripts/languages/prism-cypher.js +36 -0
  70. data/vendor/assets/javascripts/languages/prism-d.js +84 -0
  71. data/vendor/assets/javascripts/languages/prism-dart.js +79 -0
  72. data/vendor/assets/javascripts/languages/prism-dataweave.js +41 -0
  73. data/vendor/assets/javascripts/languages/prism-dax.js +27 -0
  74. data/vendor/assets/javascripts/languages/prism-dhall.js +69 -0
  75. data/vendor/assets/javascripts/languages/prism-diff.js +64 -0
  76. data/vendor/assets/javascripts/languages/prism-django.js +60 -0
  77. data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +33 -0
  78. data/vendor/assets/javascripts/languages/prism-docker.js +98 -0
  79. data/vendor/assets/javascripts/languages/prism-dot.js +76 -0
  80. data/vendor/assets/javascripts/languages/prism-ebnf.js +22 -0
  81. data/vendor/assets/javascripts/languages/prism-editorconfig.js +26 -0
  82. data/vendor/assets/javascripts/{prism → languages}/prism-eiffel.js +19 -9
  83. data/vendor/assets/javascripts/languages/prism-ejs.js +26 -0
  84. data/vendor/assets/javascripts/languages/prism-elixir.js +98 -0
  85. data/vendor/assets/javascripts/languages/prism-elm.js +45 -0
  86. data/vendor/assets/javascripts/languages/prism-erb.js +25 -0
  87. data/vendor/assets/javascripts/{prism → languages}/prism-erlang.js +12 -9
  88. data/vendor/assets/javascripts/languages/prism-etlua.js +23 -0
  89. data/vendor/assets/javascripts/languages/prism-excel-formula.js +66 -0
  90. data/vendor/assets/javascripts/languages/prism-factor.js +403 -0
  91. data/vendor/assets/javascripts/languages/prism-false.js +32 -0
  92. data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +35 -0
  93. data/vendor/assets/javascripts/languages/prism-flow.js +35 -0
  94. data/vendor/assets/javascripts/{prism → languages}/prism-fortran.js +11 -8
  95. data/vendor/assets/javascripts/languages/prism-fsharp.js +75 -0
  96. data/vendor/assets/javascripts/languages/prism-ftl.js +98 -0
  97. data/vendor/assets/javascripts/languages/prism-gap.js +54 -0
  98. data/vendor/assets/javascripts/languages/prism-gcode.js +16 -0
  99. data/vendor/assets/javascripts/languages/prism-gdscript.js +27 -0
  100. data/vendor/assets/javascripts/languages/prism-gedcom.js +28 -0
  101. data/vendor/assets/javascripts/languages/prism-gettext.js +43 -0
  102. data/vendor/assets/javascripts/languages/prism-gherkin.js +85 -0
  103. data/vendor/assets/javascripts/{prism → languages}/prism-git.js +3 -3
  104. data/vendor/assets/javascripts/languages/prism-glsl.js +3 -0
  105. data/vendor/assets/javascripts/languages/prism-gml.js +7 -0
  106. data/vendor/assets/javascripts/languages/prism-gn.js +51 -0
  107. data/vendor/assets/javascripts/languages/prism-go-module.js +24 -0
  108. data/vendor/assets/javascripts/languages/prism-go.js +28 -0
  109. data/vendor/assets/javascripts/languages/prism-gradle.js +63 -0
  110. data/vendor/assets/javascripts/languages/prism-graphql.js +211 -0
  111. data/vendor/assets/javascripts/languages/prism-groovy.js +65 -0
  112. data/vendor/assets/javascripts/{prism → languages}/prism-haml.js +32 -37
  113. data/vendor/assets/javascripts/languages/prism-handlebars.js +40 -0
  114. data/vendor/assets/javascripts/languages/prism-haskell.js +66 -0
  115. data/vendor/assets/javascripts/languages/prism-haxe.js +78 -0
  116. data/vendor/assets/javascripts/languages/prism-hcl.js +63 -0
  117. data/vendor/assets/javascripts/languages/prism-hlsl.js +20 -0
  118. data/vendor/assets/javascripts/languages/prism-hoon.js +14 -0
  119. data/vendor/assets/javascripts/languages/prism-hpkp.js +14 -0
  120. data/vendor/assets/javascripts/languages/prism-hsts.js +14 -0
  121. data/vendor/assets/javascripts/languages/prism-http.js +151 -0
  122. data/vendor/assets/javascripts/languages/prism-ichigojam.js +15 -0
  123. data/vendor/assets/javascripts/{prism → languages}/prism-icon.js +6 -3
  124. data/vendor/assets/javascripts/languages/prism-icu-message-format.js +148 -0
  125. data/vendor/assets/javascripts/languages/prism-idris.js +19 -0
  126. data/vendor/assets/javascripts/languages/prism-iecst.js +32 -0
  127. data/vendor/assets/javascripts/languages/prism-ignore.js +23 -0
  128. data/vendor/assets/javascripts/{prism → languages}/prism-inform7.js +14 -11
  129. data/vendor/assets/javascripts/languages/prism-ini.js +42 -0
  130. data/vendor/assets/javascripts/languages/prism-io.js +22 -0
  131. data/vendor/assets/javascripts/{prism → languages}/prism-j.js +12 -6
  132. data/vendor/assets/javascripts/languages/prism-java.js +124 -0
  133. data/vendor/assets/javascripts/languages/prism-javadoc.js +82 -0
  134. data/vendor/assets/javascripts/languages/prism-javadoclike.js +87 -0
  135. data/vendor/assets/javascripts/languages/prism-javascript.js +172 -0
  136. data/vendor/assets/javascripts/languages/prism-javastacktrace.js +142 -0
  137. data/vendor/assets/javascripts/languages/prism-jexl.js +14 -0
  138. data/vendor/assets/javascripts/languages/prism-jolie.js +41 -0
  139. data/vendor/assets/javascripts/languages/prism-jq.js +69 -0
  140. data/vendor/assets/javascripts/languages/prism-js-extras.js +135 -0
  141. data/vendor/assets/javascripts/languages/prism-js-templates.js +349 -0
  142. data/vendor/assets/javascripts/languages/prism-jsdoc.js +78 -0
  143. data/vendor/assets/javascripts/languages/prism-json.js +27 -0
  144. data/vendor/assets/javascripts/languages/prism-json5.js +23 -0
  145. data/vendor/assets/javascripts/languages/prism-jsonp.js +7 -0
  146. data/vendor/assets/javascripts/languages/prism-jsstacktrace.js +49 -0
  147. data/vendor/assets/javascripts/languages/prism-jsx.js +145 -0
  148. data/vendor/assets/javascripts/languages/prism-julia.js +35 -0
  149. data/vendor/assets/javascripts/languages/prism-keepalived.js +51 -0
  150. data/vendor/assets/javascripts/languages/prism-keyman.js +44 -0
  151. data/vendor/assets/javascripts/languages/prism-kotlin.js +88 -0
  152. data/vendor/assets/javascripts/languages/prism-kumir.js +106 -0
  153. data/vendor/assets/javascripts/languages/prism-kusto.js +44 -0
  154. data/vendor/assets/javascripts/languages/prism-latex.js +64 -0
  155. data/vendor/assets/javascripts/languages/prism-latte.js +63 -0
  156. data/vendor/assets/javascripts/{prism → languages}/prism-less.js +6 -12
  157. data/vendor/assets/javascripts/languages/prism-lilypond.js +69 -0
  158. data/vendor/assets/javascripts/languages/prism-linker-script.js +30 -0
  159. data/vendor/assets/javascripts/languages/prism-liquid.js +66 -0
  160. data/vendor/assets/javascripts/languages/prism-lisp.js +197 -0
  161. data/vendor/assets/javascripts/{prism → languages}/prism-livescript.js +20 -19
  162. data/vendor/assets/javascripts/languages/prism-llvm.js +19 -0
  163. data/vendor/assets/javascripts/languages/prism-log.js +120 -0
  164. data/vendor/assets/javascripts/languages/prism-lolcode.js +55 -0
  165. data/vendor/assets/javascripts/{prism → languages}/prism-lua.js +3 -3
  166. data/vendor/assets/javascripts/languages/prism-magma.js +35 -0
  167. data/vendor/assets/javascripts/languages/prism-makefile.js +34 -0
  168. data/vendor/assets/javascripts/languages/prism-markdown.js +415 -0
  169. data/vendor/assets/javascripts/languages/prism-markup-templating.js +124 -0
  170. data/vendor/assets/javascripts/languages/prism-markup.js +186 -0
  171. data/vendor/assets/javascripts/languages/prism-mata.js +50 -0
  172. data/vendor/assets/javascripts/languages/prism-matlab.js +16 -0
  173. data/vendor/assets/javascripts/languages/prism-maxscript.js +91 -0
  174. data/vendor/assets/javascripts/languages/prism-mel.js +46 -0
  175. data/vendor/assets/javascripts/languages/prism-mermaid.js +113 -0
  176. data/vendor/assets/javascripts/languages/prism-metafont.js +84 -0
  177. data/vendor/assets/javascripts/{prism → languages}/prism-mizar.js +3 -3
  178. data/vendor/assets/javascripts/languages/prism-mongodb.js +97 -0
  179. data/vendor/assets/javascripts/languages/prism-monkey.js +29 -0
  180. data/vendor/assets/javascripts/languages/prism-moonscript.js +57 -0
  181. data/vendor/assets/javascripts/languages/prism-n1ql.js +24 -0
  182. data/vendor/assets/javascripts/languages/prism-n4js.js +14 -0
  183. data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +9 -0
  184. data/vendor/assets/javascripts/languages/prism-naniscript.js +170 -0
  185. data/vendor/assets/javascripts/languages/prism-nasm.js +24 -0
  186. data/vendor/assets/javascripts/languages/prism-neon.js +40 -0
  187. data/vendor/assets/javascripts/languages/prism-nevod.js +125 -0
  188. data/vendor/assets/javascripts/languages/prism-nginx.js +54 -0
  189. data/vendor/assets/javascripts/{prism → languages}/prism-nim.js +26 -12
  190. data/vendor/assets/javascripts/{prism → languages}/prism-nix.js +11 -13
  191. data/vendor/assets/javascripts/languages/prism-nsis.js +30 -0
  192. data/vendor/assets/javascripts/languages/prism-objectivec.js +12 -0
  193. data/vendor/assets/javascripts/languages/prism-ocaml.js +58 -0
  194. data/vendor/assets/javascripts/languages/prism-odin.js +99 -0
  195. data/vendor/assets/javascripts/languages/prism-opencl.js +61 -0
  196. data/vendor/assets/javascripts/languages/prism-openqasm.js +23 -0
  197. data/vendor/assets/javascripts/languages/prism-oz.js +28 -0
  198. data/vendor/assets/javascripts/{prism → languages}/prism-parigp.js +8 -5
  199. data/vendor/assets/javascripts/languages/prism-parser.js +73 -0
  200. data/vendor/assets/javascripts/{prism → languages}/prism-pascal.js +31 -10
  201. data/vendor/assets/javascripts/languages/prism-pascaligo.js +62 -0
  202. data/vendor/assets/javascripts/languages/prism-pcaxis.js +53 -0
  203. data/vendor/assets/javascripts/languages/prism-peoplecode.js +42 -0
  204. data/vendor/assets/javascripts/languages/prism-perl.js +156 -0
  205. data/vendor/assets/javascripts/languages/prism-php-extras.js +14 -0
  206. data/vendor/assets/javascripts/languages/prism-php.js +342 -0
  207. data/vendor/assets/javascripts/languages/prism-phpdoc.js +27 -0
  208. data/vendor/assets/javascripts/languages/prism-plant-uml.js +103 -0
  209. data/vendor/assets/javascripts/languages/prism-plsql.js +17 -0
  210. data/vendor/assets/javascripts/languages/prism-powerquery.js +55 -0
  211. data/vendor/assets/javascripts/languages/prism-powershell.js +58 -0
  212. data/vendor/assets/javascripts/languages/prism-processing.js +15 -0
  213. data/vendor/assets/javascripts/{prism → languages}/prism-prolog.js +10 -8
  214. data/vendor/assets/javascripts/languages/prism-promql.js +99 -0
  215. data/vendor/assets/javascripts/languages/prism-properties.js +13 -0
  216. data/vendor/assets/javascripts/languages/prism-protobuf.js +43 -0
  217. data/vendor/assets/javascripts/languages/prism-psl.js +35 -0
  218. data/vendor/assets/javascripts/languages/prism-pug.js +188 -0
  219. data/vendor/assets/javascripts/{prism → languages}/prism-puppet.js +13 -8
  220. data/vendor/assets/javascripts/{prism → languages}/prism-pure.js +27 -22
  221. data/vendor/assets/javascripts/languages/prism-purebasic.js +70 -0
  222. data/vendor/assets/javascripts/languages/prism-purescript.js +31 -0
  223. data/vendor/assets/javascripts/languages/prism-python.js +65 -0
  224. data/vendor/assets/javascripts/{prism → languages}/prism-q.js +16 -9
  225. data/vendor/assets/javascripts/languages/prism-qml.js +61 -0
  226. data/vendor/assets/javascripts/{prism → languages}/prism-qore.js +12 -9
  227. data/vendor/assets/javascripts/languages/prism-qsharp.js +132 -0
  228. data/vendor/assets/javascripts/languages/prism-r.js +22 -0
  229. data/vendor/assets/javascripts/languages/prism-racket.js +18 -0
  230. data/vendor/assets/javascripts/{prism → languages}/prism-reason.js +8 -15
  231. data/vendor/assets/javascripts/languages/prism-regex.js +104 -0
  232. data/vendor/assets/javascripts/languages/prism-rego.js +30 -0
  233. data/vendor/assets/javascripts/languages/prism-renpy.js +29 -0
  234. data/vendor/assets/javascripts/languages/prism-rescript.js +60 -0
  235. data/vendor/assets/javascripts/{prism → languages}/prism-rest.js +18 -18
  236. data/vendor/assets/javascripts/languages/prism-rip.js +38 -0
  237. data/vendor/assets/javascripts/{prism → languages}/prism-roboconf.js +3 -3
  238. data/vendor/assets/javascripts/languages/prism-robotframework.js +104 -0
  239. data/vendor/assets/javascripts/languages/prism-ruby.js +189 -0
  240. data/vendor/assets/javascripts/languages/prism-rust.js +128 -0
  241. data/vendor/assets/javascripts/languages/prism-sas.js +326 -0
  242. data/vendor/assets/javascripts/{prism → languages}/prism-sass.js +16 -12
  243. data/vendor/assets/javascripts/languages/prism-scala.js +50 -0
  244. data/vendor/assets/javascripts/languages/prism-scheme.js +120 -0
  245. data/vendor/assets/javascripts/{prism → languages}/prism-scss.js +27 -21
  246. data/vendor/assets/javascripts/languages/prism-shell-session.js +70 -0
  247. data/vendor/assets/javascripts/languages/prism-smali.js +87 -0
  248. data/vendor/assets/javascripts/{prism → languages}/prism-smalltalk.js +17 -10
  249. data/vendor/assets/javascripts/languages/prism-smarty.js +131 -0
  250. data/vendor/assets/javascripts/languages/prism-sml.js +68 -0
  251. data/vendor/assets/javascripts/languages/prism-solidity.js +22 -0
  252. data/vendor/assets/javascripts/languages/prism-solution-file.js +51 -0
  253. data/vendor/assets/javascripts/languages/prism-soy.js +96 -0
  254. data/vendor/assets/javascripts/languages/prism-sparql.js +18 -0
  255. data/vendor/assets/javascripts/languages/prism-splunk-spl.js +24 -0
  256. data/vendor/assets/javascripts/languages/prism-sqf.js +34 -0
  257. data/vendor/assets/javascripts/languages/prism-sql.js +32 -0
  258. data/vendor/assets/javascripts/languages/prism-squirrel.js +47 -0
  259. data/vendor/assets/javascripts/languages/prism-stan.js +65 -0
  260. data/vendor/assets/javascripts/languages/prism-stata.js +76 -0
  261. data/vendor/assets/javascripts/languages/prism-stylus.js +143 -0
  262. data/vendor/assets/javascripts/languages/prism-supercollider.js +36 -0
  263. data/vendor/assets/javascripts/languages/prism-swift.js +148 -0
  264. data/vendor/assets/javascripts/languages/prism-systemd.js +74 -0
  265. data/vendor/assets/javascripts/languages/prism-t4-cs.js +1 -0
  266. data/vendor/assets/javascripts/languages/prism-t4-templating.js +49 -0
  267. data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -0
  268. data/vendor/assets/javascripts/languages/prism-tap.js +22 -0
  269. data/vendor/assets/javascripts/languages/prism-tcl.js +46 -0
  270. data/vendor/assets/javascripts/languages/prism-textile.js +286 -0
  271. data/vendor/assets/javascripts/languages/prism-toml.js +49 -0
  272. data/vendor/assets/javascripts/languages/prism-tremor.js +72 -0
  273. data/vendor/assets/javascripts/languages/prism-tsx.js +15 -0
  274. data/vendor/assets/javascripts/languages/prism-tt2.js +53 -0
  275. data/vendor/assets/javascripts/languages/prism-turtle.js +54 -0
  276. data/vendor/assets/javascripts/languages/prism-twig.js +44 -0
  277. data/vendor/assets/javascripts/languages/prism-typescript.js +60 -0
  278. data/vendor/assets/javascripts/languages/prism-typoscript.js +80 -0
  279. data/vendor/assets/javascripts/languages/prism-unrealscript.js +42 -0
  280. data/vendor/assets/javascripts/languages/prism-uorazor.js +48 -0
  281. data/vendor/assets/javascripts/languages/prism-uri.js +96 -0
  282. data/vendor/assets/javascripts/languages/prism-v.js +81 -0
  283. data/vendor/assets/javascripts/languages/prism-vala.js +84 -0
  284. data/vendor/assets/javascripts/languages/prism-vbnet.js +22 -0
  285. data/vendor/assets/javascripts/languages/prism-velocity.js +72 -0
  286. data/vendor/assets/javascripts/languages/prism-verilog.js +26 -0
  287. data/vendor/assets/javascripts/languages/prism-vhdl.js +26 -0
  288. data/vendor/assets/javascripts/languages/prism-vim.js +10 -0
  289. data/vendor/assets/javascripts/languages/prism-visual-basic.js +29 -0
  290. data/vendor/assets/javascripts/languages/prism-warpscript.js +21 -0
  291. data/vendor/assets/javascripts/languages/prism-wasm.js +31 -0
  292. data/vendor/assets/javascripts/languages/prism-web-idl.js +101 -0
  293. data/vendor/assets/javascripts/languages/prism-wgsl.js +69 -0
  294. data/vendor/assets/javascripts/{prism → languages}/prism-wiki.js +9 -8
  295. data/vendor/assets/javascripts/languages/prism-wolfram.js +29 -0
  296. data/vendor/assets/javascripts/languages/prism-wren.js +100 -0
  297. data/vendor/assets/javascripts/languages/prism-xeora.js +114 -0
  298. data/vendor/assets/javascripts/languages/prism-xml-doc.js +40 -0
  299. data/vendor/assets/javascripts/languages/prism-xojo.js +21 -0
  300. data/vendor/assets/javascripts/languages/prism-xquery.js +162 -0
  301. data/vendor/assets/javascripts/languages/prism-yaml.js +83 -0
  302. data/vendor/assets/javascripts/languages/prism-yang.js +20 -0
  303. data/vendor/assets/javascripts/languages/prism-zig.js +101 -0
  304. data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +63 -63
  305. data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +465 -122
  306. data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +221 -63
  307. data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +128 -43
  308. data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +105 -24
  309. data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +4 -8
  310. data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +90 -0
  311. data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +20 -0
  312. data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +179 -61
  313. data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +127 -0
  314. data/vendor/assets/javascripts/prism-plugin/prism-highlight-keywords.js +10 -13
  315. data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +105 -0
  316. data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +264 -112
  317. data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +53 -24
  318. data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +328 -115
  319. data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +237 -42
  320. data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +190 -0
  321. data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +206 -149
  322. data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +712 -0
  323. data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +17 -17
  324. data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +83 -19
  325. data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +317 -20
  326. data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +61 -15
  327. data/vendor/assets/javascripts/prism-plugin/prism-treeview.js +70 -0
  328. data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +39 -17
  329. data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +132 -147
  330. data/vendor/assets/javascripts/prism.js +302 -127
  331. data/vendor/assets/stylesheets/prism-plugin/prism-autolinker.min.css +1 -0
  332. data/vendor/assets/stylesheets/prism-plugin/prism-command-line.css +11 -1
  333. data/vendor/assets/stylesheets/prism-plugin/prism-command-line.min.css +1 -0
  334. data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.css +13 -0
  335. data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.min.css +1 -0
  336. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +33 -0
  337. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.min.css +1 -0
  338. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +26 -0
  339. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.min.css +1 -0
  340. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +4 -4
  341. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.min.css +1 -0
  342. data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.css +29 -0
  343. data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.min.css +1 -0
  344. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +243 -0
  345. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.min.css +1 -0
  346. data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.css +7 -6
  347. data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.min.css +1 -0
  348. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +22 -15
  349. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.min.css +1 -0
  350. data/vendor/assets/stylesheets/prism-plugin/prism-treeview.css +168 -0
  351. data/vendor/assets/stylesheets/prism-plugin/prism-treeview.min.css +1 -0
  352. data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.css +4 -4
  353. data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.min.css +1 -0
  354. data/vendor/assets/stylesheets/prism-plugin/prism-wpd.min.css +1 -0
  355. data/vendor/assets/stylesheets/prism-theme/prism-a11y-dark.css +161 -0
  356. data/vendor/assets/stylesheets/{prism-atom-dark.css → prism-theme/prism-atom-dark.css} +10 -13
  357. data/vendor/assets/stylesheets/prism-theme/prism-autolinker.css +3 -0
  358. data/vendor/assets/stylesheets/{prism-base16-ateliersulphurpool.light.css → prism-theme/prism-base16-ateliersulphurpool.light.css} +60 -56
  359. data/vendor/assets/stylesheets/{prism-cb.css → prism-theme/prism-cb.css} +20 -50
  360. data/vendor/assets/stylesheets/prism-theme/prism-coldark-cold.css +317 -0
  361. data/vendor/assets/stylesheets/prism-theme/prism-coldark-dark.css +317 -0
  362. data/vendor/assets/stylesheets/prism-theme/prism-command-line.css +33 -0
  363. data/vendor/assets/stylesheets/prism-theme/prism-coy-without-shadows.css +140 -0
  364. data/vendor/assets/stylesheets/{prism-coy.css → prism-theme/prism-coy.css} +17 -19
  365. data/vendor/assets/stylesheets/prism-theme/prism-coy.min.css +1 -0
  366. data/vendor/assets/stylesheets/prism-theme/prism-darcula.css +159 -0
  367. data/vendor/assets/stylesheets/{prism-dark.css → prism-theme/prism-dark.css} +2 -1
  368. data/vendor/assets/stylesheets/prism-theme/prism-dark.min.css +1 -0
  369. data/vendor/assets/stylesheets/prism-theme/prism-dracula.css +122 -0
  370. data/vendor/assets/stylesheets/{prism-duotone-dark.css → prism-theme/prism-duotone-dark.css} +58 -54
  371. data/vendor/assets/stylesheets/{prism-duotone-earth.css → prism-theme/prism-duotone-earth.css} +58 -54
  372. data/vendor/assets/stylesheets/{prism-duotone-forest.css → prism-theme/prism-duotone-forest.css} +58 -54
  373. data/vendor/assets/stylesheets/{prism-duotone-light.css → prism-theme/prism-duotone-light.css} +58 -54
  374. data/vendor/assets/stylesheets/{prism-duotone-sea.css → prism-theme/prism-duotone-sea.css} +58 -54
  375. data/vendor/assets/stylesheets/{prism-duotone-space.css → prism-theme/prism-duotone-space.css} +58 -54
  376. data/vendor/assets/stylesheets/{prism-funky.css → prism-theme/prism-funky.css} +16 -2
  377. data/vendor/assets/stylesheets/prism-theme/prism-funky.min.css +1 -0
  378. data/vendor/assets/stylesheets/{prism-ghcolors.css → prism-theme/prism-ghcolors.css} +47 -44
  379. data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-dark.css +143 -0
  380. data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-light.css +143 -0
  381. data/vendor/assets/stylesheets/prism-theme/prism-holi-theme.css +119 -0
  382. data/vendor/assets/stylesheets/prism-theme/prism-hopscotch.css +132 -0
  383. data/vendor/assets/stylesheets/prism-theme/prism-laserwave.css +133 -0
  384. data/vendor/assets/stylesheets/prism-theme/prism-line-highlight.css +49 -0
  385. data/vendor/assets/stylesheets/prism-theme/prism-line-numbers.css +41 -0
  386. data/vendor/assets/stylesheets/prism-theme/prism-lucario.css +122 -0
  387. data/vendor/assets/stylesheets/prism-theme/prism-material-dark.css +205 -0
  388. data/vendor/assets/stylesheets/prism-theme/prism-material-light.css +207 -0
  389. data/vendor/assets/stylesheets/prism-theme/prism-material-oceanic.css +210 -0
  390. data/vendor/assets/stylesheets/prism-theme/prism-night-owl.css +158 -0
  391. data/vendor/assets/stylesheets/prism-theme/prism-nord.css +124 -0
  392. data/vendor/assets/stylesheets/{prism-okaidia.css → prism-theme/prism-okaidia.css} +5 -3
  393. data/vendor/assets/stylesheets/prism-theme/prism-okaidia.min.css +1 -0
  394. data/vendor/assets/stylesheets/prism-theme/prism-one-dark.css +440 -0
  395. data/vendor/assets/stylesheets/prism-theme/prism-one-light.css +428 -0
  396. data/vendor/assets/stylesheets/prism-theme/prism-pojoaque.css +151 -0
  397. data/vendor/assets/stylesheets/prism-theme/prism-previewers.css +242 -0
  398. data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +196 -0
  399. data/vendor/assets/stylesheets/prism-theme/prism-show-invisibles.css +34 -0
  400. data/vendor/assets/stylesheets/prism-theme/prism-solarized-dark-atom.css +143 -0
  401. data/vendor/assets/stylesheets/{prism-solarizedlight.css → prism-theme/prism-solarizedlight.css} +5 -3
  402. data/vendor/assets/stylesheets/prism-theme/prism-solarizedlight.min.css +1 -0
  403. data/vendor/assets/stylesheets/prism-theme/prism-synthwave84.css +140 -0
  404. data/vendor/assets/stylesheets/{prism-tomorrow.css → prism-theme/prism-tomorrow.css} +1 -0
  405. data/vendor/assets/stylesheets/prism-theme/prism-tomorrow.min.css +1 -0
  406. data/vendor/assets/stylesheets/{prism-toolbar.css → prism-theme/prism-toolbar.css} +15 -15
  407. data/vendor/assets/stylesheets/{prism-twilight.css → prism-theme/prism-twilight.css} +5 -34
  408. data/vendor/assets/stylesheets/prism-theme/prism-twilight.min.css +1 -0
  409. data/vendor/assets/stylesheets/prism-theme/prism-unescaped-markup.css +10 -0
  410. data/vendor/assets/stylesheets/prism-theme/prism-vs.css +168 -0
  411. data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +275 -0
  412. data/vendor/assets/stylesheets/prism-theme/prism-wpd.css +11 -0
  413. data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +162 -0
  414. data/vendor/assets/stylesheets/prism-theme/prism-z-touch.css +160 -0
  415. data/vendor/assets/stylesheets/prism.css +6 -3
  416. metadata +392 -151
  417. data/vendor/assets/javascripts/prism/prism-abap.js +0 -48
  418. data/vendor/assets/javascripts/prism/prism-actionscript.js +0 -17
  419. data/vendor/assets/javascripts/prism/prism-ada.js +0 -19
  420. data/vendor/assets/javascripts/prism/prism-apacheconf.js +0 -47
  421. data/vendor/assets/javascripts/prism/prism-applescript.js +0 -20
  422. data/vendor/assets/javascripts/prism/prism-aspnet.js +0 -36
  423. data/vendor/assets/javascripts/prism/prism-autohotkey.js +0 -27
  424. data/vendor/assets/javascripts/prism/prism-autoit.js +0 -33
  425. data/vendor/assets/javascripts/prism/prism-bash.js +0 -80
  426. data/vendor/assets/javascripts/prism/prism-bro.js +0 -50
  427. data/vendor/assets/javascripts/prism/prism-c.js +0 -33
  428. data/vendor/assets/javascripts/prism/prism-clike.js +0 -29
  429. data/vendor/assets/javascripts/prism/prism-coffeescript.js +0 -91
  430. data/vendor/assets/javascripts/prism/prism-core.js +0 -511
  431. data/vendor/assets/javascripts/prism/prism-cpp.js +0 -12
  432. data/vendor/assets/javascripts/prism/prism-crystal.js +0 -53
  433. data/vendor/assets/javascripts/prism/prism-csharp.js +0 -32
  434. data/vendor/assets/javascripts/prism/prism-css-extras.js +0 -16
  435. data/vendor/assets/javascripts/prism/prism-css.js +0 -51
  436. data/vendor/assets/javascripts/prism/prism-d.js +0 -64
  437. data/vendor/assets/javascripts/prism/prism-dart.js +0 -18
  438. data/vendor/assets/javascripts/prism/prism-diff.js +0 -20
  439. data/vendor/assets/javascripts/prism/prism-docker.js +0 -9
  440. data/vendor/assets/javascripts/prism/prism-elixir.js +0 -90
  441. data/vendor/assets/javascripts/prism/prism-fsharp.js +0 -33
  442. data/vendor/assets/javascripts/prism/prism-gherkin.js +0 -78
  443. data/vendor/assets/javascripts/prism/prism-glsl.js +0 -16
  444. data/vendor/assets/javascripts/prism/prism-go.js +0 -9
  445. data/vendor/assets/javascripts/prism/prism-graphql.js +0 -24
  446. data/vendor/assets/javascripts/prism/prism-groovy.js +0 -65
  447. data/vendor/assets/javascripts/prism/prism-handlebars.js +0 -83
  448. data/vendor/assets/javascripts/prism/prism-haskell.js +0 -35
  449. data/vendor/assets/javascripts/prism/prism-haxe.js +0 -43
  450. data/vendor/assets/javascripts/prism/prism-http.js +0 -50
  451. data/vendor/assets/javascripts/prism/prism-ini.js +0 -11
  452. data/vendor/assets/javascripts/prism/prism-java.js +0 -16
  453. data/vendor/assets/javascripts/prism/prism-javascript.js +0 -48
  454. data/vendor/assets/javascripts/prism/prism-jolie.js +0 -56
  455. data/vendor/assets/javascripts/prism/prism-json.js +0 -11
  456. data/vendor/assets/javascripts/prism/prism-jsx.js +0 -27
  457. data/vendor/assets/javascripts/prism/prism-julia.js +0 -12
  458. data/vendor/assets/javascripts/prism/prism-keyman.js +0 -14
  459. data/vendor/assets/javascripts/prism/prism-kotlin.js +0 -62
  460. data/vendor/assets/javascripts/prism/prism-latex.js +0 -61
  461. data/vendor/assets/javascripts/prism/prism-lolcode.js +0 -54
  462. data/vendor/assets/javascripts/prism/prism-makefile.js +0 -31
  463. data/vendor/assets/javascripts/prism/prism-markdown.js +0 -120
  464. data/vendor/assets/javascripts/prism/prism-markup.js +0 -46
  465. data/vendor/assets/javascripts/prism/prism-matlab.js +0 -14
  466. data/vendor/assets/javascripts/prism/prism-mel.js +0 -39
  467. data/vendor/assets/javascripts/prism/prism-monkey.js +0 -25
  468. data/vendor/assets/javascripts/prism/prism-nasm.js +0 -24
  469. data/vendor/assets/javascripts/prism/prism-nginx.js +0 -11
  470. data/vendor/assets/javascripts/prism/prism-nsis.js +0 -26
  471. data/vendor/assets/javascripts/prism/prism-objectivec.js +0 -5
  472. data/vendor/assets/javascripts/prism/prism-ocaml.js +0 -21
  473. data/vendor/assets/javascripts/prism/prism-oz.js +0 -21
  474. data/vendor/assets/javascripts/prism/prism-parser.js +0 -66
  475. data/vendor/assets/javascripts/prism/prism-perl.js +0 -140
  476. data/vendor/assets/javascripts/prism/prism-php-extras.js +0 -11
  477. data/vendor/assets/javascripts/prism/prism-php.js +0 -111
  478. data/vendor/assets/javascripts/prism/prism-powershell.js +0 -52
  479. data/vendor/assets/javascripts/prism/prism-processing.js +0 -18
  480. data/vendor/assets/javascripts/prism/prism-properties.js +0 -9
  481. data/vendor/assets/javascripts/prism/prism-protobuf.js +0 -8
  482. data/vendor/assets/javascripts/prism/prism-python.js +0 -27
  483. data/vendor/assets/javascripts/prism/prism-r.js +0 -19
  484. data/vendor/assets/javascripts/prism/prism-rip.js +0 -28
  485. data/vendor/assets/javascripts/prism/prism-ruby.js +0 -116
  486. data/vendor/assets/javascripts/prism/prism-rust.js +0 -53
  487. data/vendor/assets/javascripts/prism/prism-sas.js +0 -31
  488. data/vendor/assets/javascripts/prism/prism-scala.js +0 -18
  489. data/vendor/assets/javascripts/prism/prism-scheme.js +0 -26
  490. data/vendor/assets/javascripts/prism/prism-smarty.js +0 -127
  491. data/vendor/assets/javascripts/prism/prism-sql.js +0 -17
  492. data/vendor/assets/javascripts/prism/prism-stylus.js +0 -102
  493. data/vendor/assets/javascripts/prism/prism-swift.js +0 -25
  494. data/vendor/assets/javascripts/prism/prism-tcl.js +0 -43
  495. data/vendor/assets/javascripts/prism/prism-textile.js +0 -257
  496. data/vendor/assets/javascripts/prism/prism-twig.js +0 -46
  497. data/vendor/assets/javascripts/prism/prism-typescript.js +0 -5
  498. data/vendor/assets/javascripts/prism/prism-verilog.js +0 -17
  499. data/vendor/assets/javascripts/prism/prism-vhdl.js +0 -23
  500. data/vendor/assets/javascripts/prism/prism-vim.js +0 -10
  501. data/vendor/assets/javascripts/prism/prism-xojo.js +0 -20
  502. data/vendor/assets/javascripts/prism/prism-yaml.js +0 -44
  503. data/vendor/assets/stylesheets/prism-hopscotch.css +0 -124
  504. data/vendor/assets/stylesheets/prism-pojoaque.css +0 -134
  505. data/vendor/assets/stylesheets/prism-vs.css +0 -157
  506. data/vendor/assets/stylesheets/prism-xonokai.css +0 -164
  507. /data/vendor/assets/javascripts/{prism → languages}/prism-jade.js +0 -0
  508. /data/vendor/assets/stylesheets/{prism-show-language.css → prism-theme/prism-show-language.css} +0 -0
@@ -0,0 +1,211 @@
1
+ Prism.languages.graphql = {
2
+ 'comment': /#.*/,
3
+ 'description': {
4
+ pattern: /(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,
5
+ greedy: true,
6
+ alias: 'string',
7
+ inside: {
8
+ 'language-markdown': {
9
+ pattern: /(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,
10
+ lookbehind: true,
11
+ inside: Prism.languages.markdown
12
+ }
13
+ }
14
+ },
15
+ 'string': {
16
+ pattern: /"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,
17
+ greedy: true
18
+ },
19
+ 'number': /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
20
+ 'boolean': /\b(?:false|true)\b/,
21
+ 'variable': /\$[a-z_]\w*/i,
22
+ 'directive': {
23
+ pattern: /@[a-z_]\w*/i,
24
+ alias: 'function'
25
+ },
26
+ 'attr-name': {
27
+ pattern: /\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,
28
+ greedy: true
29
+ },
30
+ 'atom-input': {
31
+ pattern: /\b[A-Z]\w*Input\b/,
32
+ alias: 'class-name'
33
+ },
34
+ 'scalar': /\b(?:Boolean|Float|ID|Int|String)\b/,
35
+ 'constant': /\b[A-Z][A-Z_\d]*\b/,
36
+ 'class-name': {
37
+ pattern: /(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,
38
+ lookbehind: true
39
+ },
40
+ 'fragment': {
41
+ pattern: /(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,
42
+ lookbehind: true,
43
+ alias: 'function'
44
+ },
45
+ 'definition-mutation': {
46
+ pattern: /(\bmutation\s+)[a-zA-Z_]\w*/,
47
+ lookbehind: true,
48
+ alias: 'function'
49
+ },
50
+ 'definition-query': {
51
+ pattern: /(\bquery\s+)[a-zA-Z_]\w*/,
52
+ lookbehind: true,
53
+ alias: 'function'
54
+ },
55
+ 'keyword': /\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,
56
+ 'operator': /[!=|&]|\.{3}/,
57
+ 'property-query': /\w+(?=\s*\()/,
58
+ 'object': /\w+(?=\s*\{)/,
59
+ 'punctuation': /[!(){}\[\]:=,]/,
60
+ 'property': /\w+/
61
+ };
62
+
63
+ Prism.hooks.add('after-tokenize', function afterTokenizeGraphql(env) {
64
+ if (env.language !== 'graphql') {
65
+ return;
66
+ }
67
+
68
+ /**
69
+ * get the graphql token stream that we want to customize
70
+ *
71
+ * @typedef {InstanceType<import("./prism-core")["Token"]>} Token
72
+ * @type {Token[]}
73
+ */
74
+ var validTokens = env.tokens.filter(function (token) {
75
+ return typeof token !== 'string' && token.type !== 'comment' && token.type !== 'scalar';
76
+ });
77
+
78
+ var currentIndex = 0;
79
+
80
+ /**
81
+ * Returns whether the token relative to the current index has the given type.
82
+ *
83
+ * @param {number} offset
84
+ * @returns {Token | undefined}
85
+ */
86
+ function getToken(offset) {
87
+ return validTokens[currentIndex + offset];
88
+ }
89
+
90
+ /**
91
+ * Returns whether the token relative to the current index has the given type.
92
+ *
93
+ * @param {readonly string[]} types
94
+ * @param {number} [offset=0]
95
+ * @returns {boolean}
96
+ */
97
+ function isTokenType(types, offset) {
98
+ offset = offset || 0;
99
+ for (var i = 0; i < types.length; i++) {
100
+ var token = getToken(i + offset);
101
+ if (!token || token.type !== types[i]) {
102
+ return false;
103
+ }
104
+ }
105
+ return true;
106
+ }
107
+
108
+ /**
109
+ * Returns the index of the closing bracket to an opening bracket.
110
+ *
111
+ * It is assumed that `token[currentIndex - 1]` is an opening bracket.
112
+ *
113
+ * If no closing bracket could be found, `-1` will be returned.
114
+ *
115
+ * @param {RegExp} open
116
+ * @param {RegExp} close
117
+ * @returns {number}
118
+ */
119
+ function findClosingBracket(open, close) {
120
+ var stackHeight = 1;
121
+
122
+ for (var i = currentIndex; i < validTokens.length; i++) {
123
+ var token = validTokens[i];
124
+ var content = token.content;
125
+
126
+ if (token.type === 'punctuation' && typeof content === 'string') {
127
+ if (open.test(content)) {
128
+ stackHeight++;
129
+ } else if (close.test(content)) {
130
+ stackHeight--;
131
+
132
+ if (stackHeight === 0) {
133
+ return i;
134
+ }
135
+ }
136
+ }
137
+ }
138
+
139
+ return -1;
140
+ }
141
+
142
+ /**
143
+ * Adds an alias to the given token.
144
+ *
145
+ * @param {Token} token
146
+ * @param {string} alias
147
+ * @returns {void}
148
+ */
149
+ function addAlias(token, alias) {
150
+ var aliases = token.alias;
151
+ if (!aliases) {
152
+ token.alias = aliases = [];
153
+ } else if (!Array.isArray(aliases)) {
154
+ token.alias = aliases = [aliases];
155
+ }
156
+ aliases.push(alias);
157
+ }
158
+
159
+ for (; currentIndex < validTokens.length;) {
160
+ var startToken = validTokens[currentIndex++];
161
+
162
+ // add special aliases for mutation tokens
163
+ if (startToken.type === 'keyword' && startToken.content === 'mutation') {
164
+ // any array of the names of all input variables (if any)
165
+ var inputVariables = [];
166
+
167
+ if (isTokenType(['definition-mutation', 'punctuation']) && getToken(1).content === '(') {
168
+ // definition
169
+
170
+ currentIndex += 2; // skip 'definition-mutation' and 'punctuation'
171
+
172
+ var definitionEnd = findClosingBracket(/^\($/, /^\)$/);
173
+ if (definitionEnd === -1) {
174
+ continue;
175
+ }
176
+
177
+ // find all input variables
178
+ for (; currentIndex < definitionEnd; currentIndex++) {
179
+ var t = getToken(0);
180
+ if (t.type === 'variable') {
181
+ addAlias(t, 'variable-input');
182
+ inputVariables.push(t.content);
183
+ }
184
+ }
185
+
186
+ currentIndex = definitionEnd + 1;
187
+ }
188
+
189
+ if (isTokenType(['punctuation', 'property-query']) && getToken(0).content === '{') {
190
+ currentIndex++; // skip opening bracket
191
+
192
+ addAlias(getToken(0), 'property-mutation');
193
+
194
+ if (inputVariables.length > 0) {
195
+ var mutationEnd = findClosingBracket(/^\{$/, /^\}$/);
196
+ if (mutationEnd === -1) {
197
+ continue;
198
+ }
199
+
200
+ // give references to input variables a special alias
201
+ for (var i = currentIndex; i < mutationEnd; i++) {
202
+ var varToken = validTokens[i];
203
+ if (varToken.type === 'variable' && inputVariables.indexOf(varToken.content) >= 0) {
204
+ addAlias(varToken, 'variable-input');
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ }
211
+ });
@@ -0,0 +1,65 @@
1
+ (function (Prism) {
2
+
3
+ var interpolation = {
4
+ pattern: /((?:^|[^\\$])(?:\\{2})*)\$(?:\w+|\{[^{}]*\})/,
5
+ lookbehind: true,
6
+ inside: {
7
+ 'interpolation-punctuation': {
8
+ pattern: /^\$\{?|\}$/,
9
+ alias: 'punctuation'
10
+ },
11
+ 'expression': {
12
+ pattern: /[\s\S]+/,
13
+ inside: null // see below
14
+ }
15
+ }
16
+ };
17
+
18
+ Prism.languages.groovy = Prism.languages.extend('clike', {
19
+ 'string': {
20
+ // https://groovy-lang.org/syntax.html#_dollar_slashy_string
21
+ pattern: /'''(?:[^\\]|\\[\s\S])*?'''|'(?:\\.|[^\\'\r\n])*'/,
22
+ greedy: true
23
+ },
24
+ 'keyword': /\b(?:abstract|as|assert|boolean|break|byte|case|catch|char|class|const|continue|def|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|in|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/,
25
+ 'number': /\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i,
26
+ 'operator': {
27
+ pattern: /(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,
28
+ lookbehind: true
29
+ },
30
+ 'punctuation': /\.+|[{}[\];(),:$]/
31
+ });
32
+
33
+ Prism.languages.insertBefore('groovy', 'string', {
34
+ 'shebang': {
35
+ pattern: /#!.+/,
36
+ alias: 'comment',
37
+ greedy: true
38
+ },
39
+ 'interpolation-string': {
40
+ // TODO: Slash strings (e.g. /foo/) can contain line breaks but this will cause a lot of trouble with
41
+ // simple division (see JS regex), so find a fix maybe?
42
+ pattern: /"""(?:[^\\]|\\[\s\S])*?"""|(["/])(?:\\.|(?!\1)[^\\\r\n])*\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,
43
+ greedy: true,
44
+ inside: {
45
+ 'interpolation': interpolation,
46
+ 'string': /[\s\S]+/
47
+ }
48
+ }
49
+ });
50
+
51
+ Prism.languages.insertBefore('groovy', 'punctuation', {
52
+ 'spock-block': /\b(?:and|cleanup|expect|given|setup|then|when|where):/
53
+ });
54
+
55
+ Prism.languages.insertBefore('groovy', 'function', {
56
+ 'annotation': {
57
+ pattern: /(^|[^.])@\w+/,
58
+ lookbehind: true,
59
+ alias: 'punctuation'
60
+ }
61
+ });
62
+
63
+ interpolation.inside.expression.inside = Prism.languages.groovy;
64
+
65
+ }(Prism));
@@ -5,42 +5,38 @@
5
5
  code |
6
6
  */
7
7
 
8
- (function(Prism) {
8
+ (function (Prism) {
9
9
 
10
10
  Prism.languages.haml = {
11
11
  // Multiline stuff should appear before the rest
12
12
 
13
13
  'multiline-comment': {
14
- pattern: /((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*((?:\r?\n|\r)\2[\t ]+.+)*/,
14
+ pattern: /((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ].+)*/,
15
15
  lookbehind: true,
16
16
  alias: 'comment'
17
17
  },
18
18
 
19
19
  'multiline-code': [
20
20
  {
21
- pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*((?:\r?\n|\r)\2[\t ]+.*,[\t ]*)*((?:\r?\n|\r)\2[\t ]+.+)/,
21
+ pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ].*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ].+)/,
22
22
  lookbehind: true,
23
- inside: {
24
- rest: Prism.languages.ruby
25
- }
23
+ inside: Prism.languages.ruby
26
24
  },
27
25
  {
28
- pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*((?:\r?\n|\r)\2[\t ]+.*\|[\t ]*)*/,
26
+ pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ].*\|[\t ]*)*/,
29
27
  lookbehind: true,
30
- inside: {
31
- rest: Prism.languages.ruby
32
- }
28
+ inside: Prism.languages.ruby
33
29
  }
34
30
  ],
35
31
 
36
32
  // See at the end of the file for known filters
37
33
  'filter': {
38
- pattern: /((?:^|\r?\n|\r)([\t ]*)):[\w-]+((?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/,
34
+ pattern: /((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/,
39
35
  lookbehind: true,
40
36
  inside: {
41
37
  'filter-name': {
42
38
  pattern: /^:[\w-]+/,
43
- alias: 'variable'
39
+ alias: 'symbol'
44
40
  }
45
41
  }
46
42
  },
@@ -48,9 +44,7 @@
48
44
  'markup': {
49
45
  pattern: /((?:^|\r?\n|\r)[\t ]*)<.+/,
50
46
  lookbehind: true,
51
- inside: {
52
- rest: Prism.languages.markup
53
- }
47
+ inside: Prism.languages.markup
54
48
  },
55
49
  'doctype': {
56
50
  pattern: /((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,
@@ -58,24 +52,22 @@
58
52
  },
59
53
  'tag': {
60
54
  // Allows for one nested group of braces
61
- pattern: /((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/,
55
+ pattern: /((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^{}])+\}|\[[^\]]+\])*[\/<>]*/,
62
56
  lookbehind: true,
63
57
  inside: {
64
58
  'attributes': [
65
59
  {
66
- // Lookbehind tries to prevent interpolations for breaking it all
60
+ // Lookbehind tries to prevent interpolations from breaking it all
67
61
  // Allows for one nested group of braces
68
- pattern: /(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/,
62
+ pattern: /(^|[^#])\{(?:\{[^}]+\}|[^{}])+\}/,
69
63
  lookbehind: true,
70
- inside: {
71
- rest: Prism.languages.ruby
72
- }
64
+ inside: Prism.languages.ruby
73
65
  },
74
66
  {
75
67
  pattern: /\([^)]+\)/,
76
68
  inside: {
77
69
  'attr-value': {
78
- pattern: /(=\s*)(?:"(?:\\?.)*?"|[^)\s]+)/,
70
+ pattern: /(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,
79
71
  lookbehind: true
80
72
  },
81
73
  'attr-name': /[\w:-]+(?=\s*!?=|\s*[,)])/,
@@ -84,9 +76,7 @@
84
76
  },
85
77
  {
86
78
  pattern: /\[[^\]]+\]/,
87
- inside: {
88
- rest: Prism.languages.ruby
89
- }
79
+ inside: Prism.languages.ruby
90
80
  }
91
81
  ],
92
82
  'punctuation': /[<>]/
@@ -95,9 +85,7 @@
95
85
  'code': {
96
86
  pattern: /((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,
97
87
  lookbehind: true,
98
- inside: {
99
- rest: Prism.languages.ruby
100
- }
88
+ inside: Prism.languages.ruby
101
89
  },
102
90
  // Interpolations in plain text
103
91
  'interpolation': {
@@ -107,7 +95,10 @@
107
95
  pattern: /^#\{|\}$/,
108
96
  alias: 'punctuation'
109
97
  },
110
- rest: Prism.languages.ruby
98
+ 'ruby': {
99
+ pattern: /[\s\S]+/,
100
+ inside: Prism.languages.ruby
101
+ }
111
102
  }
112
103
  },
113
104
  'punctuation': {
@@ -116,12 +107,12 @@
116
107
  }
117
108
  };
118
109
 
119
- var filter_pattern = '((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+';
110
+ var filter_pattern = '((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+';
120
111
 
121
112
  // Non exhaustive list of available filters and associated languages
122
113
  var filters = [
123
114
  'css',
124
- {filter:'coffee',language:'coffeescript'},
115
+ { filter: 'coffee', language: 'coffeescript' },
125
116
  'erb',
126
117
  'javascript',
127
118
  'less',
@@ -133,22 +124,26 @@
133
124
  var all_filters = {};
134
125
  for (var i = 0, l = filters.length; i < l; i++) {
135
126
  var filter = filters[i];
136
- filter = typeof filter === 'string' ? {filter: filter, language: filter} : filter;
127
+ filter = typeof filter === 'string' ? { filter: filter, language: filter } : filter;
137
128
  if (Prism.languages[filter.language]) {
138
129
  all_filters['filter-' + filter.filter] = {
139
- pattern: RegExp(filter_pattern.replace('{{filter_name}}', filter.filter)),
130
+ pattern: RegExp(filter_pattern.replace('{{filter_name}}', function () { return filter.filter; })),
140
131
  lookbehind: true,
141
132
  inside: {
142
133
  'filter-name': {
143
134
  pattern: /^:[\w-]+/,
144
- alias: 'variable'
135
+ alias: 'symbol'
145
136
  },
146
- rest: Prism.languages[filter.language]
137
+ 'text': {
138
+ pattern: /[\s\S]+/,
139
+ alias: [filter.language, 'language-' + filter.language],
140
+ inside: Prism.languages[filter.language]
141
+ }
147
142
  }
148
- }
143
+ };
149
144
  }
150
145
  }
151
146
 
152
147
  Prism.languages.insertBefore('haml', 'filter', all_filters);
153
148
 
154
- }(Prism));
149
+ }(Prism));
@@ -0,0 +1,40 @@
1
+ (function (Prism) {
2
+
3
+ Prism.languages.handlebars = {
4
+ 'comment': /\{\{![\s\S]*?\}\}/,
5
+ 'delimiter': {
6
+ pattern: /^\{\{\{?|\}\}\}?$/,
7
+ alias: 'punctuation'
8
+ },
9
+ 'string': /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,
10
+ 'number': /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,
11
+ 'boolean': /\b(?:false|true)\b/,
12
+ 'block': {
13
+ pattern: /^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,
14
+ lookbehind: true,
15
+ alias: 'keyword'
16
+ },
17
+ 'brackets': {
18
+ pattern: /\[[^\]]+\]/,
19
+ inside: {
20
+ punctuation: /\[|\]/,
21
+ variable: /[\s\S]+/
22
+ }
23
+ },
24
+ 'punctuation': /[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,
25
+ 'variable': /[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/
26
+ };
27
+
28
+ Prism.hooks.add('before-tokenize', function (env) {
29
+ var handlebarsPattern = /\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g;
30
+ Prism.languages['markup-templating'].buildPlaceholders(env, 'handlebars', handlebarsPattern);
31
+ });
32
+
33
+ Prism.hooks.add('after-tokenize', function (env) {
34
+ Prism.languages['markup-templating'].tokenizePlaceholders(env, 'handlebars');
35
+ });
36
+
37
+ Prism.languages.hbs = Prism.languages.handlebars;
38
+ Prism.languages.mustache = Prism.languages.handlebars;
39
+
40
+ }(Prism));
@@ -0,0 +1,66 @@
1
+ Prism.languages.haskell = {
2
+ 'comment': {
3
+ pattern: /(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\/].*|$)|\{-[\s\S]*?-\})/m,
4
+ lookbehind: true
5
+ },
6
+ 'char': {
7
+ pattern: /'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\d+|o[0-7]+|x[0-9a-fA-F]+))'/,
8
+ alias: 'string'
9
+ },
10
+ 'string': {
11
+ pattern: /"(?:[^\\"]|\\(?:\S|\s+\\))*"/,
12
+ greedy: true
13
+ },
14
+ 'keyword': /\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,
15
+ 'import-statement': {
16
+ // The imported or hidden names are not included in this import
17
+ // statement. This is because we want to highlight those exactly like
18
+ // we do for the names in the program.
19
+ pattern: /(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,
20
+ lookbehind: true,
21
+ inside: {
22
+ 'keyword': /\b(?:as|hiding|import|qualified)\b/,
23
+ 'punctuation': /\./
24
+ }
25
+ },
26
+ // These are builtin variables only. Constructors are highlighted later as a constant.
27
+ 'builtin': /\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/,
28
+ // decimal integers and floating point numbers | octal integers | hexadecimal integers
29
+ 'number': /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i,
30
+ 'operator': [
31
+ {
32
+ // infix operator
33
+ pattern: /`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/,
34
+ greedy: true
35
+ },
36
+ {
37
+ // function composition
38
+ pattern: /(\s)\.(?=\s)/,
39
+ lookbehind: true
40
+ },
41
+ // Most of this is needed because of the meaning of a single '.'.
42
+ // If it stands alone freely, it is the function composition.
43
+ // It may also be a separator between a module name and an identifier => no
44
+ // operator. If it comes together with other special characters it is an
45
+ // operator too.
46
+ //
47
+ // This regex means: /[-!#$%*+=?&@|~.:<>^\\\/]+/ without /\./.
48
+ /[-!#$%*+=?&@|~:<>^\\\/][-!#$%*+=?&@|~.:<>^\\\/]*|\.[-!#$%*+=?&@|~.:<>^\\\/]+/,
49
+ ],
50
+ // In Haskell, nearly everything is a variable, do not highlight these.
51
+ 'hvariable': {
52
+ pattern: /\b(?:[A-Z][\w']*\.)*[_a-z][\w']*/,
53
+ inside: {
54
+ 'punctuation': /\./
55
+ }
56
+ },
57
+ 'constant': {
58
+ pattern: /\b(?:[A-Z][\w']*\.)*[A-Z][\w']*/,
59
+ inside: {
60
+ 'punctuation': /\./
61
+ }
62
+ },
63
+ 'punctuation': /[{}[\];(),.:]/
64
+ };
65
+
66
+ Prism.languages.hs = Prism.languages.haskell;
@@ -0,0 +1,78 @@
1
+ Prism.languages.haxe = Prism.languages.extend('clike', {
2
+ 'string': {
3
+ // Strings can be multi-line
4
+ pattern: /"(?:[^"\\]|\\[\s\S])*"/,
5
+ greedy: true
6
+ },
7
+ 'class-name': [
8
+ {
9
+ pattern: /(\b(?:abstract|class|enum|extends|implements|interface|new|typedef)\s+)[A-Z_]\w*/,
10
+ lookbehind: true,
11
+ },
12
+ // based on naming convention
13
+ /\b[A-Z]\w*/
14
+ ],
15
+ // The final look-ahead prevents highlighting of keywords if expressions such as "haxe.macro.Expr"
16
+ 'keyword': /\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|final|for|from|function|if|implements|import|in|inline|interface|macro|new|null|operator|overload|override|package|private|public|return|static|super|switch|throw|to|try|typedef|untyped|using|var|while)(?!\.)\b/,
17
+ 'function': {
18
+ pattern: /\b[a-z_]\w*(?=\s*(?:<[^<>]*>\s*)?\()/i,
19
+ greedy: true
20
+ },
21
+ 'operator': /\.{3}|\+\+|--|&&|\|\||->|=>|(?:<<?|>{1,3}|[-+*/%!=&|^])=?|[?:~]/
22
+ });
23
+
24
+ Prism.languages.insertBefore('haxe', 'string', {
25
+ 'string-interpolation': {
26
+ pattern: /'(?:[^'\\]|\\[\s\S])*'/,
27
+ greedy: true,
28
+ inside: {
29
+ 'interpolation': {
30
+ pattern: /(^|[^\\])\$(?:\w+|\{[^{}]+\})/,
31
+ lookbehind: true,
32
+ inside: {
33
+ 'interpolation-punctuation': {
34
+ pattern: /^\$\{?|\}$/,
35
+ alias: 'punctuation'
36
+ },
37
+ 'expression': {
38
+ pattern: /[\s\S]+/,
39
+ inside: Prism.languages.haxe
40
+ },
41
+ }
42
+ },
43
+ 'string': /[\s\S]+/
44
+ }
45
+ }
46
+ });
47
+
48
+ Prism.languages.insertBefore('haxe', 'class-name', {
49
+ 'regex': {
50
+ pattern: /~\/(?:[^\/\\\r\n]|\\.)+\/[a-z]*/,
51
+ greedy: true,
52
+ inside: {
53
+ 'regex-flags': /\b[a-z]+$/,
54
+ 'regex-source': {
55
+ pattern: /^(~\/)[\s\S]+(?=\/$)/,
56
+ lookbehind: true,
57
+ alias: 'language-regex',
58
+ inside: Prism.languages.regex
59
+ },
60
+ 'regex-delimiter': /^~\/|\/$/,
61
+ }
62
+ }
63
+ });
64
+
65
+ Prism.languages.insertBefore('haxe', 'keyword', {
66
+ 'preprocessor': {
67
+ pattern: /#(?:else|elseif|end|if)\b.*/,
68
+ alias: 'property'
69
+ },
70
+ 'metadata': {
71
+ pattern: /@:?[\w.]+/,
72
+ alias: 'symbol'
73
+ },
74
+ 'reification': {
75
+ pattern: /\$(?:\w+|(?=\{))/,
76
+ alias: 'important'
77
+ }
78
+ });