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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +22 -1
- data/lib/prism-rails/version.rb +1 -1
- data/vendor/assets/javascripts/languages/prism-abap.js +17 -17
- data/vendor/assets/javascripts/languages/prism-abnf.js +3 -3
- data/vendor/assets/javascripts/languages/prism-actionscript.js +6 -2
- data/vendor/assets/javascripts/languages/prism-ada.js +9 -6
- data/vendor/assets/javascripts/languages/prism-agda.js +24 -0
- data/vendor/assets/javascripts/languages/prism-al.js +25 -0
- data/vendor/assets/javascripts/languages/prism-antlr4.js +1 -1
- data/vendor/assets/javascripts/languages/prism-apacheconf.js +3 -3
- data/vendor/assets/javascripts/languages/prism-apex.js +65 -0
- data/vendor/assets/javascripts/languages/prism-apl.js +3 -3
- data/vendor/assets/javascripts/languages/prism-applescript.js +5 -8
- data/vendor/assets/javascripts/languages/prism-aql.js +14 -6
- data/vendor/assets/javascripts/languages/prism-arduino.js +5 -3
- data/vendor/assets/javascripts/languages/prism-arff.js +1 -1
- data/vendor/assets/javascripts/languages/prism-armasm.js +49 -0
- data/vendor/assets/javascripts/languages/prism-arturo.js +105 -0
- data/vendor/assets/javascripts/languages/prism-asciidoc.js +13 -13
- data/vendor/assets/javascripts/languages/prism-asm6502.js +15 -14
- data/vendor/assets/javascripts/languages/prism-asmatmel.js +43 -0
- data/vendor/assets/javascripts/languages/prism-aspnet.js +6 -6
- data/vendor/assets/javascripts/languages/prism-autohotkey.js +31 -14
- data/vendor/assets/javascripts/languages/prism-autoit.js +16 -16
- data/vendor/assets/javascripts/languages/prism-avisynth.js +188 -0
- data/vendor/assets/javascripts/languages/prism-avro-idl.js +50 -0
- data/vendor/assets/javascripts/languages/prism-awk.js +32 -0
- data/vendor/assets/javascripts/languages/prism-bash.js +60 -22
- data/vendor/assets/javascripts/languages/prism-basic.js +4 -4
- data/vendor/assets/javascripts/languages/prism-batch.js +10 -10
- data/vendor/assets/javascripts/languages/prism-bbcode.js +3 -1
- data/vendor/assets/javascripts/languages/prism-bbj.js +19 -0
- data/vendor/assets/javascripts/languages/prism-bicep.js +77 -0
- data/vendor/assets/javascripts/languages/prism-birb.js +23 -0
- data/vendor/assets/javascripts/languages/prism-bison.js +2 -2
- data/vendor/assets/javascripts/languages/prism-bqn.js +63 -0
- data/vendor/assets/javascripts/languages/prism-brainfuck.js +1 -1
- data/vendor/assets/javascripts/languages/prism-brightscript.js +2 -2
- data/vendor/assets/javascripts/languages/prism-bro.js +9 -20
- data/vendor/assets/javascripts/languages/prism-bsl.js +75 -0
- data/vendor/assets/javascripts/languages/prism-c.js +53 -14
- data/vendor/assets/javascripts/languages/prism-cfscript.js +44 -0
- data/vendor/assets/javascripts/languages/prism-chaiscript.js +60 -0
- data/vendor/assets/javascripts/languages/prism-cil.js +5 -5
- data/vendor/assets/javascripts/languages/prism-cilkc.js +8 -0
- data/vendor/assets/javascripts/languages/prism-cilkcpp.js +9 -0
- data/vendor/assets/javascripts/languages/prism-clike.js +7 -6
- data/vendor/assets/javascripts/languages/prism-clojure.js +20 -5
- data/vendor/assets/javascripts/languages/prism-cmake.js +7 -7
- data/vendor/assets/javascripts/languages/prism-cobol.js +53 -0
- data/vendor/assets/javascripts/languages/prism-coffeescript.js +79 -75
- data/vendor/assets/javascripts/languages/prism-concurnas.js +33 -20
- data/vendor/assets/javascripts/languages/prism-cooklang.js +146 -0
- data/vendor/assets/javascripts/languages/prism-coq.js +54 -0
- data/vendor/assets/javascripts/languages/prism-core.js +1087 -451
- data/vendor/assets/javascripts/languages/prism-cpp.js +99 -21
- data/vendor/assets/javascripts/languages/prism-crystal.js +36 -30
- data/vendor/assets/javascripts/languages/prism-csharp.js +343 -58
- data/vendor/assets/javascripts/languages/prism-cshtml.js +199 -0
- data/vendor/assets/javascripts/languages/prism-csp.js +67 -16
- data/vendor/assets/javascripts/languages/prism-css-extras.js +27 -16
- data/vendor/assets/javascripts/languages/prism-css.js +28 -26
- data/vendor/assets/javascripts/languages/prism-csv.js +6 -0
- data/vendor/assets/javascripts/languages/prism-cue.js +84 -0
- data/vendor/assets/javascripts/languages/prism-cypher.js +36 -0
- data/vendor/assets/javascripts/languages/prism-d.js +15 -10
- data/vendor/assets/javascripts/languages/prism-dart.js +76 -21
- data/vendor/assets/javascripts/languages/prism-dataweave.js +41 -0
- data/vendor/assets/javascripts/languages/prism-dax.js +27 -0
- data/vendor/assets/javascripts/languages/prism-dhall.js +69 -0
- data/vendor/assets/javascripts/languages/prism-diff.js +15 -5
- data/vendor/assets/javascripts/languages/prism-django.js +8 -8
- data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +3 -3
- data/vendor/assets/javascripts/languages/prism-docker.js +98 -11
- data/vendor/assets/javascripts/languages/prism-dot.js +76 -0
- data/vendor/assets/javascripts/languages/prism-ebnf.js +2 -2
- data/vendor/assets/javascripts/languages/prism-editorconfig.js +26 -0
- data/vendor/assets/javascripts/languages/prism-eiffel.js +5 -8
- data/vendor/assets/javascripts/languages/prism-ejs.js +4 -2
- data/vendor/assets/javascripts/languages/prism-elixir.js +21 -12
- data/vendor/assets/javascripts/languages/prism-elm.js +16 -15
- data/vendor/assets/javascripts/languages/prism-erb.js +12 -7
- data/vendor/assets/javascripts/languages/prism-erlang.js +6 -6
- data/vendor/assets/javascripts/languages/prism-excel-formula.js +66 -0
- data/vendor/assets/javascripts/languages/prism-factor.js +8 -8
- data/vendor/assets/javascripts/languages/prism-false.js +32 -0
- data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +2 -2
- data/vendor/assets/javascripts/languages/prism-flow.js +5 -5
- data/vendor/assets/javascripts/languages/prism-fortran.js +6 -6
- data/vendor/assets/javascripts/languages/prism-fsharp.js +20 -12
- data/vendor/assets/javascripts/languages/prism-ftl.js +12 -11
- data/vendor/assets/javascripts/languages/prism-gap.js +54 -0
- data/vendor/assets/javascripts/languages/prism-gcode.js +4 -3
- data/vendor/assets/javascripts/languages/prism-gdscript.js +2 -2
- data/vendor/assets/javascripts/languages/prism-gedcom.js +6 -6
- data/vendor/assets/javascripts/languages/prism-gettext.js +43 -0
- data/vendor/assets/javascripts/languages/prism-gherkin.js +7 -7
- data/vendor/assets/javascripts/languages/prism-git.js +3 -3
- data/vendor/assets/javascripts/languages/prism-glsl.js +2 -15
- data/vendor/assets/javascripts/languages/prism-gml.js +5 -5
- data/vendor/assets/javascripts/languages/prism-gn.js +51 -0
- data/vendor/assets/javascripts/languages/prism-go-module.js +24 -0
- data/vendor/assets/javascripts/languages/prism-go.js +21 -5
- data/vendor/assets/javascripts/languages/prism-gradle.js +63 -0
- data/vendor/assets/javascripts/languages/prism-graphql.js +187 -7
- data/vendor/assets/javascripts/languages/prism-groovy.js +56 -58
- data/vendor/assets/javascripts/languages/prism-haml.js +23 -16
- data/vendor/assets/javascripts/languages/prism-handlebars.js +10 -7
- data/vendor/assets/javascripts/languages/prism-haskell.js +42 -14
- data/vendor/assets/javascripts/languages/prism-haxe.js +54 -21
- data/vendor/assets/javascripts/languages/prism-hcl.js +12 -14
- data/vendor/assets/javascripts/languages/prism-hlsl.js +20 -0
- data/vendor/assets/javascripts/languages/prism-hoon.js +14 -0
- data/vendor/assets/javascripts/languages/prism-hpkp.js +4 -10
- data/vendor/assets/javascripts/languages/prism-hsts.js +4 -10
- data/vendor/assets/javascripts/languages/prism-http.js +91 -17
- data/vendor/assets/javascripts/languages/prism-ichigojam.js +5 -5
- data/vendor/assets/javascripts/languages/prism-icon.js +2 -2
- data/vendor/assets/javascripts/languages/prism-icu-message-format.js +148 -0
- data/vendor/assets/javascripts/languages/prism-idris.js +19 -0
- data/vendor/assets/javascripts/languages/prism-iecst.js +32 -0
- data/vendor/assets/javascripts/languages/prism-ignore.js +23 -0
- data/vendor/assets/javascripts/languages/prism-inform7.js +10 -10
- data/vendor/assets/javascripts/languages/prism-ini.js +39 -8
- data/vendor/assets/javascripts/languages/prism-io.js +10 -19
- data/vendor/assets/javascripts/languages/prism-j.js +7 -4
- data/vendor/assets/javascripts/languages/prism-java.js +80 -19
- data/vendor/assets/javascripts/languages/prism-javadoc.js +59 -31
- data/vendor/assets/javascripts/languages/prism-javadoclike.js +2 -2
- data/vendor/assets/javascripts/languages/prism-javascript.js +98 -17
- data/vendor/assets/javascripts/languages/prism-javastacktrace.js +63 -14
- data/vendor/assets/javascripts/languages/prism-jexl.js +14 -0
- data/vendor/assets/javascripts/languages/prism-jolie.js +23 -37
- data/vendor/assets/javascripts/languages/prism-jq.js +8 -6
- data/vendor/assets/javascripts/languages/prism-js-extras.js +34 -3
- data/vendor/assets/javascripts/languages/prism-js-templates.js +5 -2
- data/vendor/assets/javascripts/languages/prism-jsdoc.js +15 -10
- data/vendor/assets/javascripts/languages/prism-json.js +13 -5
- data/vendor/assets/javascripts/languages/prism-json5.js +3 -3
- data/vendor/assets/javascripts/languages/prism-jsonp.js +1 -1
- data/vendor/assets/javascripts/languages/prism-jsstacktrace.js +49 -0
- data/vendor/assets/javascripts/languages/prism-jsx.js +123 -104
- data/vendor/assets/javascripts/languages/prism-julia.js +31 -9
- data/vendor/assets/javascripts/languages/prism-keepalived.js +51 -0
- data/vendor/assets/javascripts/languages/prism-keyman.js +43 -13
- data/vendor/assets/javascripts/languages/prism-kotlin.js +56 -30
- data/vendor/assets/javascripts/languages/prism-kumir.js +106 -0
- data/vendor/assets/javascripts/languages/prism-kusto.js +44 -0
- data/vendor/assets/javascripts/languages/prism-latex.js +6 -6
- data/vendor/assets/javascripts/languages/prism-latte.js +11 -17
- data/vendor/assets/javascripts/languages/prism-less.js +5 -5
- data/vendor/assets/javascripts/languages/prism-lilypond.js +3 -3
- data/vendor/assets/javascripts/languages/prism-linker-script.js +30 -0
- data/vendor/assets/javascripts/languages/prism-liquid.js +62 -8
- data/vendor/assets/javascripts/languages/prism-lisp.js +41 -41
- data/vendor/assets/javascripts/languages/prism-livescript.js +3 -3
- data/vendor/assets/javascripts/languages/prism-llvm.js +19 -0
- data/vendor/assets/javascripts/languages/prism-log.js +120 -0
- data/vendor/assets/javascripts/languages/prism-lolcode.js +9 -9
- data/vendor/assets/javascripts/languages/prism-lua.js +3 -3
- data/vendor/assets/javascripts/languages/prism-magma.js +35 -0
- data/vendor/assets/javascripts/languages/prism-makefile.js +17 -17
- data/vendor/assets/javascripts/languages/prism-markdown.js +103 -32
- data/vendor/assets/javascripts/languages/prism-markup-templating.js +2 -1
- data/vendor/assets/javascripts/languages/prism-markup.js +95 -12
- data/vendor/assets/javascripts/languages/prism-mata.js +50 -0
- data/vendor/assets/javascripts/languages/prism-matlab.js +4 -4
- data/vendor/assets/javascripts/languages/prism-maxscript.js +91 -0
- data/vendor/assets/javascripts/languages/prism-mel.js +24 -21
- data/vendor/assets/javascripts/languages/prism-mermaid.js +113 -0
- data/vendor/assets/javascripts/languages/prism-metafont.js +84 -0
- data/vendor/assets/javascripts/languages/prism-mizar.js +3 -3
- data/vendor/assets/javascripts/languages/prism-mongodb.js +97 -0
- data/vendor/assets/javascripts/languages/prism-monkey.js +16 -18
- data/vendor/assets/javascripts/languages/prism-moonscript.js +1 -1
- data/vendor/assets/javascripts/languages/prism-n1ql.js +14 -8
- data/vendor/assets/javascripts/languages/prism-n4js.js +2 -2
- data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +3 -3
- data/vendor/assets/javascripts/languages/prism-naniscript.js +170 -0
- data/vendor/assets/javascripts/languages/prism-nasm.js +4 -4
- data/vendor/assets/javascripts/languages/prism-neon.js +5 -6
- data/vendor/assets/javascripts/languages/prism-nevod.js +125 -0
- data/vendor/assets/javascripts/languages/prism-nginx.js +54 -11
- data/vendor/assets/javascripts/languages/prism-nim.js +23 -12
- data/vendor/assets/javascripts/languages/prism-nix.js +10 -13
- data/vendor/assets/javascripts/languages/prism-nsis.js +10 -9
- data/vendor/assets/javascripts/languages/prism-objectivec.js +7 -2
- data/vendor/assets/javascripts/languages/prism-ocaml.js +32 -15
- data/vendor/assets/javascripts/languages/prism-odin.js +99 -0
- data/vendor/assets/javascripts/languages/prism-opencl.js +19 -12
- data/vendor/assets/javascripts/languages/prism-openqasm.js +23 -0
- data/vendor/assets/javascripts/languages/prism-oz.js +11 -8
- data/vendor/assets/javascripts/languages/prism-parigp.js +4 -4
- data/vendor/assets/javascripts/languages/prism-parser.js +3 -3
- data/vendor/assets/javascripts/languages/prism-pascal.js +24 -8
- data/vendor/assets/javascripts/languages/prism-pascaligo.js +7 -7
- data/vendor/assets/javascripts/languages/prism-pcaxis.js +2 -2
- data/vendor/assets/javascripts/languages/prism-peoplecode.js +42 -0
- data/vendor/assets/javascripts/languages/prism-perl.js +153 -188
- data/vendor/assets/javascripts/languages/prism-php-extras.js +8 -5
- data/vendor/assets/javascripts/languages/prism-php.js +275 -63
- data/vendor/assets/javascripts/languages/prism-phpdoc.js +1 -1
- data/vendor/assets/javascripts/languages/prism-plant-uml.js +103 -0
- data/vendor/assets/javascripts/languages/prism-plsql.js +16 -25
- data/vendor/assets/javascripts/languages/prism-powerquery.js +55 -0
- data/vendor/assets/javascripts/languages/prism-powershell.js +16 -18
- data/vendor/assets/javascripts/languages/prism-processing.js +6 -9
- data/vendor/assets/javascripts/languages/prism-prolog.js +7 -8
- data/vendor/assets/javascripts/languages/prism-promql.js +99 -0
- data/vendor/assets/javascripts/languages/prism-properties.js +9 -5
- data/vendor/assets/javascripts/languages/prism-protobuf.js +16 -9
- data/vendor/assets/javascripts/languages/prism-psl.js +35 -0
- data/vendor/assets/javascripts/languages/prism-pug.js +28 -21
- data/vendor/assets/javascripts/languages/prism-puppet.js +6 -6
- data/vendor/assets/javascripts/languages/prism-pure.js +9 -6
- data/vendor/assets/javascripts/languages/prism-purebasic.js +70 -0
- data/vendor/assets/javascripts/languages/prism-purescript.js +31 -0
- data/vendor/assets/javascripts/languages/prism-python.js +12 -11
- data/vendor/assets/javascripts/languages/prism-q.js +4 -4
- data/vendor/assets/javascripts/languages/prism-qml.js +9 -6
- data/vendor/assets/javascripts/languages/prism-qore.js +5 -5
- data/vendor/assets/javascripts/languages/prism-qsharp.js +132 -0
- data/vendor/assets/javascripts/languages/prism-r.js +5 -5
- data/vendor/assets/javascripts/languages/prism-racket.js +18 -0
- data/vendor/assets/javascripts/languages/prism-reason.js +5 -8
- data/vendor/assets/javascripts/languages/prism-regex.js +54 -47
- data/vendor/assets/javascripts/languages/prism-rego.js +30 -0
- data/vendor/assets/javascripts/languages/prism-renpy.js +12 -12
- data/vendor/assets/javascripts/languages/prism-rescript.js +60 -0
- data/vendor/assets/javascripts/languages/prism-rest.js +16 -16
- data/vendor/assets/javascripts/languages/prism-rip.js +22 -16
- data/vendor/assets/javascripts/languages/prism-roboconf.js +3 -3
- data/vendor/assets/javascripts/languages/prism-robotframework.js +5 -5
- data/vendor/assets/javascripts/languages/prism-ruby.js +127 -88
- data/vendor/assets/javascripts/languages/prism-rust.js +120 -60
- data/vendor/assets/javascripts/languages/prism-sas.js +62 -38
- data/vendor/assets/javascripts/languages/prism-sass.js +15 -10
- data/vendor/assets/javascripts/languages/prism-scala.js +36 -3
- data/vendor/assets/javascripts/languages/prism-scheme.js +120 -33
- data/vendor/assets/javascripts/languages/prism-scss.js +11 -7
- data/vendor/assets/javascripts/languages/prism-shell-session.js +42 -26
- data/vendor/assets/javascripts/languages/prism-smali.js +87 -0
- data/vendor/assets/javascripts/languages/prism-smalltalk.js +12 -5
- data/vendor/assets/javascripts/languages/prism-smarty.js +91 -47
- data/vendor/assets/javascripts/languages/prism-sml.js +68 -0
- data/vendor/assets/javascripts/languages/prism-solidity.js +3 -1
- data/vendor/assets/javascripts/languages/prism-solution-file.js +2 -2
- data/vendor/assets/javascripts/languages/prism-soy.js +9 -9
- data/vendor/assets/javascripts/languages/prism-sparql.js +8 -8
- data/vendor/assets/javascripts/languages/prism-splunk-spl.js +3 -3
- data/vendor/assets/javascripts/languages/prism-sqf.js +7 -7
- data/vendor/assets/javascripts/languages/prism-sql.js +12 -4
- data/vendor/assets/javascripts/languages/prism-squirrel.js +47 -0
- data/vendor/assets/javascripts/languages/prism-stan.js +65 -0
- data/vendor/assets/javascripts/languages/prism-stata.js +76 -0
- data/vendor/assets/javascripts/languages/prism-stylus.js +48 -16
- data/vendor/assets/javascripts/languages/prism-supercollider.js +36 -0
- data/vendor/assets/javascripts/languages/prism-swift.js +143 -20
- data/vendor/assets/javascripts/languages/prism-systemd.js +74 -0
- data/vendor/assets/javascripts/languages/prism-t4-templating.js +2 -2
- data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -1
- data/vendor/assets/javascripts/languages/prism-tap.js +13 -11
- data/vendor/assets/javascripts/languages/prism-tcl.js +8 -8
- data/vendor/assets/javascripts/languages/prism-textile.js +55 -29
- data/vendor/assets/javascripts/languages/prism-toml.js +14 -8
- data/vendor/assets/javascripts/languages/prism-tremor.js +72 -0
- data/vendor/assets/javascripts/languages/prism-tsx.js +15 -2
- data/vendor/assets/javascripts/languages/prism-tt2.js +7 -7
- data/vendor/assets/javascripts/languages/prism-turtle.js +4 -4
- data/vendor/assets/javascripts/languages/prism-twig.js +38 -40
- data/vendor/assets/javascripts/languages/prism-typescript.js +59 -6
- data/vendor/assets/javascripts/languages/prism-typoscript.js +80 -0
- data/vendor/assets/javascripts/languages/prism-unrealscript.js +42 -0
- data/vendor/assets/javascripts/languages/prism-uorazor.js +48 -0
- data/vendor/assets/javascripts/languages/prism-uri.js +96 -0
- data/vendor/assets/javascripts/languages/prism-v.js +81 -0
- data/vendor/assets/javascripts/languages/prism-vala.js +20 -10
- data/vendor/assets/javascripts/languages/prism-vbnet.js +11 -4
- data/vendor/assets/javascripts/languages/prism-velocity.js +6 -6
- data/vendor/assets/javascripts/languages/prism-verilog.js +14 -8
- data/vendor/assets/javascripts/languages/prism-vhdl.js +7 -4
- data/vendor/assets/javascripts/languages/prism-vim.js +4 -4
- data/vendor/assets/javascripts/languages/prism-visual-basic.js +9 -14
- data/vendor/assets/javascripts/languages/prism-warpscript.js +21 -0
- data/vendor/assets/javascripts/languages/prism-wasm.js +3 -3
- data/vendor/assets/javascripts/languages/prism-web-idl.js +101 -0
- data/vendor/assets/javascripts/languages/prism-wgsl.js +69 -0
- data/vendor/assets/javascripts/languages/prism-wiki.js +4 -4
- data/vendor/assets/javascripts/languages/prism-wolfram.js +29 -0
- data/vendor/assets/javascripts/languages/prism-wren.js +100 -0
- data/vendor/assets/javascripts/languages/prism-xeora.js +8 -8
- data/vendor/assets/javascripts/languages/prism-xml-doc.js +40 -0
- data/vendor/assets/javascripts/languages/prism-xojo.js +9 -8
- data/vendor/assets/javascripts/languages/prism-xquery.js +7 -7
- data/vendor/assets/javascripts/languages/prism-yaml.js +19 -12
- data/vendor/assets/javascripts/languages/prism-yang.js +20 -0
- data/vendor/assets/javascripts/languages/prism-zig.js +19 -15
- data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +60 -65
- data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +199 -67
- data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +212 -112
- data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +128 -43
- data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +23 -8
- data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +2 -6
- data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +19 -12
- data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +3 -2
- data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +169 -63
- data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +5 -3
- data/vendor/assets/javascripts/prism-plugin/prism-highlight-keywords.js +10 -13
- data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +29 -12
- data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +179 -82
- data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +53 -26
- data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +217 -84
- data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +152 -68
- data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +53 -47
- data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +203 -164
- data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +61 -52
- data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +16 -16
- data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +4 -5
- data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +147 -21
- data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +9 -8
- data/vendor/assets/javascripts/prism-plugin/prism-treeview.js +70 -0
- data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +41 -23
- data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +133 -148
- data/vendor/assets/javascripts/prism.js +96 -4
- data/vendor/assets/stylesheets/prism-plugin/prism-autolinker.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-command-line.css +11 -1
- data/vendor/assets/stylesheets/prism-plugin/prism-command-line.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +26 -2
- data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +21 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +0 -1
- data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-previewers.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +13 -12
- data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-treeview.css +168 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-treeview.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-wpd.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-base16-ateliersulphurpool.light.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-cb.css +5 -35
- data/vendor/assets/stylesheets/prism-theme/prism-coldark-cold.css +317 -0
- data/vendor/assets/stylesheets/prism-theme/prism-coldark-dark.css +317 -0
- data/vendor/assets/stylesheets/prism-theme/prism-coy-without-shadows.css +140 -0
- data/vendor/assets/stylesheets/prism-theme/prism-coy.css +5 -12
- data/vendor/assets/stylesheets/prism-theme/prism-coy.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-dark.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-dark.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-earth.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-forest.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-light.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-sea.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-space.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-funky.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-dark.css +143 -0
- data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-light.css +143 -0
- data/vendor/assets/stylesheets/prism-theme/prism-holi-theme.css +119 -0
- data/vendor/assets/stylesheets/prism-theme/prism-laserwave.css +133 -0
- data/vendor/assets/stylesheets/prism-theme/prism-lucario.css +122 -0
- data/vendor/assets/stylesheets/prism-theme/prism-night-owl.css +158 -0
- data/vendor/assets/stylesheets/prism-theme/prism-okaidia.css +1 -1
- data/vendor/assets/stylesheets/prism-theme/prism-okaidia.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-one-dark.css +440 -0
- data/vendor/assets/stylesheets/prism-theme/prism-one-light.css +428 -0
- data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +3 -7
- data/vendor/assets/stylesheets/prism-theme/prism-solarized-dark-atom.css +143 -0
- data/vendor/assets/stylesheets/prism-theme/prism-solarizedlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-tomorrow.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-twilight.css +3 -33
- data/vendor/assets/stylesheets/prism-theme/prism-twilight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-vs.css +7 -3
- data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +108 -49
- data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +3 -30
- data/vendor/assets/stylesheets/prism-theme/prism-z-touch.css +160 -0
- data/vendor/assets/stylesheets/prism.css +1 -0
- metadata +133 -6
@@ -1,22 +1,40 @@
|
|
1
1
|
Prism.languages.graphql = {
|
2
2
|
'comment': /#.*/,
|
3
|
+
'description': {
|
4
|
+
pattern: /(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,
|
5
|
+
greedy: true,
|
6
|
+
alias: 'string',
|
7
|
+
inside: {
|
8
|
+
'language-markdown': {
|
9
|
+
pattern: /(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,
|
10
|
+
lookbehind: true,
|
11
|
+
inside: Prism.languages.markdown
|
12
|
+
}
|
13
|
+
}
|
14
|
+
},
|
3
15
|
'string': {
|
4
|
-
pattern: /"(?:\\.|[^\\"\r\n])*"/,
|
16
|
+
pattern: /"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,
|
5
17
|
greedy: true
|
6
18
|
},
|
7
19
|
'number': /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
|
8
|
-
'boolean': /\b(?:true
|
20
|
+
'boolean': /\b(?:false|true)\b/,
|
9
21
|
'variable': /\$[a-z_]\w*/i,
|
10
22
|
'directive': {
|
11
23
|
pattern: /@[a-z_]\w*/i,
|
12
24
|
alias: 'function'
|
13
25
|
},
|
14
26
|
'attr-name': {
|
15
|
-
pattern:
|
27
|
+
pattern: /\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,
|
16
28
|
greedy: true
|
17
29
|
},
|
30
|
+
'atom-input': {
|
31
|
+
pattern: /\b[A-Z]\w*Input\b/,
|
32
|
+
alias: 'class-name'
|
33
|
+
},
|
34
|
+
'scalar': /\b(?:Boolean|Float|ID|Int|String)\b/,
|
35
|
+
'constant': /\b[A-Z][A-Z_\d]*\b/,
|
18
36
|
'class-name': {
|
19
|
-
pattern: /(\b(?:enum|implements|interface|on|scalar|type|union)\s
|
37
|
+
pattern: /(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,
|
20
38
|
lookbehind: true
|
21
39
|
},
|
22
40
|
'fragment': {
|
@@ -24,8 +42,170 @@ Prism.languages.graphql = {
|
|
24
42
|
lookbehind: true,
|
25
43
|
alias: 'function'
|
26
44
|
},
|
27
|
-
'
|
28
|
-
|
45
|
+
'definition-mutation': {
|
46
|
+
pattern: /(\bmutation\s+)[a-zA-Z_]\w*/,
|
47
|
+
lookbehind: true,
|
48
|
+
alias: 'function'
|
49
|
+
},
|
50
|
+
'definition-query': {
|
51
|
+
pattern: /(\bquery\s+)[a-zA-Z_]\w*/,
|
52
|
+
lookbehind: true,
|
53
|
+
alias: 'function'
|
54
|
+
},
|
55
|
+
'keyword': /\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,
|
56
|
+
'operator': /[!=|&]|\.{3}/,
|
57
|
+
'property-query': /\w+(?=\s*\()/,
|
58
|
+
'object': /\w+(?=\s*\{)/,
|
29
59
|
'punctuation': /[!(){}\[\]:=,]/,
|
30
|
-
'
|
60
|
+
'property': /\w+/
|
31
61
|
};
|
62
|
+
|
63
|
+
Prism.hooks.add('after-tokenize', function afterTokenizeGraphql(env) {
|
64
|
+
if (env.language !== 'graphql') {
|
65
|
+
return;
|
66
|
+
}
|
67
|
+
|
68
|
+
/**
|
69
|
+
* get the graphql token stream that we want to customize
|
70
|
+
*
|
71
|
+
* @typedef {InstanceType<import("./prism-core")["Token"]>} Token
|
72
|
+
* @type {Token[]}
|
73
|
+
*/
|
74
|
+
var validTokens = env.tokens.filter(function (token) {
|
75
|
+
return typeof token !== 'string' && token.type !== 'comment' && token.type !== 'scalar';
|
76
|
+
});
|
77
|
+
|
78
|
+
var currentIndex = 0;
|
79
|
+
|
80
|
+
/**
|
81
|
+
* Returns whether the token relative to the current index has the given type.
|
82
|
+
*
|
83
|
+
* @param {number} offset
|
84
|
+
* @returns {Token | undefined}
|
85
|
+
*/
|
86
|
+
function getToken(offset) {
|
87
|
+
return validTokens[currentIndex + offset];
|
88
|
+
}
|
89
|
+
|
90
|
+
/**
|
91
|
+
* Returns whether the token relative to the current index has the given type.
|
92
|
+
*
|
93
|
+
* @param {readonly string[]} types
|
94
|
+
* @param {number} [offset=0]
|
95
|
+
* @returns {boolean}
|
96
|
+
*/
|
97
|
+
function isTokenType(types, offset) {
|
98
|
+
offset = offset || 0;
|
99
|
+
for (var i = 0; i < types.length; i++) {
|
100
|
+
var token = getToken(i + offset);
|
101
|
+
if (!token || token.type !== types[i]) {
|
102
|
+
return false;
|
103
|
+
}
|
104
|
+
}
|
105
|
+
return true;
|
106
|
+
}
|
107
|
+
|
108
|
+
/**
|
109
|
+
* Returns the index of the closing bracket to an opening bracket.
|
110
|
+
*
|
111
|
+
* It is assumed that `token[currentIndex - 1]` is an opening bracket.
|
112
|
+
*
|
113
|
+
* If no closing bracket could be found, `-1` will be returned.
|
114
|
+
*
|
115
|
+
* @param {RegExp} open
|
116
|
+
* @param {RegExp} close
|
117
|
+
* @returns {number}
|
118
|
+
*/
|
119
|
+
function findClosingBracket(open, close) {
|
120
|
+
var stackHeight = 1;
|
121
|
+
|
122
|
+
for (var i = currentIndex; i < validTokens.length; i++) {
|
123
|
+
var token = validTokens[i];
|
124
|
+
var content = token.content;
|
125
|
+
|
126
|
+
if (token.type === 'punctuation' && typeof content === 'string') {
|
127
|
+
if (open.test(content)) {
|
128
|
+
stackHeight++;
|
129
|
+
} else if (close.test(content)) {
|
130
|
+
stackHeight--;
|
131
|
+
|
132
|
+
if (stackHeight === 0) {
|
133
|
+
return i;
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}
|
137
|
+
}
|
138
|
+
|
139
|
+
return -1;
|
140
|
+
}
|
141
|
+
|
142
|
+
/**
|
143
|
+
* Adds an alias to the given token.
|
144
|
+
*
|
145
|
+
* @param {Token} token
|
146
|
+
* @param {string} alias
|
147
|
+
* @returns {void}
|
148
|
+
*/
|
149
|
+
function addAlias(token, alias) {
|
150
|
+
var aliases = token.alias;
|
151
|
+
if (!aliases) {
|
152
|
+
token.alias = aliases = [];
|
153
|
+
} else if (!Array.isArray(aliases)) {
|
154
|
+
token.alias = aliases = [aliases];
|
155
|
+
}
|
156
|
+
aliases.push(alias);
|
157
|
+
}
|
158
|
+
|
159
|
+
for (; currentIndex < validTokens.length;) {
|
160
|
+
var startToken = validTokens[currentIndex++];
|
161
|
+
|
162
|
+
// add special aliases for mutation tokens
|
163
|
+
if (startToken.type === 'keyword' && startToken.content === 'mutation') {
|
164
|
+
// any array of the names of all input variables (if any)
|
165
|
+
var inputVariables = [];
|
166
|
+
|
167
|
+
if (isTokenType(['definition-mutation', 'punctuation']) && getToken(1).content === '(') {
|
168
|
+
// definition
|
169
|
+
|
170
|
+
currentIndex += 2; // skip 'definition-mutation' and 'punctuation'
|
171
|
+
|
172
|
+
var definitionEnd = findClosingBracket(/^\($/, /^\)$/);
|
173
|
+
if (definitionEnd === -1) {
|
174
|
+
continue;
|
175
|
+
}
|
176
|
+
|
177
|
+
// find all input variables
|
178
|
+
for (; currentIndex < definitionEnd; currentIndex++) {
|
179
|
+
var t = getToken(0);
|
180
|
+
if (t.type === 'variable') {
|
181
|
+
addAlias(t, 'variable-input');
|
182
|
+
inputVariables.push(t.content);
|
183
|
+
}
|
184
|
+
}
|
185
|
+
|
186
|
+
currentIndex = definitionEnd + 1;
|
187
|
+
}
|
188
|
+
|
189
|
+
if (isTokenType(['punctuation', 'property-query']) && getToken(0).content === '{') {
|
190
|
+
currentIndex++; // skip opening bracket
|
191
|
+
|
192
|
+
addAlias(getToken(0), 'property-mutation');
|
193
|
+
|
194
|
+
if (inputVariables.length > 0) {
|
195
|
+
var mutationEnd = findClosingBracket(/^\{$/, /^\}$/);
|
196
|
+
if (mutationEnd === -1) {
|
197
|
+
continue;
|
198
|
+
}
|
199
|
+
|
200
|
+
// give references to input variables a special alias
|
201
|
+
for (var i = currentIndex; i < mutationEnd; i++) {
|
202
|
+
var varToken = validTokens[i];
|
203
|
+
if (varToken.type === 'variable' && inputVariables.indexOf(varToken.content) >= 0) {
|
204
|
+
addAlias(varToken, 'variable-input');
|
205
|
+
}
|
206
|
+
}
|
207
|
+
}
|
208
|
+
}
|
209
|
+
}
|
210
|
+
}
|
211
|
+
});
|
@@ -1,67 +1,65 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
(function (Prism) {
|
2
|
+
|
3
|
+
var interpolation = {
|
4
|
+
pattern: /((?:^|[^\\$])(?:\\{2})*)\$(?:\w+|\{[^{}]*\})/,
|
5
|
+
lookbehind: true,
|
6
|
+
inside: {
|
7
|
+
'interpolation-punctuation': {
|
8
|
+
pattern: /^\$\{?|\}$/,
|
9
|
+
alias: 'punctuation'
|
10
|
+
},
|
11
|
+
'expression': {
|
12
|
+
pattern: /[\s\S]+/,
|
13
|
+
inside: null // see below
|
14
|
+
}
|
15
|
+
}
|
16
|
+
};
|
17
|
+
|
18
|
+
Prism.languages.groovy = Prism.languages.extend('clike', {
|
19
|
+
'string': {
|
20
|
+
// https://groovy-lang.org/syntax.html#_dollar_slashy_string
|
21
|
+
pattern: /'''(?:[^\\]|\\[\s\S])*?'''|'(?:\\.|[^\\'\r\n])*'/,
|
5
22
|
greedy: true
|
6
23
|
},
|
7
|
-
|
24
|
+
'keyword': /\b(?:abstract|as|assert|boolean|break|byte|case|catch|char|class|const|continue|def|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|in|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/,
|
25
|
+
'number': /\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i,
|
26
|
+
'operator': {
|
27
|
+
pattern: /(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,
|
28
|
+
lookbehind: true
|
29
|
+
},
|
30
|
+
'punctuation': /\.+|[{}[\];(),:$]/
|
31
|
+
});
|
32
|
+
|
33
|
+
Prism.languages.insertBefore('groovy', 'string', {
|
34
|
+
'shebang': {
|
35
|
+
pattern: /#!.+/,
|
36
|
+
alias: 'comment',
|
37
|
+
greedy: true
|
38
|
+
},
|
39
|
+
'interpolation-string': {
|
8
40
|
// TODO: Slash strings (e.g. /foo/) can contain line breaks but this will cause a lot of trouble with
|
9
41
|
// simple division (see JS regex), so find a fix maybe?
|
10
|
-
pattern: /(["
|
11
|
-
greedy: true
|
42
|
+
pattern: /"""(?:[^\\]|\\[\s\S])*?"""|(["/])(?:\\.|(?!\1)[^\\\r\n])*\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,
|
43
|
+
greedy: true,
|
44
|
+
inside: {
|
45
|
+
'interpolation': interpolation,
|
46
|
+
'string': /[\s\S]+/
|
47
|
+
}
|
12
48
|
}
|
13
|
-
|
14
|
-
'keyword': /\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/,
|
15
|
-
'number': /\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?[\d]+)?)[glidf]?\b/i,
|
16
|
-
'operator': {
|
17
|
-
pattern: /(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,
|
18
|
-
lookbehind: true
|
19
|
-
},
|
20
|
-
'punctuation': /\.+|[{}[\];(),.:$]/
|
21
|
-
});
|
22
|
-
|
23
|
-
Prism.languages.insertBefore('groovy', 'string', {
|
24
|
-
'shebang': {
|
25
|
-
pattern: /#!.+/,
|
26
|
-
alias: 'comment'
|
27
|
-
}
|
28
|
-
});
|
29
|
-
|
30
|
-
Prism.languages.insertBefore('groovy', 'punctuation', {
|
31
|
-
'spock-block': /\b(?:setup|given|when|then|and|cleanup|expect|where):/
|
32
|
-
});
|
33
|
-
|
34
|
-
Prism.languages.insertBefore('groovy', 'function', {
|
35
|
-
'annotation': {
|
36
|
-
pattern: /(^|[^.])@\w+/,
|
37
|
-
lookbehind: true,
|
38
|
-
alias: 'punctuation'
|
39
|
-
}
|
40
|
-
});
|
49
|
+
});
|
41
50
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
var delimiter = env.content[0];
|
51
|
+
Prism.languages.insertBefore('groovy', 'punctuation', {
|
52
|
+
'spock-block': /\b(?:and|cleanup|expect|given|setup|then|when|where):/
|
53
|
+
});
|
46
54
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
env.content = env.content.replace(/</g, '<').replace(/&/g, '&');
|
55
|
+
Prism.languages.insertBefore('groovy', 'function', {
|
56
|
+
'annotation': {
|
57
|
+
pattern: /(^|[^.])@\w+/,
|
58
|
+
lookbehind: true,
|
59
|
+
alias: 'punctuation'
|
60
|
+
}
|
61
|
+
});
|
55
62
|
|
56
|
-
|
57
|
-
'expression': {
|
58
|
-
pattern: pattern,
|
59
|
-
lookbehind: true,
|
60
|
-
inside: Prism.languages.groovy
|
61
|
-
}
|
62
|
-
});
|
63
|
+
interpolation.inside.expression.inside = Prism.languages.groovy;
|
63
64
|
|
64
|
-
|
65
|
-
}
|
66
|
-
}
|
67
|
-
});
|
65
|
+
}(Prism));
|
@@ -5,25 +5,25 @@
|
|
5
5
|
code |
|
6
6
|
*/
|
7
7
|
|
8
|
-
(function(Prism) {
|
8
|
+
(function (Prism) {
|
9
9
|
|
10
10
|
Prism.languages.haml = {
|
11
11
|
// Multiline stuff should appear before the rest
|
12
12
|
|
13
13
|
'multiline-comment': {
|
14
|
-
pattern: /((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ]
|
14
|
+
pattern: /((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ].+)*/,
|
15
15
|
lookbehind: true,
|
16
16
|
alias: 'comment'
|
17
17
|
},
|
18
18
|
|
19
19
|
'multiline-code': [
|
20
20
|
{
|
21
|
-
pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ]
|
21
|
+
pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ].*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ].+)/,
|
22
22
|
lookbehind: true,
|
23
23
|
inside: Prism.languages.ruby
|
24
24
|
},
|
25
25
|
{
|
26
|
-
pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ]
|
26
|
+
pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ].*\|[\t ]*)*/,
|
27
27
|
lookbehind: true,
|
28
28
|
inside: Prism.languages.ruby
|
29
29
|
}
|
@@ -31,12 +31,12 @@
|
|
31
31
|
|
32
32
|
// See at the end of the file for known filters
|
33
33
|
'filter': {
|
34
|
-
pattern: /((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ]
|
34
|
+
pattern: /((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/,
|
35
35
|
lookbehind: true,
|
36
36
|
inside: {
|
37
37
|
'filter-name': {
|
38
38
|
pattern: /^:[\w-]+/,
|
39
|
-
alias: '
|
39
|
+
alias: 'symbol'
|
40
40
|
}
|
41
41
|
}
|
42
42
|
},
|
@@ -52,14 +52,14 @@
|
|
52
52
|
},
|
53
53
|
'tag': {
|
54
54
|
// Allows for one nested group of braces
|
55
|
-
pattern: /((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/,
|
55
|
+
pattern: /((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^{}])+\}|\[[^\]]+\])*[\/<>]*/,
|
56
56
|
lookbehind: true,
|
57
57
|
inside: {
|
58
58
|
'attributes': [
|
59
59
|
{
|
60
60
|
// Lookbehind tries to prevent interpolations from breaking it all
|
61
61
|
// Allows for one nested group of braces
|
62
|
-
pattern: /(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/,
|
62
|
+
pattern: /(^|[^#])\{(?:\{[^}]+\}|[^{}])+\}/,
|
63
63
|
lookbehind: true,
|
64
64
|
inside: Prism.languages.ruby
|
65
65
|
},
|
@@ -95,7 +95,10 @@
|
|
95
95
|
pattern: /^#\{|\}$/,
|
96
96
|
alias: 'punctuation'
|
97
97
|
},
|
98
|
-
|
98
|
+
'ruby': {
|
99
|
+
pattern: /[\s\S]+/,
|
100
|
+
inside: Prism.languages.ruby
|
101
|
+
}
|
99
102
|
}
|
100
103
|
},
|
101
104
|
'punctuation': {
|
@@ -104,12 +107,12 @@
|
|
104
107
|
}
|
105
108
|
};
|
106
109
|
|
107
|
-
var filter_pattern = '((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}(?:(?:\\r?\\n|\\r)(?:\\2[\\t ]
|
110
|
+
var filter_pattern = '((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+';
|
108
111
|
|
109
112
|
// Non exhaustive list of available filters and associated languages
|
110
113
|
var filters = [
|
111
114
|
'css',
|
112
|
-
{filter:'coffee',language:'coffeescript'},
|
115
|
+
{ filter: 'coffee', language: 'coffeescript' },
|
113
116
|
'erb',
|
114
117
|
'javascript',
|
115
118
|
'less',
|
@@ -121,19 +124,23 @@
|
|
121
124
|
var all_filters = {};
|
122
125
|
for (var i = 0, l = filters.length; i < l; i++) {
|
123
126
|
var filter = filters[i];
|
124
|
-
filter = typeof filter === 'string' ? {filter: filter, language: filter} : filter;
|
127
|
+
filter = typeof filter === 'string' ? { filter: filter, language: filter } : filter;
|
125
128
|
if (Prism.languages[filter.language]) {
|
126
129
|
all_filters['filter-' + filter.filter] = {
|
127
|
-
pattern: RegExp(filter_pattern.replace('{{filter_name}}', filter.filter)),
|
130
|
+
pattern: RegExp(filter_pattern.replace('{{filter_name}}', function () { return filter.filter; })),
|
128
131
|
lookbehind: true,
|
129
132
|
inside: {
|
130
133
|
'filter-name': {
|
131
134
|
pattern: /^:[\w-]+/,
|
132
|
-
alias: '
|
135
|
+
alias: 'symbol'
|
133
136
|
},
|
134
|
-
|
137
|
+
'text': {
|
138
|
+
pattern: /[\s\S]+/,
|
139
|
+
alias: [filter.language, 'language-' + filter.language],
|
140
|
+
inside: Prism.languages[filter.language]
|
141
|
+
}
|
135
142
|
}
|
136
|
-
}
|
143
|
+
};
|
137
144
|
}
|
138
145
|
}
|
139
146
|
|
@@ -1,16 +1,16 @@
|
|
1
|
-
(function(Prism) {
|
1
|
+
(function (Prism) {
|
2
2
|
|
3
3
|
Prism.languages.handlebars = {
|
4
4
|
'comment': /\{\{![\s\S]*?\}\}/,
|
5
5
|
'delimiter': {
|
6
|
-
pattern: /^\{\{\{?|\}\}\}
|
6
|
+
pattern: /^\{\{\{?|\}\}\}?$/,
|
7
7
|
alias: 'punctuation'
|
8
8
|
},
|
9
9
|
'string': /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,
|
10
|
-
'number': /\b0x[\dA-Fa-f]+\b|(?:\b\d
|
11
|
-
'boolean': /\b(?:true
|
10
|
+
'number': /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,
|
11
|
+
'boolean': /\b(?:false|true)\b/,
|
12
12
|
'block': {
|
13
|
-
pattern: /^(\s
|
13
|
+
pattern: /^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,
|
14
14
|
lookbehind: true,
|
15
15
|
alias: 'keyword'
|
16
16
|
},
|
@@ -25,13 +25,16 @@
|
|
25
25
|
'variable': /[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/
|
26
26
|
};
|
27
27
|
|
28
|
-
Prism.hooks.add('before-tokenize', function(env) {
|
28
|
+
Prism.hooks.add('before-tokenize', function (env) {
|
29
29
|
var handlebarsPattern = /\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g;
|
30
30
|
Prism.languages['markup-templating'].buildPlaceholders(env, 'handlebars', handlebarsPattern);
|
31
31
|
});
|
32
32
|
|
33
|
-
Prism.hooks.add('after-tokenize', function(env) {
|
33
|
+
Prism.hooks.add('after-tokenize', function (env) {
|
34
34
|
Prism.languages['markup-templating'].tokenizePlaceholders(env, 'handlebars');
|
35
35
|
});
|
36
36
|
|
37
|
+
Prism.languages.hbs = Prism.languages.handlebars;
|
38
|
+
Prism.languages.mustache = Prism.languages.handlebars;
|
39
|
+
|
37
40
|
}(Prism));
|
@@ -1,37 +1,65 @@
|
|
1
1
|
Prism.languages.haskell = {
|
2
2
|
'comment': {
|
3
|
-
pattern: /(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--[^-!#$%*+=?&@|~.:<>^\\\/]
|
3
|
+
pattern: /(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\/].*|$)|\{-[\s\S]*?-\})/m,
|
4
4
|
lookbehind: true
|
5
5
|
},
|
6
|
-
'char':
|
6
|
+
'char': {
|
7
|
+
pattern: /'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\d+|o[0-7]+|x[0-9a-fA-F]+))'/,
|
8
|
+
alias: 'string'
|
9
|
+
},
|
7
10
|
'string': {
|
8
|
-
pattern: /"(?:[^\\"]|\\(
|
11
|
+
pattern: /"(?:[^\\"]|\\(?:\S|\s+\\))*"/,
|
9
12
|
greedy: true
|
10
13
|
},
|
11
14
|
'keyword': /\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,
|
12
|
-
'
|
15
|
+
'import-statement': {
|
13
16
|
// The imported or hidden names are not included in this import
|
14
17
|
// statement. This is because we want to highlight those exactly like
|
15
18
|
// we do for the names in the program.
|
16
|
-
pattern: /(
|
19
|
+
pattern: /(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,
|
17
20
|
lookbehind: true,
|
18
21
|
inside: {
|
19
|
-
'keyword': /\b(?:import|qualified
|
22
|
+
'keyword': /\b(?:as|hiding|import|qualified)\b/,
|
23
|
+
'punctuation': /\./
|
20
24
|
}
|
21
25
|
},
|
22
26
|
// These are builtin variables only. Constructors are highlighted later as a constant.
|
23
27
|
'builtin': /\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/,
|
24
28
|
// decimal integers and floating point numbers | octal integers | hexadecimal integers
|
25
29
|
'number': /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i,
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
30
|
+
'operator': [
|
31
|
+
{
|
32
|
+
// infix operator
|
33
|
+
pattern: /`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/,
|
34
|
+
greedy: true
|
35
|
+
},
|
36
|
+
{
|
37
|
+
// function composition
|
38
|
+
pattern: /(\s)\.(?=\s)/,
|
39
|
+
lookbehind: true
|
40
|
+
},
|
41
|
+
// Most of this is needed because of the meaning of a single '.'.
|
42
|
+
// If it stands alone freely, it is the function composition.
|
43
|
+
// It may also be a separator between a module name and an identifier => no
|
44
|
+
// operator. If it comes together with other special characters it is an
|
45
|
+
// operator too.
|
46
|
+
//
|
47
|
+
// This regex means: /[-!#$%*+=?&@|~.:<>^\\\/]+/ without /\./.
|
48
|
+
/[-!#$%*+=?&@|~:<>^\\\/][-!#$%*+=?&@|~.:<>^\\\/]*|\.[-!#$%*+=?&@|~.:<>^\\\/]+/,
|
49
|
+
],
|
32
50
|
// In Haskell, nearly everything is a variable, do not highlight these.
|
33
|
-
'hvariable':
|
34
|
-
|
51
|
+
'hvariable': {
|
52
|
+
pattern: /\b(?:[A-Z][\w']*\.)*[_a-z][\w']*/,
|
53
|
+
inside: {
|
54
|
+
'punctuation': /\./
|
55
|
+
}
|
56
|
+
},
|
57
|
+
'constant': {
|
58
|
+
pattern: /\b(?:[A-Z][\w']*\.)*[A-Z][\w']*/,
|
59
|
+
inside: {
|
60
|
+
'punctuation': /\./
|
61
|
+
}
|
62
|
+
},
|
35
63
|
'punctuation': /[{}[\];(),.:]/
|
36
64
|
};
|
37
65
|
|