prism-rails 1.19.0 → 1.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (383) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +22 -1
  4. data/lib/prism-rails/version.rb +1 -1
  5. data/vendor/assets/javascripts/languages/prism-abap.js +17 -17
  6. data/vendor/assets/javascripts/languages/prism-abnf.js +3 -3
  7. data/vendor/assets/javascripts/languages/prism-actionscript.js +6 -2
  8. data/vendor/assets/javascripts/languages/prism-ada.js +9 -6
  9. data/vendor/assets/javascripts/languages/prism-agda.js +24 -0
  10. data/vendor/assets/javascripts/languages/prism-al.js +25 -0
  11. data/vendor/assets/javascripts/languages/prism-antlr4.js +1 -1
  12. data/vendor/assets/javascripts/languages/prism-apacheconf.js +3 -3
  13. data/vendor/assets/javascripts/languages/prism-apex.js +65 -0
  14. data/vendor/assets/javascripts/languages/prism-apl.js +3 -3
  15. data/vendor/assets/javascripts/languages/prism-applescript.js +5 -8
  16. data/vendor/assets/javascripts/languages/prism-aql.js +14 -6
  17. data/vendor/assets/javascripts/languages/prism-arduino.js +5 -3
  18. data/vendor/assets/javascripts/languages/prism-arff.js +1 -1
  19. data/vendor/assets/javascripts/languages/prism-armasm.js +49 -0
  20. data/vendor/assets/javascripts/languages/prism-arturo.js +105 -0
  21. data/vendor/assets/javascripts/languages/prism-asciidoc.js +13 -13
  22. data/vendor/assets/javascripts/languages/prism-asm6502.js +15 -14
  23. data/vendor/assets/javascripts/languages/prism-asmatmel.js +43 -0
  24. data/vendor/assets/javascripts/languages/prism-aspnet.js +6 -6
  25. data/vendor/assets/javascripts/languages/prism-autohotkey.js +31 -14
  26. data/vendor/assets/javascripts/languages/prism-autoit.js +16 -16
  27. data/vendor/assets/javascripts/languages/prism-avisynth.js +188 -0
  28. data/vendor/assets/javascripts/languages/prism-avro-idl.js +50 -0
  29. data/vendor/assets/javascripts/languages/prism-awk.js +32 -0
  30. data/vendor/assets/javascripts/languages/prism-bash.js +60 -22
  31. data/vendor/assets/javascripts/languages/prism-basic.js +4 -4
  32. data/vendor/assets/javascripts/languages/prism-batch.js +10 -10
  33. data/vendor/assets/javascripts/languages/prism-bbcode.js +3 -1
  34. data/vendor/assets/javascripts/languages/prism-bbj.js +19 -0
  35. data/vendor/assets/javascripts/languages/prism-bicep.js +77 -0
  36. data/vendor/assets/javascripts/languages/prism-birb.js +23 -0
  37. data/vendor/assets/javascripts/languages/prism-bison.js +2 -2
  38. data/vendor/assets/javascripts/languages/prism-bqn.js +63 -0
  39. data/vendor/assets/javascripts/languages/prism-brainfuck.js +1 -1
  40. data/vendor/assets/javascripts/languages/prism-brightscript.js +2 -2
  41. data/vendor/assets/javascripts/languages/prism-bro.js +9 -20
  42. data/vendor/assets/javascripts/languages/prism-bsl.js +75 -0
  43. data/vendor/assets/javascripts/languages/prism-c.js +53 -14
  44. data/vendor/assets/javascripts/languages/prism-cfscript.js +44 -0
  45. data/vendor/assets/javascripts/languages/prism-chaiscript.js +60 -0
  46. data/vendor/assets/javascripts/languages/prism-cil.js +5 -5
  47. data/vendor/assets/javascripts/languages/prism-cilkc.js +8 -0
  48. data/vendor/assets/javascripts/languages/prism-cilkcpp.js +9 -0
  49. data/vendor/assets/javascripts/languages/prism-clike.js +7 -6
  50. data/vendor/assets/javascripts/languages/prism-clojure.js +20 -5
  51. data/vendor/assets/javascripts/languages/prism-cmake.js +7 -7
  52. data/vendor/assets/javascripts/languages/prism-cobol.js +53 -0
  53. data/vendor/assets/javascripts/languages/prism-coffeescript.js +79 -75
  54. data/vendor/assets/javascripts/languages/prism-concurnas.js +33 -20
  55. data/vendor/assets/javascripts/languages/prism-cooklang.js +146 -0
  56. data/vendor/assets/javascripts/languages/prism-coq.js +54 -0
  57. data/vendor/assets/javascripts/languages/prism-core.js +1087 -451
  58. data/vendor/assets/javascripts/languages/prism-cpp.js +99 -21
  59. data/vendor/assets/javascripts/languages/prism-crystal.js +36 -30
  60. data/vendor/assets/javascripts/languages/prism-csharp.js +343 -58
  61. data/vendor/assets/javascripts/languages/prism-cshtml.js +199 -0
  62. data/vendor/assets/javascripts/languages/prism-csp.js +67 -16
  63. data/vendor/assets/javascripts/languages/prism-css-extras.js +27 -16
  64. data/vendor/assets/javascripts/languages/prism-css.js +28 -26
  65. data/vendor/assets/javascripts/languages/prism-csv.js +6 -0
  66. data/vendor/assets/javascripts/languages/prism-cue.js +84 -0
  67. data/vendor/assets/javascripts/languages/prism-cypher.js +36 -0
  68. data/vendor/assets/javascripts/languages/prism-d.js +15 -10
  69. data/vendor/assets/javascripts/languages/prism-dart.js +76 -21
  70. data/vendor/assets/javascripts/languages/prism-dataweave.js +41 -0
  71. data/vendor/assets/javascripts/languages/prism-dax.js +27 -0
  72. data/vendor/assets/javascripts/languages/prism-dhall.js +69 -0
  73. data/vendor/assets/javascripts/languages/prism-diff.js +15 -5
  74. data/vendor/assets/javascripts/languages/prism-django.js +8 -8
  75. data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +3 -3
  76. data/vendor/assets/javascripts/languages/prism-docker.js +98 -11
  77. data/vendor/assets/javascripts/languages/prism-dot.js +76 -0
  78. data/vendor/assets/javascripts/languages/prism-ebnf.js +2 -2
  79. data/vendor/assets/javascripts/languages/prism-editorconfig.js +26 -0
  80. data/vendor/assets/javascripts/languages/prism-eiffel.js +5 -8
  81. data/vendor/assets/javascripts/languages/prism-ejs.js +4 -2
  82. data/vendor/assets/javascripts/languages/prism-elixir.js +21 -12
  83. data/vendor/assets/javascripts/languages/prism-elm.js +16 -15
  84. data/vendor/assets/javascripts/languages/prism-erb.js +12 -7
  85. data/vendor/assets/javascripts/languages/prism-erlang.js +6 -6
  86. data/vendor/assets/javascripts/languages/prism-excel-formula.js +66 -0
  87. data/vendor/assets/javascripts/languages/prism-factor.js +8 -8
  88. data/vendor/assets/javascripts/languages/prism-false.js +32 -0
  89. data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +2 -2
  90. data/vendor/assets/javascripts/languages/prism-flow.js +5 -5
  91. data/vendor/assets/javascripts/languages/prism-fortran.js +6 -6
  92. data/vendor/assets/javascripts/languages/prism-fsharp.js +20 -12
  93. data/vendor/assets/javascripts/languages/prism-ftl.js +12 -11
  94. data/vendor/assets/javascripts/languages/prism-gap.js +54 -0
  95. data/vendor/assets/javascripts/languages/prism-gcode.js +4 -3
  96. data/vendor/assets/javascripts/languages/prism-gdscript.js +2 -2
  97. data/vendor/assets/javascripts/languages/prism-gedcom.js +6 -6
  98. data/vendor/assets/javascripts/languages/prism-gettext.js +43 -0
  99. data/vendor/assets/javascripts/languages/prism-gherkin.js +7 -7
  100. data/vendor/assets/javascripts/languages/prism-git.js +3 -3
  101. data/vendor/assets/javascripts/languages/prism-glsl.js +2 -15
  102. data/vendor/assets/javascripts/languages/prism-gml.js +5 -5
  103. data/vendor/assets/javascripts/languages/prism-gn.js +51 -0
  104. data/vendor/assets/javascripts/languages/prism-go-module.js +24 -0
  105. data/vendor/assets/javascripts/languages/prism-go.js +21 -5
  106. data/vendor/assets/javascripts/languages/prism-gradle.js +63 -0
  107. data/vendor/assets/javascripts/languages/prism-graphql.js +187 -7
  108. data/vendor/assets/javascripts/languages/prism-groovy.js +56 -58
  109. data/vendor/assets/javascripts/languages/prism-haml.js +23 -16
  110. data/vendor/assets/javascripts/languages/prism-handlebars.js +10 -7
  111. data/vendor/assets/javascripts/languages/prism-haskell.js +42 -14
  112. data/vendor/assets/javascripts/languages/prism-haxe.js +54 -21
  113. data/vendor/assets/javascripts/languages/prism-hcl.js +12 -14
  114. data/vendor/assets/javascripts/languages/prism-hlsl.js +20 -0
  115. data/vendor/assets/javascripts/languages/prism-hoon.js +14 -0
  116. data/vendor/assets/javascripts/languages/prism-hpkp.js +4 -10
  117. data/vendor/assets/javascripts/languages/prism-hsts.js +4 -10
  118. data/vendor/assets/javascripts/languages/prism-http.js +91 -17
  119. data/vendor/assets/javascripts/languages/prism-ichigojam.js +5 -5
  120. data/vendor/assets/javascripts/languages/prism-icon.js +2 -2
  121. data/vendor/assets/javascripts/languages/prism-icu-message-format.js +148 -0
  122. data/vendor/assets/javascripts/languages/prism-idris.js +19 -0
  123. data/vendor/assets/javascripts/languages/prism-iecst.js +32 -0
  124. data/vendor/assets/javascripts/languages/prism-ignore.js +23 -0
  125. data/vendor/assets/javascripts/languages/prism-inform7.js +10 -10
  126. data/vendor/assets/javascripts/languages/prism-ini.js +39 -8
  127. data/vendor/assets/javascripts/languages/prism-io.js +10 -19
  128. data/vendor/assets/javascripts/languages/prism-j.js +7 -4
  129. data/vendor/assets/javascripts/languages/prism-java.js +80 -19
  130. data/vendor/assets/javascripts/languages/prism-javadoc.js +59 -31
  131. data/vendor/assets/javascripts/languages/prism-javadoclike.js +2 -2
  132. data/vendor/assets/javascripts/languages/prism-javascript.js +98 -17
  133. data/vendor/assets/javascripts/languages/prism-javastacktrace.js +63 -14
  134. data/vendor/assets/javascripts/languages/prism-jexl.js +14 -0
  135. data/vendor/assets/javascripts/languages/prism-jolie.js +23 -37
  136. data/vendor/assets/javascripts/languages/prism-jq.js +8 -6
  137. data/vendor/assets/javascripts/languages/prism-js-extras.js +34 -3
  138. data/vendor/assets/javascripts/languages/prism-js-templates.js +5 -2
  139. data/vendor/assets/javascripts/languages/prism-jsdoc.js +15 -10
  140. data/vendor/assets/javascripts/languages/prism-json.js +13 -5
  141. data/vendor/assets/javascripts/languages/prism-json5.js +3 -3
  142. data/vendor/assets/javascripts/languages/prism-jsonp.js +1 -1
  143. data/vendor/assets/javascripts/languages/prism-jsstacktrace.js +49 -0
  144. data/vendor/assets/javascripts/languages/prism-jsx.js +123 -104
  145. data/vendor/assets/javascripts/languages/prism-julia.js +31 -9
  146. data/vendor/assets/javascripts/languages/prism-keepalived.js +51 -0
  147. data/vendor/assets/javascripts/languages/prism-keyman.js +43 -13
  148. data/vendor/assets/javascripts/languages/prism-kotlin.js +56 -30
  149. data/vendor/assets/javascripts/languages/prism-kumir.js +106 -0
  150. data/vendor/assets/javascripts/languages/prism-kusto.js +44 -0
  151. data/vendor/assets/javascripts/languages/prism-latex.js +6 -6
  152. data/vendor/assets/javascripts/languages/prism-latte.js +11 -17
  153. data/vendor/assets/javascripts/languages/prism-less.js +5 -5
  154. data/vendor/assets/javascripts/languages/prism-lilypond.js +3 -3
  155. data/vendor/assets/javascripts/languages/prism-linker-script.js +30 -0
  156. data/vendor/assets/javascripts/languages/prism-liquid.js +62 -8
  157. data/vendor/assets/javascripts/languages/prism-lisp.js +41 -41
  158. data/vendor/assets/javascripts/languages/prism-livescript.js +3 -3
  159. data/vendor/assets/javascripts/languages/prism-llvm.js +19 -0
  160. data/vendor/assets/javascripts/languages/prism-log.js +120 -0
  161. data/vendor/assets/javascripts/languages/prism-lolcode.js +9 -9
  162. data/vendor/assets/javascripts/languages/prism-lua.js +3 -3
  163. data/vendor/assets/javascripts/languages/prism-magma.js +35 -0
  164. data/vendor/assets/javascripts/languages/prism-makefile.js +17 -17
  165. data/vendor/assets/javascripts/languages/prism-markdown.js +103 -32
  166. data/vendor/assets/javascripts/languages/prism-markup-templating.js +2 -1
  167. data/vendor/assets/javascripts/languages/prism-markup.js +95 -12
  168. data/vendor/assets/javascripts/languages/prism-mata.js +50 -0
  169. data/vendor/assets/javascripts/languages/prism-matlab.js +4 -4
  170. data/vendor/assets/javascripts/languages/prism-maxscript.js +91 -0
  171. data/vendor/assets/javascripts/languages/prism-mel.js +24 -21
  172. data/vendor/assets/javascripts/languages/prism-mermaid.js +113 -0
  173. data/vendor/assets/javascripts/languages/prism-metafont.js +84 -0
  174. data/vendor/assets/javascripts/languages/prism-mizar.js +3 -3
  175. data/vendor/assets/javascripts/languages/prism-mongodb.js +97 -0
  176. data/vendor/assets/javascripts/languages/prism-monkey.js +16 -18
  177. data/vendor/assets/javascripts/languages/prism-moonscript.js +1 -1
  178. data/vendor/assets/javascripts/languages/prism-n1ql.js +14 -8
  179. data/vendor/assets/javascripts/languages/prism-n4js.js +2 -2
  180. data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +3 -3
  181. data/vendor/assets/javascripts/languages/prism-naniscript.js +170 -0
  182. data/vendor/assets/javascripts/languages/prism-nasm.js +4 -4
  183. data/vendor/assets/javascripts/languages/prism-neon.js +5 -6
  184. data/vendor/assets/javascripts/languages/prism-nevod.js +125 -0
  185. data/vendor/assets/javascripts/languages/prism-nginx.js +54 -11
  186. data/vendor/assets/javascripts/languages/prism-nim.js +23 -12
  187. data/vendor/assets/javascripts/languages/prism-nix.js +10 -13
  188. data/vendor/assets/javascripts/languages/prism-nsis.js +10 -9
  189. data/vendor/assets/javascripts/languages/prism-objectivec.js +7 -2
  190. data/vendor/assets/javascripts/languages/prism-ocaml.js +32 -15
  191. data/vendor/assets/javascripts/languages/prism-odin.js +99 -0
  192. data/vendor/assets/javascripts/languages/prism-opencl.js +19 -12
  193. data/vendor/assets/javascripts/languages/prism-openqasm.js +23 -0
  194. data/vendor/assets/javascripts/languages/prism-oz.js +11 -8
  195. data/vendor/assets/javascripts/languages/prism-parigp.js +4 -4
  196. data/vendor/assets/javascripts/languages/prism-parser.js +3 -3
  197. data/vendor/assets/javascripts/languages/prism-pascal.js +24 -8
  198. data/vendor/assets/javascripts/languages/prism-pascaligo.js +7 -7
  199. data/vendor/assets/javascripts/languages/prism-pcaxis.js +2 -2
  200. data/vendor/assets/javascripts/languages/prism-peoplecode.js +42 -0
  201. data/vendor/assets/javascripts/languages/prism-perl.js +153 -188
  202. data/vendor/assets/javascripts/languages/prism-php-extras.js +8 -5
  203. data/vendor/assets/javascripts/languages/prism-php.js +275 -63
  204. data/vendor/assets/javascripts/languages/prism-phpdoc.js +1 -1
  205. data/vendor/assets/javascripts/languages/prism-plant-uml.js +103 -0
  206. data/vendor/assets/javascripts/languages/prism-plsql.js +16 -25
  207. data/vendor/assets/javascripts/languages/prism-powerquery.js +55 -0
  208. data/vendor/assets/javascripts/languages/prism-powershell.js +16 -18
  209. data/vendor/assets/javascripts/languages/prism-processing.js +6 -9
  210. data/vendor/assets/javascripts/languages/prism-prolog.js +7 -8
  211. data/vendor/assets/javascripts/languages/prism-promql.js +99 -0
  212. data/vendor/assets/javascripts/languages/prism-properties.js +9 -5
  213. data/vendor/assets/javascripts/languages/prism-protobuf.js +16 -9
  214. data/vendor/assets/javascripts/languages/prism-psl.js +35 -0
  215. data/vendor/assets/javascripts/languages/prism-pug.js +28 -21
  216. data/vendor/assets/javascripts/languages/prism-puppet.js +6 -6
  217. data/vendor/assets/javascripts/languages/prism-pure.js +9 -6
  218. data/vendor/assets/javascripts/languages/prism-purebasic.js +70 -0
  219. data/vendor/assets/javascripts/languages/prism-purescript.js +31 -0
  220. data/vendor/assets/javascripts/languages/prism-python.js +12 -11
  221. data/vendor/assets/javascripts/languages/prism-q.js +4 -4
  222. data/vendor/assets/javascripts/languages/prism-qml.js +9 -6
  223. data/vendor/assets/javascripts/languages/prism-qore.js +5 -5
  224. data/vendor/assets/javascripts/languages/prism-qsharp.js +132 -0
  225. data/vendor/assets/javascripts/languages/prism-r.js +5 -5
  226. data/vendor/assets/javascripts/languages/prism-racket.js +18 -0
  227. data/vendor/assets/javascripts/languages/prism-reason.js +5 -8
  228. data/vendor/assets/javascripts/languages/prism-regex.js +54 -47
  229. data/vendor/assets/javascripts/languages/prism-rego.js +30 -0
  230. data/vendor/assets/javascripts/languages/prism-renpy.js +12 -12
  231. data/vendor/assets/javascripts/languages/prism-rescript.js +60 -0
  232. data/vendor/assets/javascripts/languages/prism-rest.js +16 -16
  233. data/vendor/assets/javascripts/languages/prism-rip.js +22 -16
  234. data/vendor/assets/javascripts/languages/prism-roboconf.js +3 -3
  235. data/vendor/assets/javascripts/languages/prism-robotframework.js +5 -5
  236. data/vendor/assets/javascripts/languages/prism-ruby.js +127 -88
  237. data/vendor/assets/javascripts/languages/prism-rust.js +120 -60
  238. data/vendor/assets/javascripts/languages/prism-sas.js +62 -38
  239. data/vendor/assets/javascripts/languages/prism-sass.js +15 -10
  240. data/vendor/assets/javascripts/languages/prism-scala.js +36 -3
  241. data/vendor/assets/javascripts/languages/prism-scheme.js +120 -33
  242. data/vendor/assets/javascripts/languages/prism-scss.js +11 -7
  243. data/vendor/assets/javascripts/languages/prism-shell-session.js +42 -26
  244. data/vendor/assets/javascripts/languages/prism-smali.js +87 -0
  245. data/vendor/assets/javascripts/languages/prism-smalltalk.js +12 -5
  246. data/vendor/assets/javascripts/languages/prism-smarty.js +91 -47
  247. data/vendor/assets/javascripts/languages/prism-sml.js +68 -0
  248. data/vendor/assets/javascripts/languages/prism-solidity.js +3 -1
  249. data/vendor/assets/javascripts/languages/prism-solution-file.js +2 -2
  250. data/vendor/assets/javascripts/languages/prism-soy.js +9 -9
  251. data/vendor/assets/javascripts/languages/prism-sparql.js +8 -8
  252. data/vendor/assets/javascripts/languages/prism-splunk-spl.js +3 -3
  253. data/vendor/assets/javascripts/languages/prism-sqf.js +7 -7
  254. data/vendor/assets/javascripts/languages/prism-sql.js +12 -4
  255. data/vendor/assets/javascripts/languages/prism-squirrel.js +47 -0
  256. data/vendor/assets/javascripts/languages/prism-stan.js +65 -0
  257. data/vendor/assets/javascripts/languages/prism-stata.js +76 -0
  258. data/vendor/assets/javascripts/languages/prism-stylus.js +48 -16
  259. data/vendor/assets/javascripts/languages/prism-supercollider.js +36 -0
  260. data/vendor/assets/javascripts/languages/prism-swift.js +143 -20
  261. data/vendor/assets/javascripts/languages/prism-systemd.js +74 -0
  262. data/vendor/assets/javascripts/languages/prism-t4-templating.js +2 -2
  263. data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -1
  264. data/vendor/assets/javascripts/languages/prism-tap.js +13 -11
  265. data/vendor/assets/javascripts/languages/prism-tcl.js +8 -8
  266. data/vendor/assets/javascripts/languages/prism-textile.js +55 -29
  267. data/vendor/assets/javascripts/languages/prism-toml.js +14 -8
  268. data/vendor/assets/javascripts/languages/prism-tremor.js +72 -0
  269. data/vendor/assets/javascripts/languages/prism-tsx.js +15 -2
  270. data/vendor/assets/javascripts/languages/prism-tt2.js +7 -7
  271. data/vendor/assets/javascripts/languages/prism-turtle.js +4 -4
  272. data/vendor/assets/javascripts/languages/prism-twig.js +38 -40
  273. data/vendor/assets/javascripts/languages/prism-typescript.js +59 -6
  274. data/vendor/assets/javascripts/languages/prism-typoscript.js +80 -0
  275. data/vendor/assets/javascripts/languages/prism-unrealscript.js +42 -0
  276. data/vendor/assets/javascripts/languages/prism-uorazor.js +48 -0
  277. data/vendor/assets/javascripts/languages/prism-uri.js +96 -0
  278. data/vendor/assets/javascripts/languages/prism-v.js +81 -0
  279. data/vendor/assets/javascripts/languages/prism-vala.js +20 -10
  280. data/vendor/assets/javascripts/languages/prism-vbnet.js +11 -4
  281. data/vendor/assets/javascripts/languages/prism-velocity.js +6 -6
  282. data/vendor/assets/javascripts/languages/prism-verilog.js +14 -8
  283. data/vendor/assets/javascripts/languages/prism-vhdl.js +7 -4
  284. data/vendor/assets/javascripts/languages/prism-vim.js +4 -4
  285. data/vendor/assets/javascripts/languages/prism-visual-basic.js +9 -14
  286. data/vendor/assets/javascripts/languages/prism-warpscript.js +21 -0
  287. data/vendor/assets/javascripts/languages/prism-wasm.js +3 -3
  288. data/vendor/assets/javascripts/languages/prism-web-idl.js +101 -0
  289. data/vendor/assets/javascripts/languages/prism-wgsl.js +69 -0
  290. data/vendor/assets/javascripts/languages/prism-wiki.js +4 -4
  291. data/vendor/assets/javascripts/languages/prism-wolfram.js +29 -0
  292. data/vendor/assets/javascripts/languages/prism-wren.js +100 -0
  293. data/vendor/assets/javascripts/languages/prism-xeora.js +8 -8
  294. data/vendor/assets/javascripts/languages/prism-xml-doc.js +40 -0
  295. data/vendor/assets/javascripts/languages/prism-xojo.js +9 -8
  296. data/vendor/assets/javascripts/languages/prism-xquery.js +7 -7
  297. data/vendor/assets/javascripts/languages/prism-yaml.js +19 -12
  298. data/vendor/assets/javascripts/languages/prism-yang.js +20 -0
  299. data/vendor/assets/javascripts/languages/prism-zig.js +19 -15
  300. data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +60 -65
  301. data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +199 -67
  302. data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +212 -112
  303. data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +128 -43
  304. data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +23 -8
  305. data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +2 -6
  306. data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +19 -12
  307. data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +3 -2
  308. data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +169 -63
  309. data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +5 -3
  310. data/vendor/assets/javascripts/prism-plugin/prism-highlight-keywords.js +10 -13
  311. data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +29 -12
  312. data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +179 -82
  313. data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +53 -26
  314. data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +217 -84
  315. data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +152 -68
  316. data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +53 -47
  317. data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +203 -164
  318. data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +61 -52
  319. data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +16 -16
  320. data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +4 -5
  321. data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +147 -21
  322. data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +9 -8
  323. data/vendor/assets/javascripts/prism-plugin/prism-treeview.js +70 -0
  324. data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +41 -23
  325. data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +133 -148
  326. data/vendor/assets/javascripts/prism.js +96 -4
  327. data/vendor/assets/stylesheets/prism-plugin/prism-autolinker.min.css +1 -0
  328. data/vendor/assets/stylesheets/prism-plugin/prism-command-line.css +11 -1
  329. data/vendor/assets/stylesheets/prism-plugin/prism-command-line.min.css +1 -0
  330. data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.min.css +1 -0
  331. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +26 -2
  332. data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.min.css +1 -0
  333. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +21 -0
  334. data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.min.css +1 -0
  335. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +0 -1
  336. data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.min.css +1 -0
  337. data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.min.css +1 -0
  338. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +1 -0
  339. data/vendor/assets/stylesheets/prism-plugin/prism-previewers.min.css +1 -0
  340. data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.min.css +1 -0
  341. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +13 -12
  342. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.min.css +1 -0
  343. data/vendor/assets/stylesheets/prism-plugin/prism-treeview.css +168 -0
  344. data/vendor/assets/stylesheets/prism-plugin/prism-treeview.min.css +1 -0
  345. data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.min.css +1 -0
  346. data/vendor/assets/stylesheets/prism-plugin/prism-wpd.min.css +1 -0
  347. data/vendor/assets/stylesheets/prism-theme/prism-base16-ateliersulphurpool.light.css +3 -3
  348. data/vendor/assets/stylesheets/prism-theme/prism-cb.css +5 -35
  349. data/vendor/assets/stylesheets/prism-theme/prism-coldark-cold.css +317 -0
  350. data/vendor/assets/stylesheets/prism-theme/prism-coldark-dark.css +317 -0
  351. data/vendor/assets/stylesheets/prism-theme/prism-coy-without-shadows.css +140 -0
  352. data/vendor/assets/stylesheets/prism-theme/prism-coy.css +5 -12
  353. data/vendor/assets/stylesheets/prism-theme/prism-coy.min.css +1 -0
  354. data/vendor/assets/stylesheets/prism-theme/prism-dark.min.css +1 -0
  355. data/vendor/assets/stylesheets/prism-theme/prism-duotone-dark.css +3 -3
  356. data/vendor/assets/stylesheets/prism-theme/prism-duotone-earth.css +3 -3
  357. data/vendor/assets/stylesheets/prism-theme/prism-duotone-forest.css +3 -3
  358. data/vendor/assets/stylesheets/prism-theme/prism-duotone-light.css +3 -3
  359. data/vendor/assets/stylesheets/prism-theme/prism-duotone-sea.css +3 -3
  360. data/vendor/assets/stylesheets/prism-theme/prism-duotone-space.css +3 -3
  361. data/vendor/assets/stylesheets/prism-theme/prism-funky.min.css +1 -0
  362. data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-dark.css +143 -0
  363. data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-light.css +143 -0
  364. data/vendor/assets/stylesheets/prism-theme/prism-holi-theme.css +119 -0
  365. data/vendor/assets/stylesheets/prism-theme/prism-laserwave.css +133 -0
  366. data/vendor/assets/stylesheets/prism-theme/prism-lucario.css +122 -0
  367. data/vendor/assets/stylesheets/prism-theme/prism-night-owl.css +158 -0
  368. data/vendor/assets/stylesheets/prism-theme/prism-okaidia.css +1 -1
  369. data/vendor/assets/stylesheets/prism-theme/prism-okaidia.min.css +1 -0
  370. data/vendor/assets/stylesheets/prism-theme/prism-one-dark.css +440 -0
  371. data/vendor/assets/stylesheets/prism-theme/prism-one-light.css +428 -0
  372. data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +3 -7
  373. data/vendor/assets/stylesheets/prism-theme/prism-solarized-dark-atom.css +143 -0
  374. data/vendor/assets/stylesheets/prism-theme/prism-solarizedlight.min.css +1 -0
  375. data/vendor/assets/stylesheets/prism-theme/prism-tomorrow.min.css +1 -0
  376. data/vendor/assets/stylesheets/prism-theme/prism-twilight.css +3 -33
  377. data/vendor/assets/stylesheets/prism-theme/prism-twilight.min.css +1 -0
  378. data/vendor/assets/stylesheets/prism-theme/prism-vs.css +7 -3
  379. data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +108 -49
  380. data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +3 -30
  381. data/vendor/assets/stylesheets/prism-theme/prism-z-touch.css +160 -0
  382. data/vendor/assets/stylesheets/prism.css +1 -0
  383. metadata +133 -6
