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,33 +1,120 @@
|
|
1
|
-
Prism
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
1
|
+
(function (Prism) {
|
2
|
+
Prism.languages.scheme = {
|
3
|
+
// this supports "normal" single-line comments:
|
4
|
+
// ; comment
|
5
|
+
// and (potentially nested) multiline comments:
|
6
|
+
// #| comment #| nested |# still comment |#
|
7
|
+
// (only 1 level of nesting is supported)
|
8
|
+
'comment': /;.*|#;\s*(?:\((?:[^()]|\([^()]*\))*\)|\[(?:[^\[\]]|\[[^\[\]]*\])*\])|#\|(?:[^#|]|#(?!\|)|\|(?!#)|#\|(?:[^#|]|#(?!\|)|\|(?!#))*\|#)*\|#/,
|
9
|
+
'string': {
|
10
|
+
pattern: /"(?:[^"\\]|\\.)*"/,
|
11
|
+
greedy: true
|
12
|
+
},
|
13
|
+
'symbol': {
|
14
|
+
pattern: /'[^()\[\]#'\s]+/,
|
15
|
+
greedy: true
|
16
|
+
},
|
17
|
+
'char': {
|
18
|
+
pattern: /#\\(?:[ux][a-fA-F\d]+\b|[-a-zA-Z]+\b|[\uD800-\uDBFF][\uDC00-\uDFFF]|\S)/,
|
19
|
+
greedy: true
|
20
|
+
},
|
21
|
+
'lambda-parameter': [
|
22
|
+
// https://www.cs.cmu.edu/Groups/AI/html/r4rs/r4rs_6.html#SEC30
|
23
|
+
{
|
24
|
+
pattern: /((?:^|[^'`#])[(\[]lambda\s+)(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)/,
|
25
|
+
lookbehind: true
|
26
|
+
},
|
27
|
+
{
|
28
|
+
pattern: /((?:^|[^'`#])[(\[]lambda\s+[(\[])[^()\[\]']+/,
|
29
|
+
lookbehind: true
|
30
|
+
}
|
31
|
+
],
|
32
|
+
'keyword': {
|
33
|
+
pattern: /((?:^|[^'`#])[(\[])(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|except|export|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\*)?|let\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()\[\]\s]|$)/,
|
34
|
+
lookbehind: true
|
35
|
+
},
|
36
|
+
'builtin': {
|
37
|
+
// all functions of the base library of R7RS plus some of built-ins of R5Rs
|
38
|
+
pattern: /((?:^|[^'`#])[(\[])(?:abs|and|append|apply|assoc|ass[qv]|binary-port\?|boolean=?\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\?|\?|<\?|<=\?|=\?|>\?|>=\?)|close-(?:input-port|output-port|port)|complex\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\??|eq\?|equal\?|eqv\?|error|error-object(?:-irritants|-message|\?)|eval|even\?|exact(?:-integer-sqrt|-integer\?|\?)?|expt|features|file-error\?|floor(?:-quotient|-remainder|\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\??|input-port(?:-open\?|\?)|integer(?:->char|\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\?|newline|not|null\?|number(?:->string|\?)|numerator|odd\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\?|\?)|pair\?|peek-char|peek-u8|port\?|positive\?|procedure\?|quotient|raise|raise-continuable|rational\?|rationalize|read-(?:bytevector|bytevector!|char|error\?|line|string|u8)|real\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?|<\?|<=\?|=\?|>\?|>=\?)?|substring|symbol(?:->string|\?|=\?)|syntax-error|textual-port\?|truncate(?:-quotient|-remainder|\/)?|u8-ready\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\?)(?=[()\[\]\s]|$)/,
|
39
|
+
lookbehind: true
|
40
|
+
},
|
41
|
+
'operator': {
|
42
|
+
pattern: /((?:^|[^'`#])[(\[])(?:[-+*%/]|[<>]=?|=>?)(?=[()\[\]\s]|$)/,
|
43
|
+
lookbehind: true
|
44
|
+
},
|
45
|
+
'number': {
|
46
|
+
// The number pattern from [the R7RS spec](https://small.r7rs.org/attachment/r7rs.pdf).
|
47
|
+
//
|
48
|
+
// <number> := <num 2>|<num 8>|<num 10>|<num 16>
|
49
|
+
// <num R> := <prefix R><complex R>
|
50
|
+
// <complex R> := <real R>(?:@<real R>|<imaginary R>)?|<imaginary R>
|
51
|
+
// <imaginary R> := [+-](?:<ureal R>|(?:inf|nan)\.0)?i
|
52
|
+
// <real R> := [+-]?<ureal R>|[+-](?:inf|nan)\.0
|
53
|
+
// <ureal R> := <uint R>(?:\/<uint R>)?
|
54
|
+
// | <decimal R>
|
55
|
+
//
|
56
|
+
// <decimal 10> := (?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?
|
57
|
+
// <uint R> := <digit R>+
|
58
|
+
// <prefix R> := <radix R>(?:#[ei])?|(?:#[ei])?<radix R>
|
59
|
+
// <radix 2> := #b
|
60
|
+
// <radix 8> := #o
|
61
|
+
// <radix 10> := (?:#d)?
|
62
|
+
// <radix 16> := #x
|
63
|
+
// <digit 2> := [01]
|
64
|
+
// <digit 8> := [0-7]
|
65
|
+
// <digit 10> := \d
|
66
|
+
// <digit 16> := [0-9a-f]
|
67
|
+
//
|
68
|
+
// The problem with this grammar is that the resulting regex is way to complex, so we simplify by grouping all
|
69
|
+
// non-decimal bases together. This results in a decimal (dec) and combined binary, octal, and hexadecimal (box)
|
70
|
+
// pattern:
|
71
|
+
pattern: RegExp(SortedBNF({
|
72
|
+
'<ureal dec>': /\d+(?:\/\d+)|(?:\d+(?:\.\d*)?|\.\d+)(?:[esfdl][+-]?\d+)?/.source,
|
73
|
+
'<real dec>': /[+-]?<ureal dec>|[+-](?:inf|nan)\.0/.source,
|
74
|
+
'<imaginary dec>': /[+-](?:<ureal dec>|(?:inf|nan)\.0)?i/.source,
|
75
|
+
'<complex dec>': /<real dec>(?:@<real dec>|<imaginary dec>)?|<imaginary dec>/.source,
|
76
|
+
'<num dec>': /(?:#d(?:#[ei])?|#[ei](?:#d)?)?<complex dec>/.source,
|
77
|
+
|
78
|
+
'<ureal box>': /[0-9a-f]+(?:\/[0-9a-f]+)?/.source,
|
79
|
+
'<real box>': /[+-]?<ureal box>|[+-](?:inf|nan)\.0/.source,
|
80
|
+
'<imaginary box>': /[+-](?:<ureal box>|(?:inf|nan)\.0)?i/.source,
|
81
|
+
'<complex box>': /<real box>(?:@<real box>|<imaginary box>)?|<imaginary box>/.source,
|
82
|
+
'<num box>': /#[box](?:#[ei])?|(?:#[ei])?#[box]<complex box>/.source,
|
83
|
+
|
84
|
+
'<number>': /(^|[()\[\]\s])(?:<num dec>|<num box>)(?=[()\[\]\s]|$)/.source,
|
85
|
+
}), 'i'),
|
86
|
+
lookbehind: true
|
87
|
+
},
|
88
|
+
'boolean': {
|
89
|
+
pattern: /(^|[()\[\]\s])#(?:[ft]|false|true)(?=[()\[\]\s]|$)/,
|
90
|
+
lookbehind: true
|
91
|
+
},
|
92
|
+
'function': {
|
93
|
+
pattern: /((?:^|[^'`#])[(\[])(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)(?=[()\[\]\s]|$)/,
|
94
|
+
lookbehind: true
|
95
|
+
},
|
96
|
+
'identifier': {
|
97
|
+
pattern: /(^|[()\[\]\s])\|(?:[^\\|]|\\.)*\|(?=[()\[\]\s]|$)/,
|
98
|
+
lookbehind: true,
|
99
|
+
greedy: true
|
100
|
+
},
|
101
|
+
'punctuation': /[()\[\]']/
|
102
|
+
};
|
103
|
+
|
104
|
+
/**
|
105
|
+
* Given a topologically sorted BNF grammar, this will return the RegExp source of last rule of the grammar.
|
106
|
+
*
|
107
|
+
* @param {Record<string, string>} grammar
|
108
|
+
* @returns {string}
|
109
|
+
*/
|
110
|
+
function SortedBNF(grammar) {
|
111
|
+
for (var key in grammar) {
|
112
|
+
grammar[key] = grammar[key].replace(/<[\w\s]+>/g, function (key) {
|
113
|
+
return '(?:' + grammar[key].trim() + ')';
|
114
|
+
});
|
115
|
+
}
|
116
|
+
// return the last item
|
117
|
+
return grammar[key];
|
118
|
+
}
|
119
|
+
|
120
|
+
}(Prism));
|
@@ -4,7 +4,7 @@ Prism.languages.scss = Prism.languages.extend('css', {
|
|
4
4
|
lookbehind: true
|
5
5
|
},
|
6
6
|
'atrule': {
|
7
|
-
pattern: /@[\w-]
|
7
|
+
pattern: /@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,
|
8
8
|
inside: {
|
9
9
|
'rule': /@[\w-]+/
|
10
10
|
// See rest below
|
@@ -21,7 +21,7 @@ Prism.languages.scss = Prism.languages.extend('css', {
|
|
21
21
|
// this one was hard to do, so please be careful if you edit this one :)
|
22
22
|
'selector': {
|
23
23
|
// Initial look-ahead is used to prevent matching of blank selectors
|
24
|
-
pattern: /(?=\S)[^@;{}()]?(?:[^@;{}()]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]
|
24
|
+
pattern: /(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,
|
25
25
|
inside: {
|
26
26
|
'parent': {
|
27
27
|
pattern: /&/,
|
@@ -32,7 +32,7 @@ Prism.languages.scss = Prism.languages.extend('css', {
|
|
32
32
|
}
|
33
33
|
},
|
34
34
|
'property': {
|
35
|
-
pattern: /(?:[
|
35
|
+
pattern: /(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,
|
36
36
|
inside: {
|
37
37
|
'variable': /\$[-\w]+|#\{\$[-\w]+\}/
|
38
38
|
}
|
@@ -41,9 +41,9 @@ Prism.languages.scss = Prism.languages.extend('css', {
|
|
41
41
|
|
42
42
|
Prism.languages.insertBefore('scss', 'atrule', {
|
43
43
|
'keyword': [
|
44
|
-
/@(?:
|
44
|
+
/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,
|
45
45
|
{
|
46
|
-
pattern: /(
|
46
|
+
pattern: /( )(?:from|through)(?= )/,
|
47
47
|
lookbehind: true
|
48
48
|
}
|
49
49
|
]
|
@@ -55,6 +55,10 @@ Prism.languages.insertBefore('scss', 'important', {
|
|
55
55
|
});
|
56
56
|
|
57
57
|
Prism.languages.insertBefore('scss', 'function', {
|
58
|
+
'module-modifier': {
|
59
|
+
pattern: /\b(?:as|hide|show|with)\b/i,
|
60
|
+
alias: 'keyword'
|
61
|
+
},
|
58
62
|
'placeholder': {
|
59
63
|
pattern: /%[-\w]+/,
|
60
64
|
alias: 'selector'
|
@@ -63,13 +67,13 @@ Prism.languages.insertBefore('scss', 'function', {
|
|
63
67
|
pattern: /\B!(?:default|optional)\b/i,
|
64
68
|
alias: 'keyword'
|
65
69
|
},
|
66
|
-
'boolean': /\b(?:true
|
70
|
+
'boolean': /\b(?:false|true)\b/,
|
67
71
|
'null': {
|
68
72
|
pattern: /\bnull\b/,
|
69
73
|
alias: 'keyword'
|
70
74
|
},
|
71
75
|
'operator': {
|
72
|
-
pattern: /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or
|
76
|
+
pattern: /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,
|
73
77
|
lookbehind: true
|
74
78
|
}
|
75
79
|
});
|
@@ -5,50 +5,66 @@
|
|
5
5
|
|
6
6
|
var strings = [
|
7
7
|
// normal string
|
8
|
-
|
9
|
-
/
|
8
|
+
/"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/.source,
|
9
|
+
/'[^']*'/.source,
|
10
|
+
/\$'(?:[^'\\]|\\[\s\S])*'/.source,
|
10
11
|
|
11
12
|
// here doc
|
12
|
-
//
|
13
|
-
/<<-?\s*(\w
|
14
|
-
|
15
|
-
// here doc quoted
|
16
|
-
// 2 capturing group
|
17
|
-
/<<-?\s*(["'])(\w+)\3\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\4/.source
|
13
|
+
// 2 capturing groups
|
14
|
+
/<<-?\s*(["']?)(\w+)\1\s[\s\S]*?[\r\n]\2/.source
|
18
15
|
].join('|');
|
19
16
|
|
20
17
|
Prism.languages['shell-session'] = {
|
21
|
-
'info': {
|
22
|
-
// foo@bar:~/files$ exit
|
23
|
-
// foo@bar$ exit
|
24
|
-
pattern: /^(?:[^\r\n$#*!]+)(?=[$#])/m,
|
25
|
-
alias: 'punctuation',
|
26
|
-
inside: {
|
27
|
-
'path': {
|
28
|
-
pattern: /(:)[\s\S]+/,
|
29
|
-
lookbehind: true
|
30
|
-
},
|
31
|
-
'user': /^[^\s@:$#*!/\\]+@[^\s@:$#*!/\\]+(?=:|$)/,
|
32
|
-
'punctuation': /:/
|
33
|
-
}
|
34
|
-
},
|
35
18
|
'command': {
|
36
|
-
pattern: RegExp(
|
19
|
+
pattern: RegExp(
|
20
|
+
// user info
|
21
|
+
/^/.source +
|
22
|
+
'(?:' +
|
23
|
+
(
|
24
|
+
// <user> ":" ( <path> )?
|
25
|
+
/[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+(?::[^\0-\x1F$#%*?"<>:;|]+)?/.source +
|
26
|
+
'|' +
|
27
|
+
// <path>
|
28
|
+
// Since the path pattern is quite general, we will require it to start with a special character to
|
29
|
+
// prevent false positives.
|
30
|
+
/[/~.][^\0-\x1F$#%*?"<>@:;|]*/.source
|
31
|
+
) +
|
32
|
+
')?' +
|
33
|
+
// shell symbol
|
34
|
+
/[$#%](?=\s)/.source +
|
35
|
+
// bash command
|
36
|
+
/(?:[^\\\r\n \t'"<$]|[ \t](?:(?!#)|#.*$)|\\(?:[^\r]|\r\n?)|\$(?!')|<(?!<)|<<str>>)+/.source.replace(/<<str>>/g, function () { return strings; }),
|
37
|
+
'm'
|
38
|
+
),
|
37
39
|
greedy: true,
|
38
40
|
inside: {
|
41
|
+
'info': {
|
42
|
+
// foo@bar:~/files$ exit
|
43
|
+
// foo@bar$ exit
|
44
|
+
// ~/files$ exit
|
45
|
+
pattern: /^[^#$%]+/,
|
46
|
+
alias: 'punctuation',
|
47
|
+
inside: {
|
48
|
+
'user': /^[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+/,
|
49
|
+
'punctuation': /:/,
|
50
|
+
'path': /[\s\S]+/
|
51
|
+
}
|
52
|
+
},
|
39
53
|
'bash': {
|
40
|
-
pattern: /(^[
|
54
|
+
pattern: /(^[$#%]\s*)\S[\s\S]*/,
|
41
55
|
lookbehind: true,
|
42
56
|
alias: 'language-bash',
|
43
57
|
inside: Prism.languages.bash
|
44
58
|
},
|
45
59
|
'shell-symbol': {
|
46
|
-
pattern: /^[
|
60
|
+
pattern: /^[$#%]/,
|
47
61
|
alias: 'important'
|
48
62
|
}
|
49
63
|
}
|
50
64
|
},
|
51
|
-
'output': /.(?:.*(
|
65
|
+
'output': /.(?:.*(?:[\r\n]|.$))*/
|
52
66
|
};
|
53
67
|
|
68
|
+
Prism.languages['sh-session'] = Prism.languages['shellsession'] = Prism.languages['shell-session'];
|
69
|
+
|
54
70
|
}(Prism));
|
@@ -0,0 +1,87 @@
|
|
1
|
+
// Test files for the parser itself:
|
2
|
+
// https://github.com/JesusFreke/smali/tree/master/smali/src/test/resources/LexerTest
|
3
|
+
|
4
|
+
Prism.languages.smali = {
|
5
|
+
'comment': /#.*/,
|
6
|
+
'string': {
|
7
|
+
pattern: /"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\(?:.|u[\da-fA-F]{4}))'/,
|
8
|
+
greedy: true
|
9
|
+
},
|
10
|
+
|
11
|
+
'class-name': {
|
12
|
+
pattern: /(^|[^L])L(?:(?:\w+|`[^`\r\n]*`)\/)*(?:[\w$]+|`[^`\r\n]*`)(?=\s*;)/,
|
13
|
+
lookbehind: true,
|
14
|
+
inside: {
|
15
|
+
'class-name': {
|
16
|
+
pattern: /(^L|\/)(?:[\w$]+|`[^`\r\n]*`)$/,
|
17
|
+
lookbehind: true
|
18
|
+
},
|
19
|
+
'namespace': {
|
20
|
+
pattern: /^(L)(?:(?:\w+|`[^`\r\n]*`)\/)+/,
|
21
|
+
lookbehind: true,
|
22
|
+
inside: {
|
23
|
+
'punctuation': /\//
|
24
|
+
}
|
25
|
+
},
|
26
|
+
'builtin': /^L/
|
27
|
+
}
|
28
|
+
},
|
29
|
+
'builtin': [
|
30
|
+
{
|
31
|
+
// Reference: https://github.com/JesusFreke/smali/wiki/TypesMethodsAndFields#types
|
32
|
+
pattern: /([();\[])[BCDFIJSVZ]+/,
|
33
|
+
lookbehind: true
|
34
|
+
},
|
35
|
+
{
|
36
|
+
// e.g. .field mWifiOnUid:I
|
37
|
+
pattern: /([\w$>]:)[BCDFIJSVZ]/,
|
38
|
+
lookbehind: true
|
39
|
+
}
|
40
|
+
],
|
41
|
+
'keyword': [
|
42
|
+
{
|
43
|
+
pattern: /(\.end\s+)[\w-]+/,
|
44
|
+
lookbehind: true
|
45
|
+
},
|
46
|
+
{
|
47
|
+
pattern: /(^|[^\w.-])\.(?!\d)[\w-]+/,
|
48
|
+
lookbehind: true
|
49
|
+
},
|
50
|
+
{
|
51
|
+
pattern: /(^|[^\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w.-])/,
|
52
|
+
lookbehind: true
|
53
|
+
}
|
54
|
+
],
|
55
|
+
'function': {
|
56
|
+
pattern: /(^|[^\w.-])(?:\w+|<[\w$-]+>)(?=\()/,
|
57
|
+
lookbehind: true
|
58
|
+
},
|
59
|
+
|
60
|
+
'field': {
|
61
|
+
pattern: /[\w$]+(?=:)/,
|
62
|
+
alias: 'variable'
|
63
|
+
},
|
64
|
+
'register': {
|
65
|
+
pattern: /(^|[^\w.-])[vp]\d(?![\w.-])/,
|
66
|
+
lookbehind: true,
|
67
|
+
alias: 'variable'
|
68
|
+
},
|
69
|
+
|
70
|
+
'boolean': {
|
71
|
+
pattern: /(^|[^\w.-])(?:false|true)(?![\w.-])/,
|
72
|
+
lookbehind: true
|
73
|
+
},
|
74
|
+
'number': {
|
75
|
+
pattern: /(^|[^/\w.-])-?(?:NAN|INFINITY|0x(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:p[+-]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)[dflst]?(?![\w.-])/i,
|
76
|
+
lookbehind: true
|
77
|
+
},
|
78
|
+
|
79
|
+
'label': {
|
80
|
+
pattern: /(:)\w+/,
|
81
|
+
lookbehind: true,
|
82
|
+
alias: 'property'
|
83
|
+
},
|
84
|
+
|
85
|
+
'operator': /->|\.\.|[\[=]/,
|
86
|
+
'punctuation': /[{}(),;:]/
|
87
|
+
};
|
@@ -1,10 +1,16 @@
|
|
1
1
|
Prism.languages.smalltalk = {
|
2
|
-
'comment':
|
3
|
-
|
2
|
+
'comment': {
|
3
|
+
pattern: /"(?:""|[^"])*"/,
|
4
|
+
greedy: true
|
5
|
+
},
|
6
|
+
'char': {
|
4
7
|
pattern: /\$./,
|
5
|
-
|
8
|
+
greedy: true
|
9
|
+
},
|
10
|
+
'string': {
|
11
|
+
pattern: /'(?:''|[^'])*'/,
|
12
|
+
greedy: true
|
6
13
|
},
|
7
|
-
'string': /'(?:''|[^'])*'/,
|
8
14
|
'symbol': /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,
|
9
15
|
'block-arguments': {
|
10
16
|
pattern: /(\[\s*):[^\[|]*\|/,
|
@@ -21,7 +27,8 @@ Prism.languages.smalltalk = {
|
|
21
27
|
'punctuation': /\|/
|
22
28
|
}
|
23
29
|
},
|
24
|
-
'keyword': /\b(?:nil|
|
30
|
+
'keyword': /\b(?:new|nil|self|super)\b/,
|
31
|
+
'boolean': /\b(?:false|true)\b/,
|
25
32
|
'number': [
|
26
33
|
/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,
|
27
34
|
/\b\d+(?:\.\d+)?(?:e-?\d+)?/
|
@@ -1,23 +1,67 @@
|
|
1
|
-
|
2
|
-
Add support for variables inside double quoted strings
|
3
|
-
Add support for {php}
|
4
|
-
*/
|
5
|
-
|
6
|
-
(function(Prism) {
|
1
|
+
(function (Prism) {
|
7
2
|
|
8
3
|
Prism.languages.smarty = {
|
9
|
-
'comment':
|
4
|
+
'comment': {
|
5
|
+
pattern: /^\{\*[\s\S]*?\*\}/,
|
6
|
+
greedy: true
|
7
|
+
},
|
8
|
+
'embedded-php': {
|
9
|
+
pattern: /^\{php\}[\s\S]*?\{\/php\}/,
|
10
|
+
greedy: true,
|
11
|
+
inside: {
|
12
|
+
'smarty': {
|
13
|
+
pattern: /^\{php\}|\{\/php\}$/,
|
14
|
+
inside: null // see below
|
15
|
+
},
|
16
|
+
'php': {
|
17
|
+
pattern: /[\s\S]+/,
|
18
|
+
alias: 'language-php',
|
19
|
+
inside: Prism.languages.php
|
20
|
+
}
|
21
|
+
}
|
22
|
+
},
|
23
|
+
'string': [
|
24
|
+
{
|
25
|
+
pattern: /"(?:\\.|[^"\\\r\n])*"/,
|
26
|
+
greedy: true,
|
27
|
+
inside: {
|
28
|
+
'interpolation': {
|
29
|
+
pattern: /\{[^{}]*\}|`[^`]*`/,
|
30
|
+
inside: {
|
31
|
+
'interpolation-punctuation': {
|
32
|
+
pattern: /^[{`]|[`}]$/,
|
33
|
+
alias: 'punctuation'
|
34
|
+
},
|
35
|
+
'expression': {
|
36
|
+
pattern: /[\s\S]+/,
|
37
|
+
inside: null // see below
|
38
|
+
}
|
39
|
+
}
|
40
|
+
},
|
41
|
+
'variable': /\$\w+/
|
42
|
+
}
|
43
|
+
},
|
44
|
+
{
|
45
|
+
pattern: /'(?:\\.|[^'\\\r\n])*'/,
|
46
|
+
greedy: true
|
47
|
+
},
|
48
|
+
],
|
49
|
+
'keyword': {
|
50
|
+
pattern: /(^\{\/?)[a-z_]\w*\b(?!\()/i,
|
51
|
+
lookbehind: true,
|
52
|
+
greedy: true
|
53
|
+
},
|
10
54
|
'delimiter': {
|
11
|
-
pattern: /^\{
|
55
|
+
pattern: /^\{\/?|\}$/,
|
56
|
+
greedy: true,
|
12
57
|
alias: 'punctuation'
|
13
58
|
},
|
14
|
-
'
|
15
|
-
'number': /\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/,
|
59
|
+
'number': /\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,
|
16
60
|
'variable': [
|
17
61
|
/\$(?!\d)\w+/,
|
18
62
|
/#(?!\d)\w+#/,
|
19
63
|
{
|
20
|
-
pattern: /(
|
64
|
+
pattern: /(\.|->|\w\s*=)(?!\d)\w+\b(?!\()/,
|
21
65
|
lookbehind: true
|
22
66
|
},
|
23
67
|
{
|
@@ -25,52 +69,52 @@
|
|
25
69
|
lookbehind: true
|
26
70
|
}
|
27
71
|
],
|
28
|
-
'function':
|
29
|
-
|
30
|
-
|
31
|
-
lookbehind: true
|
32
|
-
},
|
33
|
-
/^\/?(?!\d)\w+/,
|
34
|
-
/(?!\d)\w+(?=\()/
|
35
|
-
],
|
36
|
-
'attr-name': {
|
37
|
-
// Value is made optional because it may have already been tokenized
|
38
|
-
pattern: /\w+\s*=\s*(?:(?!\d)\w+)?/,
|
39
|
-
inside: {
|
40
|
-
"variable": {
|
41
|
-
pattern: /(=\s*)(?!\d)\w+/,
|
42
|
-
lookbehind: true
|
43
|
-
},
|
44
|
-
"operator": /=/
|
45
|
-
}
|
72
|
+
'function': {
|
73
|
+
pattern: /(\|\s*)@?[a-z_]\w*|\b[a-z_]\w*(?=\()/i,
|
74
|
+
lookbehind: true
|
46
75
|
},
|
47
|
-
'
|
48
|
-
|
49
|
-
]
|
76
|
+
'attr-name': /\b[a-z_]\w*(?=\s*=)/i,
|
77
|
+
'boolean': /\b(?:false|no|off|on|true|yes)\b/,
|
78
|
+
'punctuation': /[\[\](){}.,:`]|->/,
|
50
79
|
'operator': [
|
51
80
|
/[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/,
|
52
81
|
/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/,
|
53
|
-
/\b(?:eq|
|
54
|
-
]
|
55
|
-
'keyword': /\b(?:false|off|on|no|true|yes)\b/
|
82
|
+
/\b(?:and|eq|gt?e|gt|lt?e|lt|mod|neq?|not|or)\b/
|
83
|
+
]
|
56
84
|
};
|
57
85
|
|
86
|
+
Prism.languages.smarty['embedded-php'].inside.smarty.inside = Prism.languages.smarty;
|
87
|
+
Prism.languages.smarty.string[0].inside.interpolation.inside.expression.inside = Prism.languages.smarty;
|
88
|
+
|
89
|
+
var string = /"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/;
|
90
|
+
var smartyPattern = RegExp(
|
91
|
+
// comments
|
92
|
+
/\{\*[\s\S]*?\*\}/.source +
|
93
|
+
'|' +
|
94
|
+
// php tags
|
95
|
+
/\{php\}[\s\S]*?\{\/php\}/.source +
|
96
|
+
'|' +
|
97
|
+
// smarty blocks
|
98
|
+
/\{(?:[^{}"']|<str>|\{(?:[^{}"']|<str>|\{(?:[^{}"']|<str>)*\})*\})*\}/.source
|
99
|
+
.replace(/<str>/g, function () { return string.source; }),
|
100
|
+
'g'
|
101
|
+
);
|
102
|
+
|
58
103
|
// Tokenize all inline Smarty expressions
|
59
|
-
Prism.hooks.add('before-tokenize', function(env) {
|
60
|
-
var
|
61
|
-
var
|
62
|
-
var
|
63
|
-
var smartyLitteralMode = false;
|
104
|
+
Prism.hooks.add('before-tokenize', function (env) {
|
105
|
+
var smartyLiteralStart = '{literal}';
|
106
|
+
var smartyLiteralEnd = '{/literal}';
|
107
|
+
var smartyLiteralMode = false;
|
64
108
|
|
65
109
|
Prism.languages['markup-templating'].buildPlaceholders(env, 'smarty', smartyPattern, function (match) {
|
66
110
|
// Smarty tags inside {literal} block are ignored
|
67
|
-
if(match ===
|
68
|
-
|
111
|
+
if (match === smartyLiteralEnd) {
|
112
|
+
smartyLiteralMode = false;
|
69
113
|
}
|
70
114
|
|
71
|
-
if(!
|
72
|
-
if(match ===
|
73
|
-
|
115
|
+
if (!smartyLiteralMode) {
|
116
|
+
if (match === smartyLiteralStart) {
|
117
|
+
smartyLiteralMode = true;
|
74
118
|
}
|
75
119
|
|
76
120
|
return true;
|
@@ -80,8 +124,8 @@
|
|
80
124
|
});
|
81
125
|
|
82
126
|
// Re-insert the tokens after tokenizing
|
83
|
-
Prism.hooks.add('after-tokenize', function(env) {
|
127
|
+
Prism.hooks.add('after-tokenize', function (env) {
|
84
128
|
Prism.languages['markup-templating'].tokenizePlaceholders(env, 'smarty');
|
85
129
|
});
|
86
130
|
|
87
|
-
}(Prism));
|
131
|
+
}(Prism));
|
@@ -0,0 +1,68 @@
|
|
1
|
+
// https://smlfamily.github.io/sml97-defn.pdf
|
2
|
+
// https://people.mpi-sws.org/~rossberg/sml.html
|
3
|
+
(function (Prism) {
|
4
|
+
|
5
|
+
var keywords = /\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\b/i;
|
6
|
+
|
7
|
+
Prism.languages.sml = {
|
8
|
+
// allow one level of nesting
|
9
|
+
'comment': /\(\*(?:[^*(]|\*(?!\))|\((?!\*)|\(\*(?:[^*(]|\*(?!\))|\((?!\*))*\*\))*\*\)/,
|
10
|
+
'string': {
|
11
|
+
pattern: /#?"(?:[^"\\]|\\.)*"/,
|
12
|
+
greedy: true
|
13
|
+
},
|
14
|
+
|
15
|
+
'class-name': [
|
16
|
+
{
|
17
|
+
// This is only an approximation since the real grammar is context-free
|
18
|
+
//
|
19
|
+
// Why the main loop so complex?
|
20
|
+
// The main loop is approximately the same as /(?:\s*(?:[*,]|->)\s*<TERMINAL>)*/ which is, obviously, a lot
|
21
|
+
// simpler. The difference is that if a comma is the last iteration of the loop, then the terminal must be
|
22
|
+
// followed by a long identifier.
|
23
|
+
pattern: RegExp(
|
24
|
+
/((?:^|[^:]):\s*)<TERMINAL>(?:\s*(?:(?:\*|->)\s*<TERMINAL>|,\s*<TERMINAL>(?:(?=<NOT-LAST>)|(?!<NOT-LAST>)\s+<LONG-ID>)))*/.source
|
25
|
+
.replace(/<NOT-LAST>/g, function () { return /\s*(?:[*,]|->)/.source; })
|
26
|
+
.replace(/<TERMINAL>/g, function () {
|
27
|
+
return /(?:'[\w']*|<LONG-ID>|\((?:[^()]|\([^()]*\))*\)|\{(?:[^{}]|\{[^{}]*\})*\})(?:\s+<LONG-ID>)*/.source;
|
28
|
+
})
|
29
|
+
.replace(/<LONG-ID>/g, function () { return /(?!<KEYWORD>)[a-z\d_][\w'.]*/.source; })
|
30
|
+
.replace(/<KEYWORD>/g, function () { return keywords.source; }),
|
31
|
+
'i'
|
32
|
+
),
|
33
|
+
lookbehind: true,
|
34
|
+
greedy: true,
|
35
|
+
inside: null // see below
|
36
|
+
},
|
37
|
+
{
|
38
|
+
pattern: /((?:^|[^\w'])(?:datatype|exception|functor|signature|structure|type)\s+)[a-z_][\w'.]*/i,
|
39
|
+
lookbehind: true
|
40
|
+
}
|
41
|
+
],
|
42
|
+
'function': {
|
43
|
+
pattern: /((?:^|[^\w'])fun\s+)[a-z_][\w'.]*/i,
|
44
|
+
lookbehind: true
|
45
|
+
},
|
46
|
+
|
47
|
+
'keyword': keywords,
|
48
|
+
'variable': {
|
49
|
+
pattern: /(^|[^\w'])'[\w']*/,
|
50
|
+
lookbehind: true,
|
51
|
+
},
|
52
|
+
|
53
|
+
'number': /~?\b(?:\d+(?:\.\d+)?(?:e~?\d+)?|0x[\da-f]+)\b/i,
|
54
|
+
'word': {
|
55
|
+
pattern: /\b0w(?:\d+|x[\da-f]+)\b/i,
|
56
|
+
alias: 'constant'
|
57
|
+
},
|
58
|
+
|
59
|
+
'boolean': /\b(?:false|true)\b/i,
|
60
|
+
'operator': /\.\.\.|:[>=:]|=>?|->|[<>]=?|[!+\-*/^#|@~]/,
|
61
|
+
'punctuation': /[(){}\[\].:,;]/
|
62
|
+
};
|
63
|
+
|
64
|
+
Prism.languages.sml['class-name'][0].inside = Prism.languages.sml;
|
65
|
+
|
66
|
+
Prism.languages.smlnj = Prism.languages.sml;
|
67
|
+
|
68
|
+
}(Prism));
|