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
@@ -15,15 +15,7 @@
15
15
  {
16
16
  pattern: /"(?:`[\s\S]|[^`"])*"/,
17
17
  greedy: true,
18
- inside: {
19
- 'function': {
20
- // Allow for one level of nesting
21
- pattern: /(^|[^`])\$\((?:\$\(.*?\)|(?!\$\()[^\r\n)])*\)/,
22
- lookbehind: true,
23
- // Populated at end of file
24
- inside: {}
25
- }
26
- }
18
+ inside: null // see below
27
19
  },
28
20
  {
29
21
  pattern: /'(?:[^']|'')*'/,
@@ -32,29 +24,35 @@
32
24
  ],
33
25
  // Matches name spaces as well as casts, attribute decorators. Force starting with letter to avoid matching array indices
34
26
  // Supports two levels of nested brackets (e.g. `[OutputType([System.Collections.Generic.List[int]])]`)
35
- 'namespace': /\[[a-z](?:\[(?:\[[^\]]*]|[^\[\]])*]|[^\[\]])*]/i,
36
- 'boolean': /\$(?:true|false)\b/i,
37
- 'variable': /\$\w+\b/i,
27
+ 'namespace': /\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,
28
+ 'boolean': /\$(?:false|true)\b/i,
29
+ 'variable': /\$\w+\b/,
38
30
  // Cmdlets and aliases. Aliases should come last, otherwise "write" gets preferred over "write-host" for example
39
31
  // Get-Command | ?{ $_.ModuleName -match "Microsoft.PowerShell.(Util|Core|Management)" }
40
32
  // Get-Alias | ?{ $_.ReferencedCommand.Module.Name -match "Microsoft.PowerShell.(Util|Core|Management)" }
41
33
  'function': [
42
- /\b(?:Add-(?:Computer|Content|History|Member|PSSnapin|Type)|Checkpoint-Computer|Clear-(?:Content|EventLog|History|Item|ItemProperty|Variable)|Compare-Object|Complete-Transaction|Connect-PSSession|ConvertFrom-(?:Csv|Json|StringData)|Convert-Path|ConvertTo-(?:Csv|Html|Json|Xml)|Copy-(?:Item|ItemProperty)|Debug-Process|Disable-(?:ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)|Disconnect-PSSession|Enable-(?:ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)|Enter-PSSession|Exit-PSSession|Export-(?:Alias|Clixml|Console|Csv|FormatData|ModuleMember|PSSession)|ForEach-Object|Format-(?:Custom|List|Table|Wide)|Get-(?:Alias|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Culture|Date|Event|EventLog|EventSubscriber|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|WmiObject)|Group-Object|Import-(?:Alias|Clixml|Csv|LocalizedData|Module|PSSession)|Invoke-(?:Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)|Join-Path|Limit-EventLog|Measure-(?:Command|Object)|Move-(?:Item|ItemProperty)|New-(?:Alias|Event|EventLog|Item|ItemProperty|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy)|Out-(?:Default|File|GridView|Host|Null|Printer|String)|Pop-Location|Push-Location|Read-Host|Receive-(?:Job|PSSession)|Register-(?:EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)|Remove-(?:Computer|Event|EventLog|Item|ItemProperty|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)|Rename-(?:Computer|Item|ItemProperty)|Reset-ComputerMachinePassword|Resolve-Path|Restart-(?:Computer|Service)|Restore-Computer|Resume-(?:Job|Service)|Save-Help|Select-(?:Object|String|Xml)|Send-MailMessage|Set-(?:Alias|Content|Date|Item|ItemProperty|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)|Show-(?:Command|ControlPanelItem|EventLog)|Sort-Object|Split-Path|Start-(?:Job|Process|Service|Sleep|Transaction)|Stop-(?:Computer|Job|Process|Service)|Suspend-(?:Job|Service)|Tee-Object|Test-(?:ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)|Trace-Command|Unblock-File|Undo-Transaction|Unregister-(?:Event|PSSessionConfiguration)|Update-(?:FormatData|Help|List|TypeData)|Use-Transaction|Wait-(?:Event|Job|Process)|Where-Object|Write-(?:Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning))\b/i,
34
+ /\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,
43
35
  /\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i
44
36
  ],
45
37
  // per http://technet.microsoft.com/en-us/library/hh847744.aspx
46
38
  'keyword': /\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,
47
39
  'operator': {
48
- pattern: /(\W?)(?:!|-(?:eq|ne|gt|ge|lt|le|sh[lr]|not|b?(?:and|x?or)|(?:Not)?(?:Like|Match|Contains|In)|Replace|Join|is(?:Not)?|as)\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,
40
+ pattern: /(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,
49
41
  lookbehind: true
50
42
  },
51
43
  'punctuation': /[|{}[\];(),.]/
52
44
  };
53
45
 
54
46
  // Variable interpolation inside strings, and nested expressions
55
- var stringInside = powershell.string[0].inside;
56
- stringInside.boolean = powershell.boolean;
57
- stringInside.variable = powershell.variable;
58
- stringInside.function.inside = powershell;
47
+ powershell.string[0].inside = {
48
+ 'function': {
49
+ // Allow for one level of nesting
50
+ pattern: /(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,
51
+ lookbehind: true,
52
+ inside: powershell
53
+ },
54
+ 'boolean': powershell.boolean,
55
+ 'variable': powershell.variable,
56
+ };
59
57
 
60
58
  }(Prism));
@@ -1,18 +1,15 @@
1
1
  Prism.languages.processing = Prism.languages.extend('clike', {
2
- 'keyword': /\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,
2
+ 'keyword': /\b(?:break|case|catch|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,
3
+ // Spaces are allowed between function name and parenthesis
4
+ 'function': /\b\w+(?=\s*\()/,
3
5
  'operator': /<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/
4
6
  });
7
+
5
8
  Prism.languages.insertBefore('processing', 'number', {
6
9
  // Special case: XML is a type
7
10
  'constant': /\b(?!XML\b)[A-Z][A-Z\d_]+\b/,
8
11
  'type': {
9
- pattern: /\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/,
10
- alias: 'variable'
12
+ pattern: /\b(?:boolean|byte|char|color|double|float|int|[A-Z]\w*)\b/,
13
+ alias: 'class-name'
11
14
  }
12
15
  });
13
-
14
- // Spaces are allowed between function name and parenthesis
15
- Prism.languages.processing['function'].pattern = /\w+(?=\s*\()/;
16
-
17
- // Class-names is not styled by default
18
- Prism.languages.processing['class-name'].alias = 'variable';
@@ -1,20 +1,19 @@
1
1
  Prism.languages.prolog = {
2
2
  // Syntax depends on the implementation
3
- 'comment': [
4
- /%.+/,
5
- /\/\*[\s\S]*?\*\//
6
- ],
3
+ 'comment': {
4
+ pattern: /\/\*[\s\S]*?\*\/|%.*/,
5
+ greedy: true
6
+ },
7
7
  // Depending on the implementation, strings may allow escaped newlines and quote-escape
8
8
  'string': {
9
- pattern: /(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
9
+ pattern: /(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1(?!\1)/,
10
10
  greedy: true
11
11
  },
12
12
  'builtin': /\b(?:fx|fy|xf[xy]?|yfx?)\b/,
13
- 'variable': /\b[A-Z_]\w*/,
14
13
  // FIXME: Should we list all null-ary predicates (not followed by a parenthesis) like halt, trace, etc.?
15
14
  'function': /\b[a-z]\w*(?:(?=\()|\/\d+)/,
16
- 'number': /\b\d+\.?\d*/,
15
+ 'number': /\b\d+(?:\.\d*)?/,
17
16
  // Custom operators are allowed
18
17
  'operator': /[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/,
19
18
  'punctuation': /[(){}\[\],]/
20
- };
19
+ };
@@ -0,0 +1,99 @@
1
+ // Thanks to: https://github.com/prometheus-community/monaco-promql/blob/master/src/promql/promql.ts
2
+ // As well as: https://kausal.co/blog/slate-prism-add-new-syntax-promql/
3
+
4
+ (function (Prism) {
5
+ // PromQL Aggregation Operators
6
+ // (https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators)
7
+ var aggregations = [
8
+ 'sum',
9
+ 'min',
10
+ 'max',
11
+ 'avg',
12
+ 'group',
13
+ 'stddev',
14
+ 'stdvar',
15
+ 'count',
16
+ 'count_values',
17
+ 'bottomk',
18
+ 'topk',
19
+ 'quantile'
20
+ ];
21
+
22
+ // PromQL vector matching + the by and without clauses
23
+ // (https://prometheus.io/docs/prometheus/latest/querying/operators/#vector-matching)
24
+ var vectorMatching = [
25
+ 'on',
26
+ 'ignoring',
27
+ 'group_right',
28
+ 'group_left',
29
+ 'by',
30
+ 'without',
31
+ ];
32
+
33
+ // PromQL offset modifier
34
+ // (https://prometheus.io/docs/prometheus/latest/querying/basics/#offset-modifier)
35
+ var offsetModifier = ['offset'];
36
+
37
+ var keywords = aggregations.concat(vectorMatching, offsetModifier);
38
+
39
+ Prism.languages.promql = {
40
+ 'comment': {
41
+ pattern: /(^[ \t]*)#.*/m,
42
+ lookbehind: true
43
+ },
44
+ 'vector-match': {
45
+ // Match the comma-separated label lists inside vector matching:
46
+ pattern: new RegExp('((?:' + vectorMatching.join('|') + ')\\s*)\\([^)]*\\)'),
47
+ lookbehind: true,
48
+ inside: {
49
+ 'label-key': {
50
+ pattern: /\b[^,]+\b/,
51
+ alias: 'attr-name',
52
+ },
53
+ 'punctuation': /[(),]/
54
+ },
55
+ },
56
+ 'context-labels': {
57
+ pattern: /\{[^{}]*\}/,
58
+ inside: {
59
+ 'label-key': {
60
+ pattern: /\b[a-z_]\w*(?=\s*(?:=|![=~]))/,
61
+ alias: 'attr-name',
62
+ },
63
+ 'label-value': {
64
+ pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
65
+ greedy: true,
66
+ alias: 'attr-value',
67
+ },
68
+ 'punctuation': /\{|\}|=~?|![=~]|,/,
69
+ },
70
+ },
71
+ 'context-range': [
72
+ {
73
+ pattern: /\[[\w\s:]+\]/, // [1m]
74
+ inside: {
75
+ 'punctuation': /\[|\]|:/,
76
+ 'range-duration': {
77
+ pattern: /\b(?:\d+(?:[smhdwy]|ms))+\b/i,
78
+ alias: 'number',
79
+ },
80
+ },
81
+ },
82
+ {
83
+ pattern: /(\boffset\s+)\w+/, // offset 1m
84
+ lookbehind: true,
85
+ inside: {
86
+ 'range-duration': {
87
+ pattern: /\b(?:\d+(?:[smhdwy]|ms))+\b/i,
88
+ alias: 'number',
89
+ },
90
+ },
91
+ },
92
+ ],
93
+ 'keyword': new RegExp('\\b(?:' + keywords.join('|') + ')\\b', 'i'),
94
+ 'function': /\b[a-z_]\w*(?=\s*\()/i,
95
+ 'number': /[-+]?(?:(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[-+]?\d+)?\b|\b(?:0x[0-9a-f]+|nan|inf)\b)/i,
96
+ 'operator': /[\^*/%+-]|==|!=|<=|<|>=|>|\b(?:and|or|unless)\b/i,
97
+ 'punctuation': /[{};()`,.[\]]/,
98
+ };
99
+ }(Prism));
@@ -1,9 +1,13 @@
1
1
  Prism.languages.properties = {
2
2
  'comment': /^[ \t]*[#!].*$/m,
3
- 'attr-value': {
4
- pattern: /(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+?(?: *[=:] *| ))(?:\\(?:\r\n|[\s\S])|[^\\\r\n])+/m,
5
- lookbehind: true
3
+ 'value': {
4
+ pattern: /(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?: *[=:] *(?! )| ))(?:\\(?:\r\n|[\s\S])|[^\\\r\n])+/m,
5
+ lookbehind: true,
6
+ alias: 'attr-value'
7
+ },
8
+ 'key': {
9
+ pattern: /^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?= *[=:]| )/m,
10
+ alias: 'attr-name'
6
11
  },
7
- 'attr-name': /^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+?(?= *[=:] *| )/m,
8
12
  'punctuation': /[=:]/
9
- };
13
+ };
@@ -1,18 +1,25 @@
1
1
  (function (Prism) {
2
2
 
3
- var builtinTypes = /\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/;
3
+ var builtinTypes = /\b(?:bool|bytes|double|s?fixed(?:32|64)|float|[su]?int(?:32|64)|string)\b/;
4
4
 
5
5
  Prism.languages.protobuf = Prism.languages.extend('clike', {
6
- 'class-name': {
7
- pattern: /(\b(?:enum|extend|message|service)\s+)[A-Za-z_]\w*(?=\s*\{)/,
8
- lookbehind: true
9
- },
10
- 'keyword': /\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|service|syntax|to)\b/
6
+ 'class-name': [
7
+ {
8
+ pattern: /(\b(?:enum|extend|message|service)\s+)[A-Za-z_]\w*(?=\s*\{)/,
9
+ lookbehind: true
10
+ },
11
+ {
12
+ pattern: /(\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?)\.?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*(?=\s*\))/,
13
+ lookbehind: true
14
+ }
15
+ ],
16
+ 'keyword': /\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/,
17
+ 'function': /\b[a-z_]\w*(?=\s*\()/i
11
18
  });
12
19
 
13
20
  Prism.languages.insertBefore('protobuf', 'operator', {
14
21
  'map': {
15
- pattern: /\bmap<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Za-z_]\w*\s*[=;])/,
22
+ pattern: /\bmap<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[a-z_]\w*\s*[=;])/i,
16
23
  alias: 'class-name',
17
24
  inside: {
18
25
  'punctuation': /[<>.,]/,
@@ -21,14 +28,14 @@
21
28
  },
22
29
  'builtin': builtinTypes,
23
30
  'positional-class-name': {
24
- pattern: /(?:\b|\B\.)[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*(?=\s+[A-Za-z_]\w*\s*[=;])/,
31
+ pattern: /(?:\b|\B\.)[a-z_]\w*(?:\.[a-z_]\w*)*(?=\s+[a-z_]\w*\s*[=;])/i,
25
32
  alias: 'class-name',
26
33
  inside: {
27
34
  'punctuation': /\./
28
35
  }
29
36
  },
30
37
  'annotation': {
31
- pattern: /(\[\s*)[A-Za-z_]\w*(?=\s*=)/,
38
+ pattern: /(\[\s*)[a-z_]\w*(?=\s*=)/i,
32
39
  lookbehind: true
33
40
  }
34
41
  });
@@ -0,0 +1,35 @@
1
+ Prism.languages.psl = {
2
+ 'comment': {
3
+ pattern: /#.*/,
4
+ greedy: true
5
+ },
6
+ 'string': {
7
+ pattern: /"(?:\\.|[^\\"])*"/,
8
+ greedy: true,
9
+ inside: {
10
+ 'symbol': /\\[ntrbA-Z"\\]/
11
+ }
12
+ },
13
+ 'heredoc-string': {
14
+ pattern: /<<<([a-zA-Z_]\w*)[\r\n](?:.*[\r\n])*?\1\b/,
15
+ alias: 'string',
16
+ greedy: true
17
+ },
18
+ 'keyword': /\b(?:__multi|__single|case|default|do|else|elsif|exit|export|for|foreach|function|if|last|line|local|next|requires|return|switch|until|while|word)\b/,
19
+ 'constant': /\b(?:ALARM|CHART_ADD_GRAPH|CHART_DELETE_GRAPH|CHART_DESTROY|CHART_LOAD|CHART_PRINT|EOF|OFFLINE|OK|PSL_PROF_LOG|R_CHECK_HORIZ|R_CHECK_VERT|R_CLICKER|R_COLUMN|R_FRAME|R_ICON|R_LABEL|R_LABEL_CENTER|R_LIST_MULTIPLE|R_LIST_MULTIPLE_ND|R_LIST_SINGLE|R_LIST_SINGLE_ND|R_MENU|R_POPUP|R_POPUP_SCROLLED|R_RADIO_HORIZ|R_RADIO_VERT|R_ROW|R_SCALE_HORIZ|R_SCALE_VERT|R_SEP_HORIZ|R_SEP_VERT|R_SPINNER|R_TEXT_FIELD|R_TEXT_FIELD_LABEL|R_TOGGLE|TRIM_LEADING|TRIM_LEADING_AND_TRAILING|TRIM_REDUNDANT|TRIM_TRAILING|VOID|WARN)\b/,
20
+ 'boolean': /\b(?:FALSE|False|NO|No|TRUE|True|YES|Yes|false|no|true|yes)\b/,
21
+ 'variable': /\b(?:PslDebug|errno|exit_status)\b/,
22
+ 'builtin': {
23
+ pattern: /\b(?:PslExecute|PslFunctionCall|PslFunctionExists|PslSetOptions|_snmp_debug|acos|add_diary|annotate|annotate_get|ascii_to_ebcdic|asctime|asin|atan|atexit|batch_set|blackout|cat|ceil|chan_exists|change_state|close|code_cvt|cond_signal|cond_wait|console_type|convert_base|convert_date|convert_locale_date|cos|cosh|create|date|dcget_text|destroy|destroy_lock|dget_text|difference|dump_hist|ebcdic_to_ascii|encrypt|event_archive|event_catalog_get|event_check|event_query|event_range_manage|event_range_query|event_report|event_schedule|event_trigger|event_trigger2|execute|exists|exp|fabs|file|floor|fmod|fopen|fseek|ftell|full_discovery|get|get_chan_info|get_ranges|get_text|get_vars|getenv|gethostinfo|getpid|getpname|grep|history|history_get_retention|in_transition|index|int|internal|intersection|is_var|isnumber|join|kill|length|lines|lock|lock_info|log|log10|loge|matchline|msg_check|msg_get_format|msg_get_severity|msg_printf|msg_sprintf|ntharg|nthargf|nthline|nthlinef|num_bytes|num_consoles|pconfig|popen|poplines|pow|print|printf|proc_exists|process|random|read|readln|refresh_parameters|remote_check|remote_close|remote_event_query|remote_event_trigger|remote_file_send|remote_open|remove|replace|rindex|sec_check_priv|sec_store_get|sec_store_set|set|set_alarm_ranges|set_locale|share|sin|sinh|sleep|snmp_agent_config|snmp_agent_start|snmp_agent_stop|snmp_close|snmp_config|snmp_get|snmp_get_next|snmp_h_get|snmp_h_get_next|snmp_h_set|snmp_open|snmp_set|snmp_trap_ignore|snmp_trap_listen|snmp_trap_raise_std_trap|snmp_trap_receive|snmp_trap_register_im|snmp_trap_send|snmp_walk|sopen|sort|splitline|sprintf|sqrt|srandom|str_repeat|strcasecmp|subset|substr|system|tail|tan|tanh|text_domain|time|tmpnam|tolower|toupper|trace_psl_process|trim|union|unique|unlock|unset|va_arg|va_start|write)\b/,
24
+ alias: 'builtin-function'
25
+ },
26
+ 'foreach-variable': {
27
+ pattern: /(\bforeach\s+(?:(?:\w+\b|"(?:\\.|[^\\"])*")\s+){0,2})[_a-zA-Z]\w*(?=\s*\()/,
28
+ lookbehind: true,
29
+ greedy: true
30
+ },
31
+ 'function': /\b[_a-z]\w*\b(?=\s*\()/i,
32
+ 'number': /\b(?:0x[0-9a-f]+|\d+(?:\.\d+)?)\b/i,
33
+ 'operator': /--|\+\+|&&=?|\|\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\.|[:?]/,
34
+ 'punctuation': /[(){}\[\];,]/
35
+ };
@@ -1,4 +1,4 @@
1
- (function(Prism) {
1
+ (function (Prism) {
2
2
  // TODO:
3
3
  // - Add CSS highlighting inside <style> tags
4
4
  // - Add support for multi-line code blocks
@@ -13,32 +13,33 @@
13
13
 
14
14
  // This handles both single-line and multi-line comments
15
15
  'comment': {
16
- pattern: /(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ]+.+)*/m,
16
+ pattern: /(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ].+)*/m,
17
17
  lookbehind: true
18
18
  },
19
19
 
20
20
  // All the tag-related part is in lookbehind
21
21
  // so that it can be highlighted by the "tag" pattern
22
22
  'multiline-script': {
23
- pattern: /(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
23
+ pattern: /(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,
24
24
  lookbehind: true,
25
25
  inside: Prism.languages.javascript
26
26
  },
27
27
 
28
28
  // See at the end of the file for known filters
29
29
  'filter': {
30
- pattern: /(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
30
+ pattern: /(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,
31
31
  lookbehind: true,
32
32
  inside: {
33
33
  'filter-name': {
34
34
  pattern: /^:[\w-]+/,
35
35
  alias: 'variable'
36
- }
36
+ },
37
+ 'text': /\S[\s\S]*/,
37
38
  }
38
39
  },
39
40
 
40
41
  'multiline-plain-text': {
41
- pattern: /(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
42
+ pattern: /(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,
42
43
  lookbehind: true
43
44
  },
44
45
  'markup': {
@@ -53,7 +54,7 @@
53
54
 
54
55
  // This handle all conditional and loop keywords
55
56
  'flow-control': {
56
- pattern: /(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m,
57
+ pattern: /(^[\t ]*)(?:case|default|each|else|if|unless|when|while)\b(?: .+)?/m,
57
58
  lookbehind: true,
58
59
  inside: {
59
60
  'each': {
@@ -64,14 +65,14 @@
64
65
  }
65
66
  },
66
67
  'branch': {
67
- pattern: /^(?:if|unless|else|case|when|default|while)\b/,
68
+ pattern: /^(?:case|default|else|if|unless|when|while)\b/,
68
69
  alias: 'keyword'
69
70
  },
70
71
  rest: Prism.languages.javascript
71
72
  }
72
73
  },
73
74
  'keyword': {
74
- pattern: /(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m,
75
+ pattern: /(^[\t ]*)(?:append|block|extends|include|prepend)\b.+/m,
75
76
  lookbehind: true
76
77
  },
77
78
  'mixin': [
@@ -99,13 +100,13 @@
99
100
  }
100
101
  ],
101
102
  'script': {
102
- pattern: /(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+).+/m,
103
+ pattern: /(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]).+/m,
103
104
  lookbehind: true,
104
105
  inside: Prism.languages.javascript
105
106
  },
106
107
 
107
108
  'plain-text': {
108
- pattern: /(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+).+/m,
109
+ pattern: /(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]).+/m,
109
110
  lookbehind: true
110
111
  },
111
112
  'tag': {
@@ -121,7 +122,7 @@
121
122
  pattern: /\([^)]+\)/,
122
123
  inside: {
123
124
  'attr-value': {
124
- pattern: /(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/,
125
+ pattern: /(=\s*(?!\s))(?:\{[^}]*\}|[^,)\r\n]+)/,
125
126
  lookbehind: true,
126
127
  inside: Prism.languages.javascript
127
128
  },
@@ -130,7 +131,9 @@
130
131
  }
131
132
  }
132
133
  ],
133
- 'punctuation': /:/
134
+ 'punctuation': /:/,
135
+ 'attr-id': /#[\w\-]+/,
136
+ 'attr-class': /\.[\w\-]+/
134
137
  }
135
138
  },
136
139
  'code': [
@@ -143,36 +146,40 @@
143
146
  'punctuation': /[.\-!=|]+/
144
147
  };
145
148
 
146
- var filter_pattern = /(^([\t ]*)):{{filter_name}}(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/.source;
149
+ var filter_pattern = /(^([\t ]*)):<filter_name>(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/.source;
147
150
 
148
151
  // Non exhaustive list of available filters and associated languages
149
152
  var filters = [
150
- {filter:'atpl',language:'twig'},
151
- {filter:'coffee',language:'coffeescript'},
153
+ { filter: 'atpl', language: 'twig' },
154
+ { filter: 'coffee', language: 'coffeescript' },
152
155
  'ejs',
153
156
  'handlebars',
154
157
  'less',
155
158
  'livescript',
156
159
  'markdown',
157
- {filter:'sass',language:'scss'},
160
+ { filter: 'sass', language: 'scss' },
158
161
  'stylus'
159
162
  ];
160
163
  var all_filters = {};
161
164
  for (var i = 0, l = filters.length; i < l; i++) {
162
165
  var filter = filters[i];
163
- filter = typeof filter === 'string' ? {filter: filter, language: filter} : filter;
166
+ filter = typeof filter === 'string' ? { filter: filter, language: filter } : filter;
164
167
  if (Prism.languages[filter.language]) {
165
168
  all_filters['filter-' + filter.filter] = {
166
- pattern: RegExp(filter_pattern.replace('{{filter_name}}', filter.filter), 'm'),
169
+ pattern: RegExp(filter_pattern.replace('<filter_name>', function () { return filter.filter; }), 'm'),
167
170
  lookbehind: true,
168
171
  inside: {
169
172
  'filter-name': {
170
173
  pattern: /^:[\w-]+/,
171
174
  alias: 'variable'
172
175
  },
173
- rest: Prism.languages[filter.language]
176
+ 'text': {
177
+ pattern: /\S[\s\S]*/,
178
+ alias: [filter.language, 'language-' + filter.language],
179
+ inside: Prism.languages[filter.language]
180
+ }
174
181
  }
175
- }
182
+ };
176
183
  }
177
184
  }
178
185
 
@@ -3,7 +3,7 @@
3
3
  'heredoc': [
4
4
  // Matches the content of a quoted heredoc string (subject to interpolation)
5
5
  {
6
- pattern: /(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r))*?[ \t]*\|?[ \t]*-?[ \t]*\2/,
6
+ pattern: /(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,
7
7
  lookbehind: true,
8
8
  alias: 'string',
9
9
  inside: {
@@ -14,7 +14,7 @@
14
14
  },
15
15
  // Matches the content of an unquoted heredoc string (no interpolation)
16
16
  {
17
- pattern: /(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r))*?[ \t]*\|?[ \t]*-?[ \t]*\2/,
17
+ pattern: /(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,
18
18
  lookbehind: true,
19
19
  greedy: true,
20
20
  alias: 'string',
@@ -63,7 +63,7 @@
63
63
  },
64
64
  'string': {
65
65
  // Allow for one nested level of double quotes inside interpolation
66
- pattern: /(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|(?!\1)[^\\]|\\[\s\S])*\1/,
66
+ pattern: /(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|\$(?!\{)|(?!\1)[^\\$]|\\[\s\S])*\1/,
67
67
  greedy: true,
68
68
  inside: {
69
69
  'double-quoted': {
@@ -80,7 +80,7 @@
80
80
  'punctuation': /::/
81
81
  }
82
82
  },
83
- 'attr-name': /(?:\w+|\*)(?=\s*=>)/,
83
+ 'attr-name': /(?:\b\w+|\*)(?=\s*=>)/,
84
84
  'function': [
85
85
  {
86
86
  pattern: /(\.)(?!\d)\w+/,
@@ -89,7 +89,7 @@
89
89
  /\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/
90
90
  ],
91
91
  'number': /\b(?:0x[a-f\d]+|\d+(?:\.\d+)?(?:e-?\d+)?)\b/i,
92
- 'boolean': /\b(?:true|false)\b/,
92
+ 'boolean': /\b(?:false|true)\b/,
93
93
  // Includes words reserved for future use
94
94
  'keyword': /\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/,
95
95
  'datatype': {
@@ -133,4 +133,4 @@
133
133
  ];
134
134
  Prism.languages.puppet['heredoc'][0].inside.interpolation = interpolation;
135
135
  Prism.languages.puppet['string'].inside['double-quoted'].inside.interpolation = interpolation;
136
- }(Prism));
136
+ }(Prism));
@@ -1,4 +1,6 @@
1
1
  (function (Prism) {
2
+ // https://agraef.github.io/pure-docs/pure.html#lexical-matters
3
+
2
4
  Prism.languages.pure = {
3
5
  'comment': [
4
6
  {
@@ -32,17 +34,18 @@
32
34
  },
33
35
  'number': {
34
36
  // The look-behind prevents wrong highlighting of the .. operator
35
- pattern: /((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d)?|\B\.\d)\d*(?:e[+-]?\d+)?L?)/i,
37
+ pattern: /((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?L?)/i,
36
38
  lookbehind: true
37
39
  },
38
- 'keyword': /\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/,
39
- 'function': /\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/,
40
+ 'keyword': /\b(?:NULL|ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/,
41
+ 'function': /\b(?:abs|add_(?:addr|constdef|(?:fundef|interface|macdef|typedef)(?:_at)?|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_c?string(?:_pointer)?|byte_(?:matrix|pointer)|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|sentry|short|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/,
40
42
  'special': {
41
43
  pattern: /\b__[a-z]+__\b/i,
42
44
  alias: 'builtin'
43
45
  },
44
46
  // Any combination of operator chars can be an operator
45
- 'operator': /(?=\b_|[^_])[!"#$%&'*+,\-.\/:<=>?@\\^_`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]+|\b(?:and|div|mod|not|or)\b/,
47
+ // eslint-disable-next-line no-misleading-character-class
48
+ 'operator': /(?:[!"#$%&'*+,\-.\/:<=>?@\\^`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/,
46
49
  // FIXME: How can we prevent | and , to be highlighted as operator when they are used alone?
47
50
  'punctuation': /[(){}\[\];,|]/
48
51
  };
@@ -52,7 +55,7 @@
52
55
  { lang: 'c++', alias: 'cpp' },
53
56
  'fortran'
54
57
  ];
55
- var inlineLanguageRe = /%< *-\*- *{lang}\d* *-\*-[\s\S]+?%>/.source;
58
+ var inlineLanguageRe = /%< *-\*- *<lang>\d* *-\*-[\s\S]+?%>/.source;
56
59
 
57
60
  inlineLanguages.forEach(function (lang) {
58
61
  var alias = lang;
@@ -63,7 +66,7 @@
63
66
  if (Prism.languages[alias]) {
64
67
  var o = {};
65
68
  o['inline-lang-' + alias] = {
66
- pattern: RegExp(inlineLanguageRe.replace('{lang}', lang.replace(/([.+*?\/\\(){}\[\]])/g,'\\$1')), 'i'),
69
+ pattern: RegExp(inlineLanguageRe.replace('<lang>', lang.replace(/([.+*?\/\\(){}\[\]])/g, '\\$1')), 'i'),
67
70
  inside: Prism.util.clone(Prism.languages.pure['inline-lang'].inside)
68
71
  };
69
72
  o['inline-lang-' + alias].inside.rest = Prism.util.clone(Prism.languages[alias]);