@@ -13,24 +13,21 @@ Prism.languages.eiffel = {
13
13
  },
14
14
  // Single-line string
15
15
  {
16
- pattern: /"(?:%\s+%|%.|[^%"\r\n])*"/,
16
+ pattern: /"(?:%(?:(?!\n)\s)*\n\s*%|%\S|[^%"\r\n])*"/,
17
17
  greedy: true
18
18
  }
19
19
  ],
20
20
  // normal char | special char | char code
21
21
  'char': /'(?:%.|[^%'\r\n])+'/,
22
- 'keyword': /\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,
23
- 'boolean': /\b(?:True|False)\b/i,
22
+ 'keyword': /\b(?:across|agent|alias|all|and|as|assign|attached|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,
23
+ 'boolean': /\b(?:False|True)\b/i,
24
24
  // Convention: class-names are always all upper-case characters
25
- 'class-name': {
26
- 'pattern': /\b[A-Z][\dA-Z_]*\b/,
27
- 'alias': 'builtin'
28
- },
25
+ 'class-name': /\b[A-Z][\dA-Z_]*\b/,
29
26
  'number': [
30
27
  // hexa | octal | bin
31
28
  /\b0[xcb][\da-f](?:_*[\da-f])*\b/i,
32
29
  // Decimal
33
- /(?:\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*|\d(?:_*\d)*\.?/i
30
+ /(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i
34
31
  ],
35
32
  'punctuation': /:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,
36
33
  'operator': /\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/
@@ -12,13 +12,15 @@
12
12
  }
13
13
  };
14
14
 
15
- Prism.hooks.add('before-tokenize', function(env) {
15
+ Prism.hooks.add('before-tokenize', function (env) {
16
16
  var ejsPattern = /<%(?!%)[\s\S]+?%>/g;
17
17
  Prism.languages['markup-templating'].buildPlaceholders(env, 'ejs', ejsPattern);
18
18
  });
19
19
 
20
- Prism.hooks.add('after-tokenize', function(env) {
20
+ Prism.hooks.add('after-tokenize', function (env) {
21
21
  Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs');
22
22
  });
23
23
 
24
+ Prism.languages.eta = Prism.languages.ejs;
25
+
24
26
  }(Prism));
@@ -1,5 +1,15 @@
1
1
  Prism.languages.elixir = {
2
- 'comment': /#.*/m,
2
+ 'doc': {
3
+ pattern: /@(?:doc|moduledoc)\s+(?:("""|''')[\s\S]*?\1|("|')(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2)/,
4
+ inside: {
5
+ 'attribute': /^@\w+/,
6
+ 'string': /['"][\s\S]+/
7
+ }
8
+ },
9
+ 'comment': {
10
+ pattern: /#.*/,
11
+ greedy: true
12
+ },
3
13
  // ~r"""foo""" (multi-line), ~r'''foo''' (multi-line), ~r/foo/, ~r|foo|, ~r"foo", ~r'foo', ~r(foo), ~r[foo], ~r{foo}, ~r<foo>
4
14
  'regex': {
5
15
  pattern: /~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,
@@ -8,7 +18,7 @@ Prism.languages.elixir = {
8
18
  'string': [
9
19
  {
10
20
  // ~s"""foo""" (multi-line), ~s'''foo''' (multi-line), ~s/foo/, ~s|foo|, ~s"foo", ~s'foo', ~s(foo), ~s[foo], ~s{foo} (with interpolation care), ~s<foo>
11
- pattern: /~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,
21
+ pattern: /~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^#\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,
12
22
  greedy: true,
13
23
  inside: {
14
24
  // See interpolation below
@@ -36,14 +46,12 @@ Prism.languages.elixir = {
36
46
  lookbehind: true,
37
47
  alias: 'symbol'
38
48
  },
39
- // Look-ahead prevents bad highlighting of the :: operator
40
- 'attr-name': /\w+\??:(?!:)/,
41
- 'capture': {
42
- // Look-behind prevents bad highlighting of the && operator
43
- pattern: /(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/,
44
- lookbehind: true,
45
- alias: 'function'
49
+ 'module': {
50
+ pattern: /\b[A-Z]\w*\b/,
51
+ alias: 'class-name'
46
52
  },
53
+ // Look-ahead prevents bad highlighting of the :: operator
54
+ 'attr-name': /\b\w+\??:(?!:)/,
47
55
  'argument': {
48
56
  // Look-behind prevents bad highlighting of the && operator
49
57
  pattern: /(^|[^&])&\d+/,
@@ -54,9 +62,10 @@ Prism.languages.elixir = {
54
62
  pattern: /@\w+/,
55
63
  alias: 'variable'
56
64
  },
65
+ 'function': /\b[_a-zA-Z]\w*[?!]?(?:(?=\s*(?:\.\s*)?\()|(?=\/\d))/,
57
66
  'number': /\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,
58
- 'keyword': /\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/,
59
- 'boolean': /\b(?:true|false|nil)\b/,
67
+ 'keyword': /\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\b/,
68
+ 'boolean': /\b(?:false|nil|true)\b/,
60
69
  'operator': [
61
70
  /\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,
62
71
  {
@@ -73,7 +82,7 @@ Prism.languages.elixir = {
73
82
  'punctuation': /<<|>>|[.,%\[\]{}()]/
74
83
  };
75
84
 
76
- Prism.languages.elixir.string.forEach(function(o) {
85
+ Prism.languages.elixir.string.forEach(function (o) {
77
86
  o.inside = {
78
87
  'interpolation': {
79
88
  pattern: /#\{[^}]+\}/,
@@ -1,34 +1,35 @@
1
1
  Prism.languages.elm = {
2
- comment: /--.*|{-[\s\S]*?-}/,
3
- char: {
4
- pattern: /'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+))'/,
2
+ 'comment': /--.*|\{-[\s\S]*?-\}/,
3
+ 'char': {
4
+ pattern: /'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+|u\{[0-9a-fA-F]+\}))'/,
5
5
  greedy: true
6
6
  },
7
- string: [
7
+ 'string': [
8
8
  {
9
9
  // Multiline strings are wrapped in triple ". Quotes may appear unescaped.
10
10
  pattern: /"""[\s\S]*?"""/,
11
11
  greedy: true
12
12
  },
13
13
  {
14
- pattern: /"(?:[^\\"\r\n]|\\(?:[abfnrtv\\"]|\d+|x[0-9a-fA-F]+))*"/,
14
+ pattern: /"(?:[^\\"\r\n]|\\.)*"/,
15
15
  greedy: true
16
16
  }
17
17
  ],
18
- import_statement: {
18
+ 'import-statement': {
19
19
  // The imported or hidden names are not included in this import
20
20
  // statement. This is because we want to highlight those exactly like
21
21
  // we do for the names in the program.
22
- pattern: /^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,
22
+ pattern: /(^[\t ]*)import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,
23
+ lookbehind: true,
23
24
  inside: {
24
- keyword: /\b(?:import|as|exposing)\b/
25
+ 'keyword': /\b(?:as|exposing|import)\b/
25
26
  }
26
27
  },
27
- keyword: /\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,
28
+ 'keyword': /\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,
28
29
  // These are builtin variables only. Constructors are highlighted later as a constant.
29
- builtin: /\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,
30
+ 'builtin': /\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,
30
31
  // decimal integers and floating point numbers | hexadecimal integers
31
- number: /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,
32
+ 'number': /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,
32
33
  // Most of this is needed because of the meaning of a single '.'.
33
34
  // If it stands alone freely, it is the function composition.
34
35
  // It may also be a separator between a module name and an identifier => no
@@ -36,9 +37,9 @@ Prism.languages.elm = {
36
37
  // operator too.
37
38
  // Valid operator characters in 0.18: +-/*=.$<>:&|^?%#@~!
38
39
  // Ref: https://groups.google.com/forum/#!msg/elm-dev/0AHSnDdkSkQ/E0SVU70JEQAJ
39
- operator: /\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,
40
+ 'operator': /\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,
40
41
  // In Elm, nearly everything is a variable, do not highlight these.
41
- hvariable: /\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,
42
- constant: /\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,
43
- punctuation: /[{}[\]|(),.:]/
42
+ 'hvariable': /\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,
43
+ 'constant': /\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,
44
+ 'punctuation': /[{}[\]|(),.:]/
44
45
  };
@@ -1,19 +1,24 @@
1
1
  (function (Prism) {
2
2
 
3
- Prism.languages.erb = Prism.languages.extend('ruby', {});
4
- Prism.languages.insertBefore('erb', 'comment', {
3
+ Prism.languages.erb = {
5
4
  'delimiter': {
6
- pattern: /^<%=?|%>$/,
5
+ pattern: /^(\s*)<%=?|%>(?=\s*$)/,
6
+ lookbehind: true,
7
7
  alias: 'punctuation'
8
+ },
9
+ 'ruby': {
10
+ pattern: /\s*\S[\s\S]*/,
11
+ alias: 'language-ruby',
12
+ inside: Prism.languages.ruby
8
13
  }
9
- });
14
+ };
10
15
 
11
- Prism.hooks.add('before-tokenize', function(env) {
12
- var erbPattern = /<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s[\s\S]*?^=end)+?%>/gm;
16
+ Prism.hooks.add('before-tokenize', function (env) {
17
+ var erbPattern = /<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s(?:[^\r\n]|[\r\n](?!=end))*[\r\n]=end)+?%>/g;
13
18
  Prism.languages['markup-templating'].buildPlaceholders(env, 'erb', erbPattern);
14
19
  });
15
20
 
16
- Prism.hooks.add('after-tokenize', function(env) {
21
+ Prism.hooks.add('after-tokenize', function (env) {
17
22
  Prism.languages['markup-templating'].tokenizePlaceholders(env, 'erb');
18
23
  });
19
24
 
@@ -12,12 +12,12 @@ Prism.languages.erlang = {
12
12
  pattern: /'(?:\\.|[^\\'\r\n])+'/,
13
13
  alias: 'atom'
14
14
  },
15
- 'boolean': /\b(?:true|false)\b/,
16
- 'keyword': /\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/,
15
+ 'boolean': /\b(?:false|true)\b/,
16
+ 'keyword': /\b(?:after|begin|case|catch|end|fun|if|of|receive|try|when)\b/,
17
17
  'number': [
18
18
  /\$\\?./,
19
- /\d+#[a-z0-9]+/i,
20
- /(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i
19
+ /\b\d+#[a-z0-9]+/i,
20
+ /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i
21
21
  ],
22
22
  'function': /\b[a-z][\w@]*(?=\()/,
23
23
  'variable': {
@@ -26,7 +26,7 @@ Prism.languages.erlang = {
26
26
  lookbehind: true
27
27
  },
28
28
  'operator': [
29
- /[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/,
29
+ /[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\b/,
30
30
  {
31
31
  // We don't want to match <<
32
32
  pattern: /(^|[^<])<(?!<)/,
@@ -41,4 +41,4 @@ Prism.languages.erlang = {
41
41
  'atom': /\b[a-z][\w@]*/,
42
42
  'punctuation': /[()[\]{}:;,.#|]|<<|>>/
43
43
 
44
- };
44
+ };
@@ -0,0 +1,66 @@
1
+ Prism.languages['excel-formula'] = {
2
+ 'comment': {
3
+ pattern: /(\bN\(\s*)"(?:[^"]|"")*"(?=\s*\))/i,
4
+ lookbehind: true,
5
+ greedy: true
6
+ },
7
+ 'string': {
8
+ pattern: /"(?:[^"]|"")*"(?!")/,
9
+ greedy: true
10
+ },
11
+ 'reference': {
12
+ // https://www.ablebits.com/office-addins-blog/2015/12/08/excel-reference-another-sheet-workbook/
13
+
14
+ // Sales!B2
15
+ // 'Winter sales'!B2
16
+ // [Sales.xlsx]Jan!B2:B5
17
+ // D:\Reports\[Sales.xlsx]Jan!B2:B5
18
+ // '[Sales.xlsx]Jan sales'!B2:B5
19
+ // 'D:\Reports\[Sales.xlsx]Jan sales'!B2:B5
20
+
21
+ pattern: /(?:'[^']*'|(?:[^\s()[\]{}<>*?"';,$&]*\[[^^\s()[\]{}<>*?"']+\])?\w+)!/,
22
+ greedy: true,
23
+ alias: 'string',
24
+ inside: {
25
+ 'operator': /!$/,
26
+ 'punctuation': /'/,
27
+ 'sheet': {
28
+ pattern: /[^[\]]+$/,
29
+ alias: 'function'
30
+ },
31
+ 'file': {
32
+ pattern: /\[[^[\]]+\]$/,
33
+ inside: {
34
+ 'punctuation': /[[\]]/
35
+ }
36
+ },
37
+ 'path': /[\s\S]+/
38
+ }
39
+ },
40
+ 'function-name': {
41
+ pattern: /\b[A-Z]\w*(?=\()/i,
42
+ alias: 'builtin'
43
+ },
44
+ 'range': {
45
+ pattern: /\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i,
46
+ alias: 'selector',
47
+ inside: {
48
+ 'operator': /:/,
49
+ 'cell': /\$?[A-Z]+\$?\d+/i,
50
+ 'column': /\$?[A-Z]+/i,
51
+ 'row': /\$?\d+/
52
+ }
53
+ },
54
+ 'cell': {
55
+ // Excel is case insensitive, so the string "foo1" could be either a variable or a cell.
56
+ // To combat this, we match cells case insensitive, if the contain at least one "$", and case sensitive otherwise.
57
+ pattern: /\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/,
58
+ alias: 'selector'
59
+ },
60
+ 'number': /(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?\b/i,
61
+ 'boolean': /\b(?:FALSE|TRUE)\b/i,
62
+ 'operator': /[-+*/^%=&,]|<[=>]?|>=?/,
63
+ 'punctuation': /[[\]();{}|]/
64
+ };
65
+
66
+ Prism.languages['xlsx'] = Prism.languages['xls'] = Prism.languages['excel-formula'];
@@ -1,7 +1,7 @@
1
1
  (function (Prism) {
2
2
 
3
3
  var comment_inside = {
4
- 'function': /\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/
4
+ 'function': /\b(?:BUGS?|FIX(?:MES?)?|NOTES?|TODOS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/
5
5
  };
6
6
  var string_inside = {
7
7
  'number': /\\[^\s']|%\w/
@@ -84,7 +84,7 @@
84
84
 
85
85
  // R/ regexp?\/\\/
86
86
  'regexp': {
87
- pattern: /(^|\s)R\/\s+(?:\\\S|[^\\/])*\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\s|$)/,
87
+ pattern: /(^|\s)R\/\s(?:\\\S|[^\\/])*\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\s|$)/,
88
88
  lookbehind: true,
89
89
  alias: 'number',
90
90
  inside: {
@@ -124,7 +124,7 @@
124
124
  'number': string_inside.number,
125
125
  // trailing semicolon on its own line
126
126
  'semicolon-or-setlocal': {
127
- pattern: /((?:\n|\r\n)\s*);(?=\s|$)/,
127
+ pattern: /([\r\n][ \t]*);(?=\s|$)/,
128
128
  lookbehind: true,
129
129
  alias: 'function'
130
130
  }
@@ -182,7 +182,7 @@
182
182
  'stack-effect-delimiter': [
183
183
  {
184
184
  // opening parenthesis
185
- pattern: /(^|\s)(?:call|execute|eval)?\((?=\s)/,
185
+ pattern: /(^|\s)(?:call|eval|execute)?\((?=\s)/,
186
186
  lookbehind: true,
187
187
  alias: 'operator'
188
188
  },
@@ -265,7 +265,7 @@
265
265
  see <https://docs.factorcode.org/content/article-conventions.html>
266
266
  */
267
267
  'conventionally-named-word': {
268
- pattern: /(^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^>\s]+|[^:>\s]+>|[^>\s]+>[^>\s]+|\+[^+\s]+\+|[^?\s]+\?|\?[^?\s]+|[^>\s]+>>|>>[^>\s]+|[^<\s]+<<|\([^()\s]+\)|[^!\s]+!|[^*\s]\S*\*|[^.\s]\S*\.)(?=\s|$)/,
268
+ pattern: /(^|\s)(?!")(?:(?:change|new|set|with)-\S+|\$\S+|>[^>\s]+|[^:>\s]+>|[^>\s]+>[^>\s]+|\+[^+\s]+\+|[^?\s]+\?|\?[^?\s]+|[^>\s]+>>|>>[^>\s]+|[^<\s]+<<|\([^()\s]+\)|[^!\s]+!|[^*\s]\S*\*|[^.\s]\S*\.)(?=\s|$)/,
269
269
  lookbehind: true,
270
270
  alias: 'keyword'
271
271
  },
@@ -346,7 +346,7 @@
346
346
  };
347
347
 
348
348
  var escape = function (str) {
349
- return (str+'').replace(/([.?*+\^$\[\]\\(){}|\-])/g, '\\$1');
349
+ return (str + '').replace(/([.?*+\^$\[\]\\(){}|\-])/g, '\\$1');
350
350
  };
351
351
 
352
352
  var arrToWordsRegExp = function (arr) {
@@ -375,7 +375,7 @@
375
375
  };
376
376
 
377
377
  Object.keys(builtins).forEach(function (k) {
378
- factor[k].pattern = arrToWordsRegExp( builtins[k] );
378
+ factor[k].pattern = arrToWordsRegExp(builtins[k]);
379
379
  });
380
380
 
381
381
  var combinators = [
@@ -400,4 +400,4 @@
400
400
 
401
401
  Prism.languages.factor = factor;
402
402
 
403
- })(Prism);
403
+ }(Prism));
@@ -0,0 +1,32 @@
1
+ (function (Prism) {
2
+ /**
3
+ * Based on the manual by Wouter van Oortmerssen.
4
+ *
5
+ * @see {@link https://github.com/PrismJS/prism/issues/2801#issue-829717504}
6
+ */
7
+ Prism.languages['false'] = {
8
+ 'comment': {
9
+ pattern: /\{[^}]*\}/
10
+ },
11
+ 'string': {
12
+ pattern: /"[^"]*"/,
13
+ greedy: true
14
+ },
15
+ 'character-code': {
16
+ pattern: /'(?:[^\r]|\r\n?)/,
17
+ alias: 'number'
18
+ },
19
+ 'assembler-code': {
20
+ pattern: /\d+`/,
21
+ alias: 'important'
22
+ },
23
+ 'number': /\d+/,
24
+ 'operator': /[-!#$%&'*+,./:;=>?@\\^_`|~ßø]/,
25
+ 'punctuation': /\[|\]/,
26
+ 'variable': /[a-z]/,
27
+ 'non-standard': {
28
+ pattern: /[()<BDO®]/,
29
+ alias: 'bold'
30
+ }
31
+ };
32
+ }(Prism));
@@ -1,7 +1,7 @@
1
1
  Prism.languages['firestore-security-rules'] = Prism.languages.extend('clike', {
2
2
  'comment': /\/\/.*/,
3
3
  'keyword': /\b(?:allow|function|if|match|null|return|rules_version|service)\b/,
4
- 'operator': /&&|\|\||[<>!=]=?|[-+*/%=]|\b(?:in|is)\b/,
4
+ 'operator': /&&|\|\||[<>!=]=?|[-+*/%]|\b(?:in|is)\b/,
5
5
  });
6
6
 
7
7
  delete Prism.languages['firestore-security-rules']['class-name'];
@@ -20,7 +20,7 @@ Prism.languages.insertBefore('firestore-security-rules', 'keyword', {
20
20
  'punctuation': /[.$(){}]/
21
21
  }
22
22
  },
23
- 'punctuation': /[/]/
23
+ 'punctuation': /\//
24
24
  }
25
25
  },
26
26
  'method': {
@@ -4,12 +4,12 @@
4
4
  Prism.languages.insertBefore('flow', 'keyword', {
5
5
  'type': [
6
6
  {
7
- pattern: /\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/,
8
- alias: 'tag'
7
+ pattern: /\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,
8
+ alias: 'class-name'
9
9
  }
10
10
  ]
11
11
  });
12
- Prism.languages.flow['function-variable'].pattern = /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i;
12
+ Prism.languages.flow['function-variable'].pattern = /(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i;
13
13
  delete Prism.languages.flow['parameter'];
14
14
 
15
15
  Prism.languages.insertBefore('flow', 'operator', {
@@ -24,11 +24,11 @@
24
24
  }
25
25
  Prism.languages.flow.keyword.unshift(
26
26
  {
27
- pattern: /(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/,
27
+ pattern: /(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,
28
28
  lookbehind: true
29
29
  },
30
30
  {
31
- pattern: /(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/,
31
+ pattern: /(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,
32
32
  lookbehind: true
33
33
  }
34
34
  );
@@ -4,7 +4,7 @@ Prism.languages.fortran = {
4
4
  alias: 'number'
5
5
  },
6
6
  'string': {
7
- pattern: /(?:\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!\1).)*(?:\1|&)/,
7
+ pattern: /(?:\b\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:[ \t]*!.*(?:\r\n?|\n)|(?![ \t]*!))|(?!\1).)*(?:\1|&)/,
8
8
  inside: {
9
9
  'comment': {
10
10
  pattern: /(&(?:\r\n?|\n)\s*)!.*/,
@@ -16,20 +16,20 @@ Prism.languages.fortran = {
16
16
  pattern: /!.*/,
17
17
  greedy: true
18
18
  },
19
- 'boolean': /\.(?:TRUE|FALSE)\.(?:_\w+)?/i,
19
+ 'boolean': /\.(?:FALSE|TRUE)\.(?:_\w+)?/i,
20
20
  'number': /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i,
21
21
  'keyword': [
22
22
  // Types
23
- /\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i,
23
+ /\b(?:CHARACTER|COMPLEX|DOUBLE ?PRECISION|INTEGER|LOGICAL|REAL)\b/i,
24
24
  // END statements
25
25
  /\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i,
26
26
  // Statements
27
27
  /\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i,
28
28
  // Others
29
- /\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i
29
+ /\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEIF|ELSEWHERE|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i
30
30
  ],
31
31
  'operator': [
32
- /\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i,
32
+ /\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.[A-Z]+\./i,
33
33
  {
34
34
  // Use lookbehind to prevent confusion with (/ /)
35
35
  pattern: /(^|(?!\().)\/(?!\))/,
@@ -37,4 +37,4 @@ Prism.languages.fortran = {
37
37
  }
38
38
  ],
39
39
  'punctuation': /\(\/|\/\)|[(),;:&]/
40
- };
40
+ };
@@ -1,16 +1,18 @@
1
1
  Prism.languages.fsharp = Prism.languages.extend('clike', {
2
2
  'comment': [
3
3
  {
4
- pattern: /(^|[^\\])\(\*[\s\S]*?\*\)/,
5
- lookbehind: true
4
+ pattern: /(^|[^\\])\(\*(?!\))[\s\S]*?\*\)/,
5
+ lookbehind: true,
6
+ greedy: true
6
7
  },
7
8
  {
8
9
  pattern: /(^|[^\\:])\/\/.*/,
9
- lookbehind: true
10
+ lookbehind: true,
11
+ greedy: true
10
12
  }
11
13
  ],
12
14
  'string': {
13
- pattern: /(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?|'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/,
15
+ pattern: /(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?/,
14
16
  greedy: true
15
17
  },
16
18
  'class-name': {
@@ -21,22 +23,23 @@ Prism.languages.fsharp = Prism.languages.extend('clike', {
21
23
  'punctuation': /\./
22
24
  }
23
25
  },
24
- 'keyword': /\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/,
26
+ 'keyword': /\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|asr|assert|atomic|base|begin|break|checked|class|component|const|constraint|constructor|continue|default|delegate|do|done|downcast|downto|eager|elif|else|end|event|exception|extern|external|false|finally|fixed|for|fun|function|functor|global|if|in|include|inherit|inline|interface|internal|land|lazy|lor|lsl|lsr|lxor|match|member|method|mixin|mod|module|mutable|namespace|new|not|null|object|of|open|or|override|parallel|private|process|protected|public|pure|rec|sealed|select|sig|static|struct|tailcall|then|to|trait|true|try|type|upcast|val|virtual|void|volatile|when|while|with)\b/,
25
27
  'number': [
26
- /\b0x[\da-fA-F]+(?:un|lf|LF)?\b/,
27
- /\b0b[01]+(?:y|uy)?\b/,
28
- /(?:\b\d+\.?\d*|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,
29
- /\b\d+(?:[IlLsy]|u[lsy]?|UL)?\b/
28
+ /\b0x[\da-fA-F]+(?:LF|lf|un)?\b/,
29
+ /\b0b[01]+(?:uy|y)?\b/,
30
+ /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,
31
+ /\b\d+(?:[IlLsy]|UL|u[lsy]?)?\b/
30
32
  ],
31
33
  'operator': /([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/
32
34
  });
33
35
  Prism.languages.insertBefore('fsharp', 'keyword', {
34
36
  'preprocessor': {
35
- pattern: /^[^\r\n\S]*#.*/m,
37
+ pattern: /(^[\t ]*)#.*/m,
38
+ lookbehind: true,
36
39
  alias: 'property',
37
40
  inside: {
38
41
  'directive': {
39
- pattern: /(\s*#)\b(?:else|endif|if|light|line|nowarn)\b/,
42
+ pattern: /(^#)\b(?:else|endif|if|light|line|nowarn)\b/,
40
43
  lookbehind: true,
41
44
  alias: 'keyword'
42
45
  }
@@ -45,13 +48,14 @@ Prism.languages.insertBefore('fsharp', 'keyword', {
45
48
  });
46
49
  Prism.languages.insertBefore('fsharp', 'punctuation', {
47
50
  'computation-expression': {
48
- pattern: /[_a-z]\w*(?=\s*\{)/i,
51
+ pattern: /\b[_a-z]\w*(?=\s*\{)/i,
49
52
  alias: 'keyword'
50
53
  }
51
54
  });
52
55
  Prism.languages.insertBefore('fsharp', 'string', {
53
56
  'annotation': {
54
57
  pattern: /\[<.+?>\]/,
58
+ greedy: true,
55
59
  inside: {
56
60
  'punctuation': /^\[<|>\]$/,
57
61
  'class-name': {
@@ -63,5 +67,9 @@ Prism.languages.insertBefore('fsharp', 'string', {
63
67
  inside: Prism.languages.fsharp
64
68
  }
65
69
  }
70
+ },
71
+ 'char': {
72
+ pattern: /'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/,
73
+ greedy: true
66
74
  }
67
75
  });
@@ -3,11 +3,11 @@
3
3
  // https://freemarker.apache.org/docs/dgui_template_exp.html
4
4
 
5
5
  // FTL expression with 4 levels of nesting supported
6
- var FTL_EXPR = /(?!<#--)[^()"']|\((?:<expr>)*\)|<#--[\s\S]*?-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*'/.source;
6
+ var FTL_EXPR = /[^<()"']|\((?:<expr>)*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*'/.source;
7
7
  for (var i = 0; i < 2; i++) {
8
- FTL_EXPR = FTL_EXPR.replace(/<expr>/g, FTL_EXPR);
8
+ FTL_EXPR = FTL_EXPR.replace(/<expr>/g, function () { return FTL_EXPR; });
9
9
  }
10
- FTL_EXPR = FTL_EXPR.replace(/<expr>/g, '[^\s\S]');
10
+ FTL_EXPR = FTL_EXPR.replace(/<expr>/g, /[^\s\S]/.source);
11
11
 
12
12
  var ftl = {
13
13
  'comment': /<#--[\s\S]*?-->/,
@@ -18,11 +18,11 @@
18
18
  greedy: true
19
19
  },
20
20
  {
21
- pattern: RegExp(/("|')(?:(?!\1|\$\{)[^\\]|\\.|\$\{(?:<expr>)*?\})*\1/.source.replace(/<expr>/g, FTL_EXPR)),
21
+ pattern: RegExp(/("|')(?:(?!\1|\$\{)[^\\]|\\.|\$\{(?:(?!\})(?:<expr>))*\})*\1/.source.replace(/<expr>/g, function () { return FTL_EXPR; })),
22
22
  greedy: true,
23
23
  inside: {
24
24
  'interpolation': {
25
- pattern: RegExp(/((?:^|[^\\])(?:\\\\)*)\$\{(?:<expr>)*?\}/.source.replace(/<expr>/g, FTL_EXPR)),
25
+ pattern: RegExp(/((?:^|[^\\])(?:\\\\)*)\$\{(?:(?!\})(?:<expr>))*\}/.source.replace(/<expr>/g, function () { return FTL_EXPR; })),
26
26
  lookbehind: true,
27
27
  inside: {
28
28
  'interpolation-punctuation': {
@@ -36,14 +36,14 @@
36
36
  }
37
37
  ],
38
38
  'keyword': /\b(?:as)\b/,
39
- 'boolean': /\b(?:true|false)\b/,
39
+ 'boolean': /\b(?:false|true)\b/,
40
40
  'builtin-function': {
41
41
  pattern: /((?:^|[^?])\?\s*)\w+/,
42
42
  lookbehind: true,
43
43
  alias: 'function'
44
44
  },
45
- 'function': /\w+(?=\s*\()/,
46
- 'number': /\d+(?:\.\d+)?/,
45
+ 'function': /\b\w+(?=\s*\()/,
46
+ 'number': /\b\d+(?:\.\d+)?\b/,
47
47
  'operator': /\.\.[<*!]?|->|--|\+\+|&&|\|\||\?{1,2}|[-+*/%!=<>]=?|\b(?:gt|gte|lt|lte)\b/,
48
48
  'punctuation': /[,;.:()[\]{}]/
49
49
  };
@@ -66,7 +66,7 @@
66
66
  },
67
67
  'punctuation': /^<\/?|\/?>$/,
68
68
  'content': {
69
- pattern: /[\s\S]*\S[\s\S]*/,
69
+ pattern: /\s*\S[\s\S]*/,
70
70
  alias: 'ftl',
71
71
  inside: ftl
72
72
  }
@@ -77,7 +77,7 @@
77
77
  inside: {
78
78
  'punctuation': /^\$\{|\}$/,
79
79
  'content': {
80
- pattern: /[\s\S]*\S[\s\S]*/,
80
+ pattern: /\s*\S[\s\S]*/,
81
81
  alias: 'ftl',
82
82
  inside: ftl
83
83
  }
@@ -86,7 +86,8 @@
86
86
  };
87
87
 
88
88
  Prism.hooks.add('before-tokenize', function (env) {
89
- var pattern = RegExp(/<#--[\s\S]*?-->|<\/?[#@][a-zA-Z](?:<expr>)*?>|\$\{(?:<expr>)*?\}/.source.replace(/<expr>/g, FTL_EXPR), 'gi');
89
+ // eslint-disable-next-line regexp/no-useless-lazy
90
+ var pattern = RegExp(/<#--[\s\S]*?-->|<\/?[#@][a-zA-Z](?:<expr>)*?>|\$\{(?:<expr>)*?\}/.source.replace(/<expr>/g, function () { return FTL_EXPR; }), 'gi');
90
91
  Prism.languages['markup-templating'].buildPlaceholders(env, 'ftl', pattern);
91
92
  });
92
93