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
@@ -0,0 +1,70 @@
|
|
1
|
+
/*
|
2
|
+
Original Code by Bas Groothedde
|
3
|
+
!!MANY THANKS!! I never would have made this, regex and me will never be best friends ;)
|
4
|
+
==> https://codepen.io/ImagineProgramming/details/JYydBy/
|
5
|
+
slightly changed to pass all tests
|
6
|
+
*/
|
7
|
+
|
8
|
+
|
9
|
+
// PureBasic support, steal stuff from ansi-c
|
10
|
+
Prism.languages.purebasic = Prism.languages.extend('clike', {
|
11
|
+
'comment': /;.*/,
|
12
|
+
'keyword': /\b(?:align|and|as|break|calldebugger|case|compilercase|compilerdefault|compilerelse|compilerelseif|compilerendif|compilerendselect|compilererror|compilerif|compilerselect|continue|data|datasection|debug|debuglevel|declare|declarec|declarecdll|declaredll|declaremodule|default|define|dim|disableasm|disabledebugger|disableexplicit|else|elseif|enableasm|enabledebugger|enableexplicit|end|enddatasection|enddeclaremodule|endenumeration|endif|endimport|endinterface|endmacro|endmodule|endprocedure|endselect|endstructure|endstructureunion|endwith|enumeration|extends|fakereturn|for|foreach|forever|global|gosub|goto|if|import|importc|includebinary|includefile|includepath|interface|macro|module|newlist|newmap|next|not|or|procedure|procedurec|procedurecdll|proceduredll|procedurereturn|protected|prototype|prototypec|read|redim|repeat|restore|return|runtime|select|shared|static|step|structure|structureunion|swap|threaded|to|until|wend|while|with|xincludefile|xor)\b/i,
|
13
|
+
'function': /\b\w+(?:\.\w+)?\s*(?=\()/,
|
14
|
+
'number': /(?:\$[\da-f]+|\b-?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)\b/i,
|
15
|
+
'operator': /(?:@\*?|\?|\*)\w+\$?|-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*/@]/
|
16
|
+
});
|
17
|
+
|
18
|
+
Prism.languages.insertBefore('purebasic', 'keyword', {
|
19
|
+
'tag': /#\w+\$?/,
|
20
|
+
'asm': {
|
21
|
+
pattern: /(^[\t ]*)!.*/m,
|
22
|
+
lookbehind: true,
|
23
|
+
alias: 'tag',
|
24
|
+
inside: {
|
25
|
+
'comment': /;.*/,
|
26
|
+
'string': {
|
27
|
+
pattern: /(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,
|
28
|
+
greedy: true
|
29
|
+
},
|
30
|
+
// Anonymous label references, i.e.: jmp @b
|
31
|
+
'label-reference-anonymous': {
|
32
|
+
pattern: /(!\s*j[a-z]+\s+)@[fb]/i,
|
33
|
+
lookbehind: true,
|
34
|
+
alias: 'fasm-label'
|
35
|
+
},
|
36
|
+
// Named label reference, i.e.: jne label1
|
37
|
+
'label-reference-addressed': {
|
38
|
+
pattern: /(!\s*j[a-z]+\s+)[A-Z._?$@][\w.?$@~#]*/i,
|
39
|
+
lookbehind: true,
|
40
|
+
alias: 'fasm-label'
|
41
|
+
},
|
42
|
+
'keyword': [
|
43
|
+
/\b(?:extern|global)\b[^;\r\n]*/i,
|
44
|
+
/\b(?:CPU|DEFAULT|FLOAT)\b.*/
|
45
|
+
],
|
46
|
+
'function': {
|
47
|
+
pattern: /^([\t ]*!\s*)[\da-z]+(?=\s|$)/im,
|
48
|
+
lookbehind: true
|
49
|
+
},
|
50
|
+
'function-inline': {
|
51
|
+
pattern: /(:\s*)[\da-z]+(?=\s)/i,
|
52
|
+
lookbehind: true,
|
53
|
+
alias: 'function'
|
54
|
+
},
|
55
|
+
'label': {
|
56
|
+
pattern: /^([\t ]*!\s*)[A-Za-z._?$@][\w.?$@~#]*(?=:)/m,
|
57
|
+
lookbehind: true,
|
58
|
+
alias: 'fasm-label'
|
59
|
+
},
|
60
|
+
'register': /\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s|mm\d+)\b/i,
|
61
|
+
'number': /(?:\b|-|(?=\$))(?:0[hx](?:[\da-f]*\.)?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,
|
62
|
+
'operator': /[\[\]*+\-/%<>=&|$!,.:]/
|
63
|
+
}
|
64
|
+
}
|
65
|
+
});
|
66
|
+
|
67
|
+
delete Prism.languages.purebasic['class-name'];
|
68
|
+
delete Prism.languages.purebasic['boolean'];
|
69
|
+
|
70
|
+
Prism.languages.pbfasm = Prism.languages['purebasic'];
|
@@ -0,0 +1,31 @@
|
|
1
|
+
Prism.languages.purescript = Prism.languages.extend('haskell', {
|
2
|
+
'keyword': /\b(?:ado|case|class|data|derive|do|else|forall|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b|∀/,
|
3
|
+
|
4
|
+
'import-statement': {
|
5
|
+
// The imported or hidden names are not included in this import
|
6
|
+
// statement. This is because we want to highlight those exactly like
|
7
|
+
// we do for the names in the program.
|
8
|
+
pattern: /(^[\t ]*)import\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,
|
9
|
+
lookbehind: true,
|
10
|
+
inside: {
|
11
|
+
'keyword': /\b(?:as|hiding|import)\b/,
|
12
|
+
'punctuation': /\./
|
13
|
+
}
|
14
|
+
},
|
15
|
+
|
16
|
+
// These are builtin functions only. Constructors are highlighted later as a constant.
|
17
|
+
'builtin': /\b(?:absurd|add|ap|append|apply|between|bind|bottom|clamp|compare|comparing|compose|conj|const|degree|discard|disj|div|eq|flap|flip|gcd|identity|ifM|join|lcm|liftA1|liftM1|map|max|mempty|min|mod|mul|negate|not|notEq|one|otherwise|recip|show|sub|top|unit|unless|unlessM|void|when|whenM|zero)\b/,
|
18
|
+
|
19
|
+
'operator': [
|
20
|
+
// Infix operators
|
21
|
+
Prism.languages.haskell.operator[0],
|
22
|
+
// ASCII operators
|
23
|
+
Prism.languages.haskell.operator[2],
|
24
|
+
// All UTF16 Unicode operator symbols
|
25
|
+
// This regex is equivalent to /(?=[\x80-\uFFFF])[\p{gc=Math_Symbol}\p{gc=Currency_Symbol}\p{Modifier_Symbol}\p{Other_Symbol}]/u
|
26
|
+
// See https://github.com/PrismJS/prism/issues/3006 for more details.
|
27
|
+
/[\xa2-\xa6\xa8\xa9\xac\xae-\xb1\xb4\xb8\xd7\xf7\u02c2-\u02c5\u02d2-\u02df\u02e5-\u02eb\u02ed\u02ef-\u02ff\u0375\u0384\u0385\u03f6\u0482\u058d-\u058f\u0606-\u0608\u060b\u060e\u060f\u06de\u06e9\u06fd\u06fe\u07f6\u07fe\u07ff\u09f2\u09f3\u09fa\u09fb\u0af1\u0b70\u0bf3-\u0bfa\u0c7f\u0d4f\u0d79\u0e3f\u0f01-\u0f03\u0f13\u0f15-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce\u0fcf\u0fd5-\u0fd8\u109e\u109f\u1390-\u1399\u166d\u17db\u1940\u19de-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u1fbd\u1fbf-\u1fc1\u1fcd-\u1fcf\u1fdd-\u1fdf\u1fed-\u1fef\u1ffd\u1ffe\u2044\u2052\u207a-\u207c\u208a-\u208c\u20a0-\u20bf\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211e-\u2123\u2125\u2127\u2129\u212e\u213a\u213b\u2140-\u2144\u214a-\u214d\u214f\u218a\u218b\u2190-\u2307\u230c-\u2328\u232b-\u2426\u2440-\u244a\u249c-\u24e9\u2500-\u2767\u2794-\u27c4\u27c7-\u27e5\u27f0-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2b73\u2b76-\u2b95\u2b97-\u2bff\u2ce5-\u2cea\u2e50\u2e51\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3004\u3012\u3013\u3020\u3036\u3037\u303e\u303f\u309b\u309c\u3190\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3247\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua700-\ua716\ua720\ua721\ua789\ua78a\ua828-\ua82b\ua836-\ua839\uaa77-\uaa79\uab5b\uab6a\uab6b\ufb29\ufbb2-\ufbc1\ufdfc\ufdfd\ufe62\ufe64-\ufe66\ufe69\uff04\uff0b\uff1c-\uff1e\uff3e\uff40\uff5c\uff5e\uffe0-\uffe6\uffe8-\uffee\ufffc\ufffd]/
|
28
|
+
]
|
29
|
+
});
|
30
|
+
|
31
|
+
Prism.languages.purs = Prism.languages.purescript;
|
@@ -1,19 +1,20 @@
|
|
1
1
|
Prism.languages.python = {
|
2
2
|
'comment': {
|
3
3
|
pattern: /(^|[^\\])#.*/,
|
4
|
-
lookbehind: true
|
4
|
+
lookbehind: true,
|
5
|
+
greedy: true
|
5
6
|
},
|
6
7
|
'string-interpolation': {
|
7
|
-
pattern: /(?:f|rf
|
8
|
+
pattern: /(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,
|
8
9
|
greedy: true,
|
9
10
|
inside: {
|
10
11
|
'interpolation': {
|
11
12
|
// "{" <expression> <optional "!s", "!r", or "!a"> <optional ":" format specifier> "}"
|
12
|
-
pattern: /((?:^|[^{])(
|
13
|
+
pattern: /((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,
|
13
14
|
lookbehind: true,
|
14
15
|
inside: {
|
15
16
|
'format-spec': {
|
16
|
-
pattern: /(:)[^:(){}]+(
|
17
|
+
pattern: /(:)[^:(){}]+(?=\}$)/,
|
17
18
|
lookbehind: true
|
18
19
|
},
|
19
20
|
'conversion-option': {
|
@@ -27,12 +28,12 @@ Prism.languages.python = {
|
|
27
28
|
}
|
28
29
|
},
|
29
30
|
'triple-quoted-string': {
|
30
|
-
pattern: /(?:[rub]|rb
|
31
|
+
pattern: /(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,
|
31
32
|
greedy: true,
|
32
33
|
alias: 'string'
|
33
34
|
},
|
34
35
|
'string': {
|
35
|
-
pattern: /(?:[rub]|rb
|
36
|
+
pattern: /(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,
|
36
37
|
greedy: true
|
37
38
|
},
|
38
39
|
'function': {
|
@@ -44,18 +45,18 @@ Prism.languages.python = {
|
|
44
45
|
lookbehind: true
|
45
46
|
},
|
46
47
|
'decorator': {
|
47
|
-
pattern: /(
|
48
|
+
pattern: /(^[\t ]*)@\w+(?:\.\w+)*/m,
|
48
49
|
lookbehind: true,
|
49
50
|
alias: ['annotation', 'punctuation'],
|
50
51
|
inside: {
|
51
52
|
'punctuation': /\./
|
52
53
|
}
|
53
54
|
},
|
54
|
-
'keyword': /\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,
|
55
|
+
'keyword': /\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,
|
55
56
|
'builtin': /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,
|
56
|
-
'boolean': /\b(?:
|
57
|
-
'number':
|
58
|
-
'operator': /[-+%=]
|
57
|
+
'boolean': /\b(?:False|None|True)\b/,
|
58
|
+
'number': /\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,
|
59
|
+
'operator': /[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
|
59
60
|
'punctuation': /[{}[\];(),.:]/
|
60
61
|
};
|
61
62
|
|
@@ -15,7 +15,7 @@ Prism.languages.q = {
|
|
15
15
|
// If a / is not matched by a \, the multiline comment is unterminated and continues to end of file.
|
16
16
|
// The / and \ must be the first char on the line, but may be followed by any amount of whitespace.
|
17
17
|
{
|
18
|
-
pattern: /(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/,
|
18
|
+
pattern: /(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r(?!\n)))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/,
|
19
19
|
lookbehind: true,
|
20
20
|
greedy: true
|
21
21
|
},
|
@@ -37,15 +37,15 @@ Prism.languages.q = {
|
|
37
37
|
},
|
38
38
|
// The negative look-ahead prevents bad highlighting
|
39
39
|
// of verbs 0: and 1:
|
40
|
-
'number': /\b(?![01]:)(?:
|
40
|
+
'number': /\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\da-fA-F]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?[hjfeb]?)/,
|
41
41
|
'keyword': /\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/,
|
42
42
|
'adverb': {
|
43
43
|
pattern: /['\/\\]:?|\beach\b/,
|
44
44
|
alias: 'function'
|
45
45
|
},
|
46
46
|
'verb': {
|
47
|
-
pattern: /(?:\B\.\B|\b[01]:|<[=>]?|>=?|[
|
47
|
+
pattern: /(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?~=|$&#@^]):?|\b_\b:?/,
|
48
48
|
alias: 'operator'
|
49
49
|
},
|
50
50
|
'punctuation': /[(){}\[\];.]/
|
51
|
-
};
|
51
|
+
};
|
@@ -1,14 +1,14 @@
|
|
1
1
|
(function (Prism) {
|
2
2
|
|
3
3
|
var jsString = /"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'/.source;
|
4
|
-
var jsComment =
|
4
|
+
var jsComment = /\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\//.source;
|
5
5
|
|
6
6
|
var jsExpr = /(?:[^\\()[\]{}"'/]|<string>|\/(?![*/])|<comment>|\(<expr>*\)|\[<expr>*\]|\{<expr>*\}|\\[\s\S])/
|
7
|
-
.source.replace(/<string>/g, jsString).replace(/<comment>/g, jsComment);
|
7
|
+
.source.replace(/<string>/g, function () { return jsString; }).replace(/<comment>/g, function () { return jsComment; });
|
8
8
|
|
9
9
|
// the pattern will blow up, so only a few iterations
|
10
10
|
for (var i = 0; i < 2; i++) {
|
11
|
-
jsExpr = jsExpr.replace(/<expr>/g, jsExpr);
|
11
|
+
jsExpr = jsExpr.replace(/<expr>/g, function () { return jsExpr; });
|
12
12
|
}
|
13
13
|
jsExpr = jsExpr.replace(/<expr>/g, '[^\\s\\S]');
|
14
14
|
|
@@ -19,7 +19,7 @@
|
|
19
19
|
greedy: true
|
20
20
|
},
|
21
21
|
'javascript-function': {
|
22
|
-
pattern: RegExp(/((?:^|;)[ \t]*)function\s+[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*\(<js>*\)\s*\{<js>*\}/.source.replace(/<js>/g, jsExpr), 'm'),
|
22
|
+
pattern: RegExp(/((?:^|;)[ \t]*)function\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*\(<js>*\)\s*\{<js>*\}/.source.replace(/<js>/g, function () { return jsExpr; }), 'm'),
|
23
23
|
lookbehind: true,
|
24
24
|
greedy: true,
|
25
25
|
alias: 'language-javascript',
|
@@ -44,13 +44,16 @@
|
|
44
44
|
}
|
45
45
|
],
|
46
46
|
'javascript-expression': {
|
47
|
-
pattern: RegExp(/(:[ \t]*)(?![\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(/<js>/g, jsExpr), 'm'),
|
47
|
+
pattern: RegExp(/(:[ \t]*)(?![\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(/<js>/g, function () { return jsExpr; }), 'm'),
|
48
48
|
lookbehind: true,
|
49
49
|
greedy: true,
|
50
50
|
alias: 'language-javascript',
|
51
51
|
inside: Prism.languages.javascript
|
52
52
|
},
|
53
|
-
'string':
|
53
|
+
'string': {
|
54
|
+
pattern: /"(?:\\.|[^\\"\r\n])*"/,
|
55
|
+
greedy: true
|
56
|
+
},
|
54
57
|
'keyword': /\b(?:as|import|on)\b/,
|
55
58
|
'punctuation': /[{}[\]:;,]/
|
56
59
|
};
|
@@ -8,13 +8,13 @@ Prism.languages.qore = Prism.languages.extend('clike', {
|
|
8
8
|
pattern: /("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,
|
9
9
|
greedy: true
|
10
10
|
},
|
11
|
-
'
|
12
|
-
'
|
13
|
-
'
|
14
|
-
'
|
11
|
+
'keyword': /\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:bool|date|float|int|list|number|string)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/,
|
12
|
+
'boolean': /\b(?:false|true)\b/i,
|
13
|
+
'function': /\$?\b(?!\d)\w+(?=\()/,
|
14
|
+
'number': /\b(?:0b[01]+|0x(?:[\da-f]*\.)?[\da-fp\-]+|(?:\d+(?:\.\d+)?|\.\d+)(?:e\d+)?[df]|(?:\d+(?:\.\d+)?|\.\d+))\b/i,
|
15
15
|
'operator': {
|
16
16
|
pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/,
|
17
17
|
lookbehind: true
|
18
18
|
},
|
19
|
-
'
|
19
|
+
'variable': /\$(?!\d)\w+\b/
|
20
20
|
});
|
@@ -0,0 +1,132 @@
|
|
1
|
+
(function (Prism) {
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Replaces all placeholders "<<n>>" of given pattern with the n-th replacement (zero based).
|
5
|
+
*
|
6
|
+
* Note: This is a simple text based replacement. Be careful when using backreferences!
|
7
|
+
*
|
8
|
+
* @param {string} pattern the given pattern.
|
9
|
+
* @param {string[]} replacements a list of replacement which can be inserted into the given pattern.
|
10
|
+
* @returns {string} the pattern with all placeholders replaced with their corresponding replacements.
|
11
|
+
* @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source
|
12
|
+
*/
|
13
|
+
function replace(pattern, replacements) {
|
14
|
+
return pattern.replace(/<<(\d+)>>/g, function (m, index) {
|
15
|
+
return '(?:' + replacements[+index] + ')';
|
16
|
+
});
|
17
|
+
}
|
18
|
+
/**
|
19
|
+
* @param {string} pattern
|
20
|
+
* @param {string[]} replacements
|
21
|
+
* @param {string} [flags]
|
22
|
+
* @returns {RegExp}
|
23
|
+
*/
|
24
|
+
function re(pattern, replacements, flags) {
|
25
|
+
return RegExp(replace(pattern, replacements), flags || '');
|
26
|
+
}
|
27
|
+
|
28
|
+
/**
|
29
|
+
* Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
|
30
|
+
*
|
31
|
+
* @param {string} pattern
|
32
|
+
* @param {number} depthLog2
|
33
|
+
* @returns {string}
|
34
|
+
*/
|
35
|
+
function nested(pattern, depthLog2) {
|
36
|
+
for (var i = 0; i < depthLog2; i++) {
|
37
|
+
pattern = pattern.replace(/<<self>>/g, function () { return '(?:' + pattern + ')'; });
|
38
|
+
}
|
39
|
+
return pattern.replace(/<<self>>/g, '[^\\s\\S]');
|
40
|
+
}
|
41
|
+
|
42
|
+
// https://docs.microsoft.com/en-us/azure/quantum/user-guide/language/typesystem/
|
43
|
+
// https://github.com/microsoft/qsharp-language/tree/main/Specifications/Language/5_Grammar
|
44
|
+
var keywordKinds = {
|
45
|
+
// keywords which represent a return or variable type
|
46
|
+
type: 'Adj BigInt Bool Ctl Double false Int One Pauli PauliI PauliX PauliY PauliZ Qubit Range Result String true Unit Zero',
|
47
|
+
// all other keywords
|
48
|
+
other: 'Adjoint adjoint apply as auto body borrow borrowing Controlled controlled distribute elif else fail fixup for function if in internal intrinsic invert is let mutable namespace new newtype open operation repeat return self set until use using while within'
|
49
|
+
};
|
50
|
+
// keywords
|
51
|
+
function keywordsToPattern(words) {
|
52
|
+
return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b';
|
53
|
+
}
|
54
|
+
var keywords = RegExp(keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.other));
|
55
|
+
|
56
|
+
// types
|
57
|
+
var identifier = /\b[A-Za-z_]\w*\b/.source;
|
58
|
+
var qualifiedName = replace(/<<0>>(?:\s*\.\s*<<0>>)*/.source, [identifier]);
|
59
|
+
|
60
|
+
var typeInside = {
|
61
|
+
'keyword': keywords,
|
62
|
+
'punctuation': /[<>()?,.:[\]]/
|
63
|
+
};
|
64
|
+
|
65
|
+
// strings
|
66
|
+
var regularString = /"(?:\\.|[^\\"])*"/.source;
|
67
|
+
|
68
|
+
Prism.languages.qsharp = Prism.languages.extend('clike', {
|
69
|
+
'comment': /\/\/.*/,
|
70
|
+
'string': [
|
71
|
+
{
|
72
|
+
pattern: re(/(^|[^$\\])<<0>>/.source, [regularString]),
|
73
|
+
lookbehind: true,
|
74
|
+
greedy: true
|
75
|
+
}
|
76
|
+
],
|
77
|
+
'class-name': [
|
78
|
+
{
|
79
|
+
// open Microsoft.Quantum.Canon;
|
80
|
+
// open Microsoft.Quantum.Canon as CN;
|
81
|
+
pattern: re(/(\b(?:as|open)\s+)<<0>>(?=\s*(?:;|as\b))/.source, [qualifiedName]),
|
82
|
+
lookbehind: true,
|
83
|
+
inside: typeInside
|
84
|
+
},
|
85
|
+
{
|
86
|
+
// namespace Quantum.App1;
|
87
|
+
pattern: re(/(\bnamespace\s+)<<0>>(?=\s*\{)/.source, [qualifiedName]),
|
88
|
+
lookbehind: true,
|
89
|
+
inside: typeInside
|
90
|
+
},
|
91
|
+
],
|
92
|
+
'keyword': keywords,
|
93
|
+
'number': /(?:\b0(?:x[\da-f]+|b[01]+|o[0-7]+)|(?:\B\.\d+|\b\d+(?:\.\d*)?)(?:e[-+]?\d+)?)l?\b/i,
|
94
|
+
'operator': /\band=|\bor=|\band\b|\bnot\b|\bor\b|<[-=]|[-=]>|>>>=?|<<<=?|\^\^\^=?|\|\|\|=?|&&&=?|w\/=?|~~~|[*\/+\-^=!%]=?/,
|
95
|
+
'punctuation': /::|[{}[\];(),.:]/
|
96
|
+
});
|
97
|
+
|
98
|
+
Prism.languages.insertBefore('qsharp', 'number', {
|
99
|
+
'range': {
|
100
|
+
pattern: /\.\./,
|
101
|
+
alias: 'operator'
|
102
|
+
}
|
103
|
+
});
|
104
|
+
|
105
|
+
// single line
|
106
|
+
var interpolationExpr = nested(replace(/\{(?:[^"{}]|<<0>>|<<self>>)*\}/.source, [regularString]), 2);
|
107
|
+
|
108
|
+
Prism.languages.insertBefore('qsharp', 'string', {
|
109
|
+
'interpolation-string': {
|
110
|
+
pattern: re(/\$"(?:\\.|<<0>>|[^\\"{])*"/.source, [interpolationExpr]),
|
111
|
+
greedy: true,
|
112
|
+
inside: {
|
113
|
+
'interpolation': {
|
114
|
+
pattern: re(/((?:^|[^\\])(?:\\\\)*)<<0>>/.source, [interpolationExpr]),
|
115
|
+
lookbehind: true,
|
116
|
+
inside: {
|
117
|
+
'punctuation': /^\{|\}$/,
|
118
|
+
'expression': {
|
119
|
+
pattern: /[\s\S]+/,
|
120
|
+
alias: 'language-qsharp',
|
121
|
+
inside: Prism.languages.qsharp
|
122
|
+
}
|
123
|
+
}
|
124
|
+
},
|
125
|
+
'string': /[\s\S]+/
|
126
|
+
}
|
127
|
+
}
|
128
|
+
});
|
129
|
+
|
130
|
+
}(Prism));
|
131
|
+
|
132
|
+
Prism.languages.qs = Prism.languages.qsharp;
|
@@ -10,13 +10,13 @@ Prism.languages.r = {
|
|
10
10
|
pattern: /%[^%\s]*%/,
|
11
11
|
alias: 'operator'
|
12
12
|
},
|
13
|
-
'boolean': /\b(?:TRUE
|
13
|
+
'boolean': /\b(?:FALSE|TRUE)\b/,
|
14
14
|
'ellipsis': /\.\.(?:\.|\d+)/,
|
15
15
|
'number': [
|
16
|
-
/\b(?:NaN
|
17
|
-
/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d
|
16
|
+
/\b(?:Inf|NaN)\b/,
|
17
|
+
/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/
|
18
18
|
],
|
19
|
-
'keyword': /\b(?:
|
19
|
+
'keyword': /\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,
|
20
20
|
'operator': /->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,
|
21
21
|
'punctuation': /[(){}\[\],;]/
|
22
|
-
};
|
22
|
+
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Prism.languages.racket = Prism.languages.extend('scheme', {
|
2
|
+
'lambda-parameter': {
|
3
|
+
// the racket lambda syntax is a lot more complex, so we won't even attempt to capture it.
|
4
|
+
// this will just prevent false positives of the `function` pattern
|
5
|
+
pattern: /([(\[]lambda\s+[(\[])[^()\[\]'\s]+/,
|
6
|
+
lookbehind: true
|
7
|
+
}
|
8
|
+
});
|
9
|
+
|
10
|
+
Prism.languages.insertBefore('racket', 'string', {
|
11
|
+
'lang': {
|
12
|
+
pattern: /^#lang.+/m,
|
13
|
+
greedy: true,
|
14
|
+
alias: 'keyword'
|
15
|
+
}
|
16
|
+
});
|
17
|
+
|
18
|
+
Prism.languages.rkt = Prism.languages.racket;
|
@@ -6,18 +6,15 @@ Prism.languages.reason = Prism.languages.extend('clike', {
|
|
6
6
|
// 'class-name' must be matched *after* 'constructor' defined below
|
7
7
|
'class-name': /\b[A-Z]\w*/,
|
8
8
|
'keyword': /\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,
|
9
|
-
'operator': /\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:
|
9
|
+
'operator': /\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/
|
10
10
|
});
|
11
11
|
Prism.languages.insertBefore('reason', 'class-name', {
|
12
|
-
'
|
12
|
+
'char': {
|
13
13
|
pattern: /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,
|
14
|
-
|
15
|
-
},
|
16
|
-
'constructor': {
|
17
|
-
// Negative look-ahead prevents from matching things like String.capitalize
|
18
|
-
pattern: /\b[A-Z]\w*\b(?!\s*\.)/,
|
19
|
-
alias: 'variable'
|
14
|
+
greedy: true
|
20
15
|
},
|
16
|
+
// Negative look-ahead prevents from matching things like String.capitalize
|
17
|
+
'constructor': /\b[A-Z]\w*\b(?!\s*\.)/,
|
21
18
|
'label': {
|
22
19
|
pattern: /\b[a-z]\w*(?=::)/,
|
23
20
|
alias: 'symbol'
|
@@ -4,8 +4,15 @@
|
|
4
4
|
pattern: /\\[\\(){}[\]^$+*?|.]/,
|
5
5
|
alias: 'escape'
|
6
6
|
};
|
7
|
-
var escape = /\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|
|
8
|
-
var
|
7
|
+
var escape = /\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/;
|
8
|
+
var charSet = {
|
9
|
+
pattern: /\.|\\[wsd]|\\p\{[^{}]+\}/i,
|
10
|
+
alias: 'class-name'
|
11
|
+
};
|
12
|
+
var charSetWithoutDot = {
|
13
|
+
pattern: /\\[wsd]|\\p\{[^{}]+\}/i,
|
14
|
+
alias: 'class-name'
|
15
|
+
};
|
9
16
|
|
10
17
|
var rangeChar = '(?:[^\\\\-]|' + escape.source + ')';
|
11
18
|
var range = RegExp(rangeChar + '-' + rangeChar);
|
@@ -17,43 +24,55 @@
|
|
17
24
|
alias: 'variable'
|
18
25
|
};
|
19
26
|
|
20
|
-
var backreference = [
|
21
|
-
/\\(?![123][0-7]{2})[1-9]/, // a backreference which is not an octal escape
|
22
|
-
{
|
23
|
-
pattern: /\\k<[^<>']+>/,
|
24
|
-
inside: {
|
25
|
-
'group-name': groupName
|
26
|
-
}
|
27
|
-
}
|
28
|
-
];
|
29
|
-
|
30
27
|
Prism.languages.regex = {
|
31
|
-
'
|
28
|
+
'char-class': {
|
32
29
|
pattern: /((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,
|
33
30
|
lookbehind: true,
|
34
31
|
inside: {
|
35
|
-
'
|
32
|
+
'char-class-negation': {
|
36
33
|
pattern: /(^\[)\^/,
|
37
34
|
lookbehind: true,
|
35
|
+
alias: 'operator'
|
36
|
+
},
|
37
|
+
'char-class-punctuation': {
|
38
|
+
pattern: /^\[|\]$/,
|
39
|
+
alias: 'punctuation'
|
38
40
|
},
|
39
|
-
'charset-punctuation': /^\[|\]$/,
|
40
41
|
'range': {
|
41
42
|
pattern: range,
|
42
43
|
inside: {
|
43
44
|
'escape': escape,
|
44
|
-
'range-punctuation':
|
45
|
+
'range-punctuation': {
|
46
|
+
pattern: /-/,
|
47
|
+
alias: 'operator'
|
48
|
+
}
|
45
49
|
}
|
46
50
|
},
|
47
51
|
'special-escape': specialEscape,
|
48
|
-
'
|
49
|
-
'backreference': backreference,
|
52
|
+
'char-set': charSetWithoutDot,
|
50
53
|
'escape': escape
|
51
54
|
}
|
52
55
|
},
|
53
56
|
'special-escape': specialEscape,
|
54
|
-
'
|
55
|
-
'backreference':
|
56
|
-
|
57
|
+
'char-set': charSet,
|
58
|
+
'backreference': [
|
59
|
+
{
|
60
|
+
// a backreference which is not an octal escape
|
61
|
+
pattern: /\\(?![123][0-7]{2})[1-9]/,
|
62
|
+
alias: 'keyword'
|
63
|
+
},
|
64
|
+
{
|
65
|
+
pattern: /\\k<[^<>']+>/,
|
66
|
+
alias: 'keyword',
|
67
|
+
inside: {
|
68
|
+
'group-name': groupName
|
69
|
+
}
|
70
|
+
}
|
71
|
+
],
|
72
|
+
'anchor': {
|
73
|
+
pattern: /[$^]|\\[ABbGZz]/,
|
74
|
+
alias: 'function'
|
75
|
+
},
|
57
76
|
'escape': escape,
|
58
77
|
'group': [
|
59
78
|
{
|
@@ -62,36 +81,24 @@
|
|
62
81
|
|
63
82
|
// (), (?<name>), (?'name'), (?>), (?:), (?=), (?!), (?<=), (?<!), (?is-m), (?i-m:)
|
64
83
|
pattern: /\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,
|
84
|
+
alias: 'punctuation',
|
65
85
|
inside: {
|
66
86
|
'group-name': groupName
|
67
87
|
}
|
68
88
|
},
|
69
|
-
|
89
|
+
{
|
90
|
+
pattern: /\)/,
|
91
|
+
alias: 'punctuation'
|
92
|
+
}
|
70
93
|
],
|
71
|
-
'quantifier':
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
'coffescript',
|
79
|
-
'flow',
|
80
|
-
'javascript',
|
81
|
-
'typescript',
|
82
|
-
'vala'
|
83
|
-
].forEach(function (lang) {
|
84
|
-
var grammar = Prism.languages[lang];
|
85
|
-
if (grammar) {
|
86
|
-
grammar['regex'].inside = {
|
87
|
-
'regex-flags': /[a-z]+$/,
|
88
|
-
'regex-delimiter': /^\/|\/$/,
|
89
|
-
'language-regex': {
|
90
|
-
pattern: /[\s\S]+/,
|
91
|
-
inside: Prism.languages.regex
|
92
|
-
}
|
93
|
-
};
|
94
|
+
'quantifier': {
|
95
|
+
pattern: /(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,
|
96
|
+
alias: 'number'
|
97
|
+
},
|
98
|
+
'alternation': {
|
99
|
+
pattern: /\|/,
|
100
|
+
alias: 'keyword'
|
94
101
|
}
|
95
|
-
}
|
102
|
+
};
|
96
103
|
|
97
|
-
}(Prism))
|
104
|
+
}(Prism));
|
@@ -0,0 +1,30 @@
|
|
1
|
+
// https://www.openpolicyagent.org/docs/latest/policy-reference/
|
2
|
+
|
3
|
+
Prism.languages.rego = {
|
4
|
+
'comment': /#.*/,
|
5
|
+
'property': {
|
6
|
+
pattern: /(^|[^\\.])(?:"(?:\\.|[^\\"\r\n])*"|`[^`]*`|\b[a-z_]\w*\b)(?=\s*:(?!=))/i,
|
7
|
+
lookbehind: true,
|
8
|
+
greedy: true
|
9
|
+
},
|
10
|
+
'string': {
|
11
|
+
pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"|`[^`]*`/,
|
12
|
+
lookbehind: true,
|
13
|
+
greedy: true
|
14
|
+
},
|
15
|
+
|
16
|
+
'keyword': /\b(?:as|default|else|import|not|null|package|set(?=\s*\()|some|with)\b/,
|
17
|
+
'boolean': /\b(?:false|true)\b/,
|
18
|
+
|
19
|
+
'function': {
|
20
|
+
pattern: /\b[a-z_]\w*\b(?:\s*\.\s*\b[a-z_]\w*\b)*(?=\s*\()/i,
|
21
|
+
inside: {
|
22
|
+
'namespace': /\b\w+\b(?=\s*\.)/,
|
23
|
+
'punctuation': /\./
|
24
|
+
}
|
25
|
+
},
|
26
|
+
|
27
|
+
'number': /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
|
28
|
+
'operator': /[-+*/%|&]|[<>:=]=?|!=|\b_\b/,
|
29
|
+
'punctuation': /[,;.\[\]{}()]/
|
30
|
+
};
|