prism-rails 1.6.0.3 → 1.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +12 -0
- data/README.md +109 -44
- data/lib/prism-rails/version.rb +1 -1
- data/vendor/assets/javascripts/languages/index.js +82 -0
- data/vendor/assets/javascripts/languages/prism-abap.js +48 -0
- data/vendor/assets/javascripts/languages/prism-abnf.js +54 -0
- data/vendor/assets/javascripts/languages/prism-actionscript.js +19 -0
- data/vendor/assets/javascripts/languages/prism-ada.js +22 -0
- 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 +65 -0
- data/vendor/assets/javascripts/languages/prism-apacheconf.js +47 -0
- data/vendor/assets/javascripts/languages/prism-apex.js +65 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-apl.js +7 -4
- data/vendor/assets/javascripts/languages/prism-applescript.js +17 -0
- data/vendor/assets/javascripts/languages/prism-aql.js +49 -0
- data/vendor/assets/javascripts/languages/prism-arduino.js +7 -0
- data/vendor/assets/javascripts/languages/prism-arff.js +10 -0
- data/vendor/assets/javascripts/languages/prism-armasm.js +49 -0
- data/vendor/assets/javascripts/languages/prism-arturo.js +105 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-asciidoc.js +36 -73
- data/vendor/assets/javascripts/languages/prism-asm6502.js +29 -0
- data/vendor/assets/javascripts/languages/prism-asmatmel.js +43 -0
- data/vendor/assets/javascripts/languages/prism-aspnet.js +48 -0
- data/vendor/assets/javascripts/languages/prism-autohotkey.js +44 -0
- data/vendor/assets/javascripts/languages/prism-autoit.js +34 -0
- 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 +235 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-basic.js +7 -4
- data/vendor/assets/javascripts/{prism → languages}/prism-batch.js +10 -10
- data/vendor/assets/javascripts/languages/prism-bbcode.js +29 -0
- 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/{prism → languages}/prism-bison.js +2 -2
- data/vendor/assets/javascripts/languages/prism-bnf.js +21 -0
- data/vendor/assets/javascripts/languages/prism-bqn.js +63 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-brainfuck.js +1 -1
- data/vendor/assets/javascripts/languages/prism-brightscript.js +44 -0
- data/vendor/assets/javascripts/languages/prism-bro.js +37 -0
- data/vendor/assets/javascripts/languages/prism-bsl.js +75 -0
- data/vendor/assets/javascripts/languages/prism-c.js +80 -0
- 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 +27 -0
- 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 +31 -0
- data/vendor/assets/javascripts/languages/prism-clojure.js +31 -0
- data/vendor/assets/javascripts/languages/prism-cmake.js +29 -0
- data/vendor/assets/javascripts/languages/prism-cobol.js +53 -0
- data/vendor/assets/javascripts/languages/prism-coffeescript.js +96 -0
- data/vendor/assets/javascripts/languages/prism-concurnas.js +61 -0
- 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 +1263 -0
- data/vendor/assets/javascripts/languages/prism-cpp.js +99 -0
- data/vendor/assets/javascripts/languages/prism-crystal.js +57 -0
- data/vendor/assets/javascripts/languages/prism-csharp.js +366 -0
- data/vendor/assets/javascripts/languages/prism-cshtml.js +199 -0
- data/vendor/assets/javascripts/languages/prism-csp.js +76 -0
- data/vendor/assets/javascripts/languages/prism-css-extras.js +120 -0
- data/vendor/assets/javascripts/languages/prism-css.js +64 -0
- 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 +84 -0
- data/vendor/assets/javascripts/languages/prism-dart.js +79 -0
- 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 +64 -0
- data/vendor/assets/javascripts/languages/prism-django.js +60 -0
- data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +33 -0
- data/vendor/assets/javascripts/languages/prism-docker.js +98 -0
- data/vendor/assets/javascripts/languages/prism-dot.js +76 -0
- data/vendor/assets/javascripts/languages/prism-ebnf.js +22 -0
- data/vendor/assets/javascripts/languages/prism-editorconfig.js +26 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-eiffel.js +19 -9
- data/vendor/assets/javascripts/languages/prism-ejs.js +26 -0
- data/vendor/assets/javascripts/languages/prism-elixir.js +98 -0
- data/vendor/assets/javascripts/languages/prism-elm.js +45 -0
- data/vendor/assets/javascripts/languages/prism-erb.js +25 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-erlang.js +12 -9
- data/vendor/assets/javascripts/languages/prism-etlua.js +23 -0
- data/vendor/assets/javascripts/languages/prism-excel-formula.js +66 -0
- data/vendor/assets/javascripts/languages/prism-factor.js +403 -0
- data/vendor/assets/javascripts/languages/prism-false.js +32 -0
- data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +35 -0
- data/vendor/assets/javascripts/languages/prism-flow.js +35 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-fortran.js +11 -8
- data/vendor/assets/javascripts/languages/prism-fsharp.js +75 -0
- data/vendor/assets/javascripts/languages/prism-ftl.js +98 -0
- data/vendor/assets/javascripts/languages/prism-gap.js +54 -0
- data/vendor/assets/javascripts/languages/prism-gcode.js +16 -0
- data/vendor/assets/javascripts/languages/prism-gdscript.js +27 -0
- data/vendor/assets/javascripts/languages/prism-gedcom.js +28 -0
- data/vendor/assets/javascripts/languages/prism-gettext.js +43 -0
- data/vendor/assets/javascripts/languages/prism-gherkin.js +85 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-git.js +3 -3
- data/vendor/assets/javascripts/languages/prism-glsl.js +3 -0
- data/vendor/assets/javascripts/languages/prism-gml.js +7 -0
- 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 +28 -0
- data/vendor/assets/javascripts/languages/prism-gradle.js +63 -0
- data/vendor/assets/javascripts/languages/prism-graphql.js +211 -0
- data/vendor/assets/javascripts/languages/prism-groovy.js +65 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-haml.js +32 -37
- data/vendor/assets/javascripts/languages/prism-handlebars.js +40 -0
- data/vendor/assets/javascripts/languages/prism-haskell.js +66 -0
- data/vendor/assets/javascripts/languages/prism-haxe.js +78 -0
- data/vendor/assets/javascripts/languages/prism-hcl.js +63 -0
- 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 +14 -0
- data/vendor/assets/javascripts/languages/prism-hsts.js +14 -0
- data/vendor/assets/javascripts/languages/prism-http.js +151 -0
- data/vendor/assets/javascripts/languages/prism-ichigojam.js +15 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-icon.js +6 -3
- 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/{prism → languages}/prism-inform7.js +14 -11
- data/vendor/assets/javascripts/languages/prism-ini.js +42 -0
- data/vendor/assets/javascripts/languages/prism-io.js +22 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-j.js +12 -6
- data/vendor/assets/javascripts/languages/prism-java.js +124 -0
- data/vendor/assets/javascripts/languages/prism-javadoc.js +82 -0
- data/vendor/assets/javascripts/languages/prism-javadoclike.js +87 -0
- data/vendor/assets/javascripts/languages/prism-javascript.js +172 -0
- data/vendor/assets/javascripts/languages/prism-javastacktrace.js +142 -0
- data/vendor/assets/javascripts/languages/prism-jexl.js +14 -0
- data/vendor/assets/javascripts/languages/prism-jolie.js +41 -0
- data/vendor/assets/javascripts/languages/prism-jq.js +69 -0
- data/vendor/assets/javascripts/languages/prism-js-extras.js +135 -0
- data/vendor/assets/javascripts/languages/prism-js-templates.js +349 -0
- data/vendor/assets/javascripts/languages/prism-jsdoc.js +78 -0
- data/vendor/assets/javascripts/languages/prism-json.js +27 -0
- data/vendor/assets/javascripts/languages/prism-json5.js +23 -0
- data/vendor/assets/javascripts/languages/prism-jsonp.js +7 -0
- data/vendor/assets/javascripts/languages/prism-jsstacktrace.js +49 -0
- data/vendor/assets/javascripts/languages/prism-jsx.js +145 -0
- data/vendor/assets/javascripts/languages/prism-julia.js +35 -0
- data/vendor/assets/javascripts/languages/prism-keepalived.js +51 -0
- data/vendor/assets/javascripts/languages/prism-keyman.js +44 -0
- data/vendor/assets/javascripts/languages/prism-kotlin.js +88 -0
- 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 +64 -0
- data/vendor/assets/javascripts/languages/prism-latte.js +63 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-less.js +6 -12
- data/vendor/assets/javascripts/languages/prism-lilypond.js +69 -0
- data/vendor/assets/javascripts/languages/prism-linker-script.js +30 -0
- data/vendor/assets/javascripts/languages/prism-liquid.js +66 -0
- data/vendor/assets/javascripts/languages/prism-lisp.js +197 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-livescript.js +20 -19
- 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 +55 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-lua.js +3 -3
- data/vendor/assets/javascripts/languages/prism-magma.js +35 -0
- data/vendor/assets/javascripts/languages/prism-makefile.js +34 -0
- data/vendor/assets/javascripts/languages/prism-markdown.js +415 -0
- data/vendor/assets/javascripts/languages/prism-markup-templating.js +124 -0
- data/vendor/assets/javascripts/languages/prism-markup.js +186 -0
- data/vendor/assets/javascripts/languages/prism-mata.js +50 -0
- data/vendor/assets/javascripts/languages/prism-matlab.js +16 -0
- data/vendor/assets/javascripts/languages/prism-maxscript.js +91 -0
- data/vendor/assets/javascripts/languages/prism-mel.js +46 -0
- data/vendor/assets/javascripts/languages/prism-mermaid.js +113 -0
- data/vendor/assets/javascripts/languages/prism-metafont.js +84 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-mizar.js +3 -3
- data/vendor/assets/javascripts/languages/prism-mongodb.js +97 -0
- data/vendor/assets/javascripts/languages/prism-monkey.js +29 -0
- data/vendor/assets/javascripts/languages/prism-moonscript.js +57 -0
- data/vendor/assets/javascripts/languages/prism-n1ql.js +24 -0
- data/vendor/assets/javascripts/languages/prism-n4js.js +14 -0
- data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +9 -0
- data/vendor/assets/javascripts/languages/prism-naniscript.js +170 -0
- data/vendor/assets/javascripts/languages/prism-nasm.js +24 -0
- data/vendor/assets/javascripts/languages/prism-neon.js +40 -0
- data/vendor/assets/javascripts/languages/prism-nevod.js +125 -0
- data/vendor/assets/javascripts/languages/prism-nginx.js +54 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-nim.js +26 -12
- data/vendor/assets/javascripts/{prism → languages}/prism-nix.js +11 -13
- data/vendor/assets/javascripts/languages/prism-nsis.js +30 -0
- data/vendor/assets/javascripts/languages/prism-objectivec.js +12 -0
- data/vendor/assets/javascripts/languages/prism-ocaml.js +58 -0
- data/vendor/assets/javascripts/languages/prism-odin.js +99 -0
- data/vendor/assets/javascripts/languages/prism-opencl.js +61 -0
- data/vendor/assets/javascripts/languages/prism-openqasm.js +23 -0
- data/vendor/assets/javascripts/languages/prism-oz.js +28 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-parigp.js +8 -5
- data/vendor/assets/javascripts/languages/prism-parser.js +73 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-pascal.js +31 -10
- data/vendor/assets/javascripts/languages/prism-pascaligo.js +62 -0
- data/vendor/assets/javascripts/languages/prism-pcaxis.js +53 -0
- data/vendor/assets/javascripts/languages/prism-peoplecode.js +42 -0
- data/vendor/assets/javascripts/languages/prism-perl.js +156 -0
- data/vendor/assets/javascripts/languages/prism-php-extras.js +14 -0
- data/vendor/assets/javascripts/languages/prism-php.js +342 -0
- data/vendor/assets/javascripts/languages/prism-phpdoc.js +27 -0
- data/vendor/assets/javascripts/languages/prism-plant-uml.js +103 -0
- data/vendor/assets/javascripts/languages/prism-plsql.js +17 -0
- data/vendor/assets/javascripts/languages/prism-powerquery.js +55 -0
- data/vendor/assets/javascripts/languages/prism-powershell.js +58 -0
- data/vendor/assets/javascripts/languages/prism-processing.js +15 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-prolog.js +10 -8
- data/vendor/assets/javascripts/languages/prism-promql.js +99 -0
- data/vendor/assets/javascripts/languages/prism-properties.js +13 -0
- data/vendor/assets/javascripts/languages/prism-protobuf.js +43 -0
- data/vendor/assets/javascripts/languages/prism-psl.js +35 -0
- data/vendor/assets/javascripts/languages/prism-pug.js +188 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-puppet.js +13 -8
- data/vendor/assets/javascripts/{prism → languages}/prism-pure.js +27 -22
- 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 +65 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-q.js +16 -9
- data/vendor/assets/javascripts/languages/prism-qml.js +61 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-qore.js +12 -9
- data/vendor/assets/javascripts/languages/prism-qsharp.js +132 -0
- data/vendor/assets/javascripts/languages/prism-r.js +22 -0
- data/vendor/assets/javascripts/languages/prism-racket.js +18 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-reason.js +8 -15
- data/vendor/assets/javascripts/languages/prism-regex.js +104 -0
- data/vendor/assets/javascripts/languages/prism-rego.js +30 -0
- data/vendor/assets/javascripts/languages/prism-renpy.js +29 -0
- data/vendor/assets/javascripts/languages/prism-rescript.js +60 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-rest.js +18 -18
- data/vendor/assets/javascripts/languages/prism-rip.js +38 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-roboconf.js +3 -3
- data/vendor/assets/javascripts/languages/prism-robotframework.js +104 -0
- data/vendor/assets/javascripts/languages/prism-ruby.js +189 -0
- data/vendor/assets/javascripts/languages/prism-rust.js +128 -0
- data/vendor/assets/javascripts/languages/prism-sas.js +326 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-sass.js +16 -12
- data/vendor/assets/javascripts/languages/prism-scala.js +50 -0
- data/vendor/assets/javascripts/languages/prism-scheme.js +120 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-scss.js +27 -21
- data/vendor/assets/javascripts/languages/prism-shell-session.js +70 -0
- data/vendor/assets/javascripts/languages/prism-smali.js +87 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-smalltalk.js +17 -10
- data/vendor/assets/javascripts/languages/prism-smarty.js +131 -0
- data/vendor/assets/javascripts/languages/prism-sml.js +68 -0
- data/vendor/assets/javascripts/languages/prism-solidity.js +22 -0
- data/vendor/assets/javascripts/languages/prism-solution-file.js +51 -0
- data/vendor/assets/javascripts/languages/prism-soy.js +96 -0
- data/vendor/assets/javascripts/languages/prism-sparql.js +18 -0
- data/vendor/assets/javascripts/languages/prism-splunk-spl.js +24 -0
- data/vendor/assets/javascripts/languages/prism-sqf.js +34 -0
- data/vendor/assets/javascripts/languages/prism-sql.js +32 -0
- 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 +143 -0
- data/vendor/assets/javascripts/languages/prism-supercollider.js +36 -0
- data/vendor/assets/javascripts/languages/prism-swift.js +148 -0
- data/vendor/assets/javascripts/languages/prism-systemd.js +74 -0
- data/vendor/assets/javascripts/languages/prism-t4-cs.js +1 -0
- data/vendor/assets/javascripts/languages/prism-t4-templating.js +49 -0
- data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -0
- data/vendor/assets/javascripts/languages/prism-tap.js +22 -0
- data/vendor/assets/javascripts/languages/prism-tcl.js +46 -0
- data/vendor/assets/javascripts/languages/prism-textile.js +286 -0
- data/vendor/assets/javascripts/languages/prism-toml.js +49 -0
- data/vendor/assets/javascripts/languages/prism-tremor.js +72 -0
- data/vendor/assets/javascripts/languages/prism-tsx.js +15 -0
- data/vendor/assets/javascripts/languages/prism-tt2.js +53 -0
- data/vendor/assets/javascripts/languages/prism-turtle.js +54 -0
- data/vendor/assets/javascripts/languages/prism-twig.js +44 -0
- data/vendor/assets/javascripts/languages/prism-typescript.js +60 -0
- 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 +84 -0
- data/vendor/assets/javascripts/languages/prism-vbnet.js +22 -0
- data/vendor/assets/javascripts/languages/prism-velocity.js +72 -0
- data/vendor/assets/javascripts/languages/prism-verilog.js +26 -0
- data/vendor/assets/javascripts/languages/prism-vhdl.js +26 -0
- data/vendor/assets/javascripts/languages/prism-vim.js +10 -0
- data/vendor/assets/javascripts/languages/prism-visual-basic.js +29 -0
- data/vendor/assets/javascripts/languages/prism-warpscript.js +21 -0
- data/vendor/assets/javascripts/languages/prism-wasm.js +31 -0
- 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/{prism → languages}/prism-wiki.js +9 -8
- 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 +114 -0
- data/vendor/assets/javascripts/languages/prism-xml-doc.js +40 -0
- data/vendor/assets/javascripts/languages/prism-xojo.js +21 -0
- data/vendor/assets/javascripts/languages/prism-xquery.js +162 -0
- data/vendor/assets/javascripts/languages/prism-yaml.js +83 -0
- data/vendor/assets/javascripts/languages/prism-yang.js +20 -0
- data/vendor/assets/javascripts/languages/prism-zig.js +101 -0
- data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +63 -63
- data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +465 -122
- data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +221 -63
- data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +128 -43
- data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +105 -24
- data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +4 -8
- data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +90 -0
- data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +20 -0
- data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +179 -61
- data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +127 -0
- data/vendor/assets/javascripts/prism-plugin/prism-highlight-keywords.js +10 -13
- data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +105 -0
- data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +264 -112
- data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +53 -24
- data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +328 -115
- data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +237 -42
- data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +190 -0
- data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +206 -149
- data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +712 -0
- data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +17 -17
- data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +83 -19
- data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +317 -20
- data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +61 -15
- data/vendor/assets/javascripts/prism-plugin/prism-treeview.js +70 -0
- data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +39 -17
- data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +132 -147
- data/vendor/assets/javascripts/prism.js +302 -127
- 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.css +13 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +33 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +26 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +4 -4
- data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.css +29 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +243 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-previewers.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.css +7 -6
- data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +22 -15
- 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.css +4 -4
- 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-a11y-dark.css +161 -0
- data/vendor/assets/stylesheets/{prism-atom-dark.css → prism-theme/prism-atom-dark.css} +10 -13
- data/vendor/assets/stylesheets/prism-theme/prism-autolinker.css +3 -0
- data/vendor/assets/stylesheets/{prism-base16-ateliersulphurpool.light.css → prism-theme/prism-base16-ateliersulphurpool.light.css} +60 -56
- data/vendor/assets/stylesheets/{prism-cb.css → prism-theme/prism-cb.css} +20 -50
- 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-command-line.css +33 -0
- data/vendor/assets/stylesheets/prism-theme/prism-coy-without-shadows.css +140 -0
- data/vendor/assets/stylesheets/{prism-coy.css → prism-theme/prism-coy.css} +17 -19
- data/vendor/assets/stylesheets/prism-theme/prism-coy.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-darcula.css +159 -0
- data/vendor/assets/stylesheets/{prism-dark.css → prism-theme/prism-dark.css} +2 -1
- data/vendor/assets/stylesheets/prism-theme/prism-dark.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-dracula.css +122 -0
- data/vendor/assets/stylesheets/{prism-duotone-dark.css → prism-theme/prism-duotone-dark.css} +58 -54
- data/vendor/assets/stylesheets/{prism-duotone-earth.css → prism-theme/prism-duotone-earth.css} +58 -54
- data/vendor/assets/stylesheets/{prism-duotone-forest.css → prism-theme/prism-duotone-forest.css} +58 -54
- data/vendor/assets/stylesheets/{prism-duotone-light.css → prism-theme/prism-duotone-light.css} +58 -54
- data/vendor/assets/stylesheets/{prism-duotone-sea.css → prism-theme/prism-duotone-sea.css} +58 -54
- data/vendor/assets/stylesheets/{prism-duotone-space.css → prism-theme/prism-duotone-space.css} +58 -54
- data/vendor/assets/stylesheets/{prism-funky.css → prism-theme/prism-funky.css} +16 -2
- data/vendor/assets/stylesheets/prism-theme/prism-funky.min.css +1 -0
- data/vendor/assets/stylesheets/{prism-ghcolors.css → prism-theme/prism-ghcolors.css} +47 -44
- 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-hopscotch.css +132 -0
- data/vendor/assets/stylesheets/prism-theme/prism-laserwave.css +133 -0
- data/vendor/assets/stylesheets/prism-theme/prism-line-highlight.css +49 -0
- data/vendor/assets/stylesheets/prism-theme/prism-line-numbers.css +41 -0
- data/vendor/assets/stylesheets/prism-theme/prism-lucario.css +122 -0
- data/vendor/assets/stylesheets/prism-theme/prism-material-dark.css +205 -0
- data/vendor/assets/stylesheets/prism-theme/prism-material-light.css +207 -0
- data/vendor/assets/stylesheets/prism-theme/prism-material-oceanic.css +210 -0
- data/vendor/assets/stylesheets/prism-theme/prism-night-owl.css +158 -0
- data/vendor/assets/stylesheets/prism-theme/prism-nord.css +124 -0
- data/vendor/assets/stylesheets/{prism-okaidia.css → prism-theme/prism-okaidia.css} +5 -3
- 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-pojoaque.css +151 -0
- data/vendor/assets/stylesheets/prism-theme/prism-previewers.css +242 -0
- data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +196 -0
- data/vendor/assets/stylesheets/prism-theme/prism-show-invisibles.css +34 -0
- data/vendor/assets/stylesheets/prism-theme/prism-solarized-dark-atom.css +143 -0
- data/vendor/assets/stylesheets/{prism-solarizedlight.css → prism-theme/prism-solarizedlight.css} +5 -3
- data/vendor/assets/stylesheets/prism-theme/prism-solarizedlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-synthwave84.css +140 -0
- data/vendor/assets/stylesheets/{prism-tomorrow.css → prism-theme/prism-tomorrow.css} +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-tomorrow.min.css +1 -0
- data/vendor/assets/stylesheets/{prism-toolbar.css → prism-theme/prism-toolbar.css} +15 -15
- data/vendor/assets/stylesheets/{prism-twilight.css → prism-theme/prism-twilight.css} +5 -34
- data/vendor/assets/stylesheets/prism-theme/prism-twilight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-unescaped-markup.css +10 -0
- data/vendor/assets/stylesheets/prism-theme/prism-vs.css +168 -0
- data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +275 -0
- data/vendor/assets/stylesheets/prism-theme/prism-wpd.css +11 -0
- data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +162 -0
- data/vendor/assets/stylesheets/prism-theme/prism-z-touch.css +160 -0
- data/vendor/assets/stylesheets/prism.css +6 -3
- metadata +392 -151
- data/vendor/assets/javascripts/prism/prism-abap.js +0 -48
- data/vendor/assets/javascripts/prism/prism-actionscript.js +0 -17
- data/vendor/assets/javascripts/prism/prism-ada.js +0 -19
- data/vendor/assets/javascripts/prism/prism-apacheconf.js +0 -47
- data/vendor/assets/javascripts/prism/prism-applescript.js +0 -20
- data/vendor/assets/javascripts/prism/prism-aspnet.js +0 -36
- data/vendor/assets/javascripts/prism/prism-autohotkey.js +0 -27
- data/vendor/assets/javascripts/prism/prism-autoit.js +0 -33
- data/vendor/assets/javascripts/prism/prism-bash.js +0 -80
- data/vendor/assets/javascripts/prism/prism-bro.js +0 -50
- data/vendor/assets/javascripts/prism/prism-c.js +0 -33
- data/vendor/assets/javascripts/prism/prism-clike.js +0 -29
- data/vendor/assets/javascripts/prism/prism-coffeescript.js +0 -91
- data/vendor/assets/javascripts/prism/prism-core.js +0 -511
- data/vendor/assets/javascripts/prism/prism-cpp.js +0 -12
- data/vendor/assets/javascripts/prism/prism-crystal.js +0 -53
- data/vendor/assets/javascripts/prism/prism-csharp.js +0 -32
- data/vendor/assets/javascripts/prism/prism-css-extras.js +0 -16
- data/vendor/assets/javascripts/prism/prism-css.js +0 -51
- data/vendor/assets/javascripts/prism/prism-d.js +0 -64
- data/vendor/assets/javascripts/prism/prism-dart.js +0 -18
- data/vendor/assets/javascripts/prism/prism-diff.js +0 -20
- data/vendor/assets/javascripts/prism/prism-docker.js +0 -9
- data/vendor/assets/javascripts/prism/prism-elixir.js +0 -90
- data/vendor/assets/javascripts/prism/prism-fsharp.js +0 -33
- data/vendor/assets/javascripts/prism/prism-gherkin.js +0 -78
- data/vendor/assets/javascripts/prism/prism-glsl.js +0 -16
- data/vendor/assets/javascripts/prism/prism-go.js +0 -9
- data/vendor/assets/javascripts/prism/prism-graphql.js +0 -24
- data/vendor/assets/javascripts/prism/prism-groovy.js +0 -65
- data/vendor/assets/javascripts/prism/prism-handlebars.js +0 -83
- data/vendor/assets/javascripts/prism/prism-haskell.js +0 -35
- data/vendor/assets/javascripts/prism/prism-haxe.js +0 -43
- data/vendor/assets/javascripts/prism/prism-http.js +0 -50
- data/vendor/assets/javascripts/prism/prism-ini.js +0 -11
- data/vendor/assets/javascripts/prism/prism-java.js +0 -16
- data/vendor/assets/javascripts/prism/prism-javascript.js +0 -48
- data/vendor/assets/javascripts/prism/prism-jolie.js +0 -56
- data/vendor/assets/javascripts/prism/prism-json.js +0 -11
- data/vendor/assets/javascripts/prism/prism-jsx.js +0 -27
- data/vendor/assets/javascripts/prism/prism-julia.js +0 -12
- data/vendor/assets/javascripts/prism/prism-keyman.js +0 -14
- data/vendor/assets/javascripts/prism/prism-kotlin.js +0 -62
- data/vendor/assets/javascripts/prism/prism-latex.js +0 -61
- data/vendor/assets/javascripts/prism/prism-lolcode.js +0 -54
- data/vendor/assets/javascripts/prism/prism-makefile.js +0 -31
- data/vendor/assets/javascripts/prism/prism-markdown.js +0 -120
- data/vendor/assets/javascripts/prism/prism-markup.js +0 -46
- data/vendor/assets/javascripts/prism/prism-matlab.js +0 -14
- data/vendor/assets/javascripts/prism/prism-mel.js +0 -39
- data/vendor/assets/javascripts/prism/prism-monkey.js +0 -25
- data/vendor/assets/javascripts/prism/prism-nasm.js +0 -24
- data/vendor/assets/javascripts/prism/prism-nginx.js +0 -11
- data/vendor/assets/javascripts/prism/prism-nsis.js +0 -26
- data/vendor/assets/javascripts/prism/prism-objectivec.js +0 -5
- data/vendor/assets/javascripts/prism/prism-ocaml.js +0 -21
- data/vendor/assets/javascripts/prism/prism-oz.js +0 -21
- data/vendor/assets/javascripts/prism/prism-parser.js +0 -66
- data/vendor/assets/javascripts/prism/prism-perl.js +0 -140
- data/vendor/assets/javascripts/prism/prism-php-extras.js +0 -11
- data/vendor/assets/javascripts/prism/prism-php.js +0 -111
- data/vendor/assets/javascripts/prism/prism-powershell.js +0 -52
- data/vendor/assets/javascripts/prism/prism-processing.js +0 -18
- data/vendor/assets/javascripts/prism/prism-properties.js +0 -9
- data/vendor/assets/javascripts/prism/prism-protobuf.js +0 -8
- data/vendor/assets/javascripts/prism/prism-python.js +0 -27
- data/vendor/assets/javascripts/prism/prism-r.js +0 -19
- data/vendor/assets/javascripts/prism/prism-rip.js +0 -28
- data/vendor/assets/javascripts/prism/prism-ruby.js +0 -116
- data/vendor/assets/javascripts/prism/prism-rust.js +0 -53
- data/vendor/assets/javascripts/prism/prism-sas.js +0 -31
- data/vendor/assets/javascripts/prism/prism-scala.js +0 -18
- data/vendor/assets/javascripts/prism/prism-scheme.js +0 -26
- data/vendor/assets/javascripts/prism/prism-smarty.js +0 -127
- data/vendor/assets/javascripts/prism/prism-sql.js +0 -17
- data/vendor/assets/javascripts/prism/prism-stylus.js +0 -102
- data/vendor/assets/javascripts/prism/prism-swift.js +0 -25
- data/vendor/assets/javascripts/prism/prism-tcl.js +0 -43
- data/vendor/assets/javascripts/prism/prism-textile.js +0 -257
- data/vendor/assets/javascripts/prism/prism-twig.js +0 -46
- data/vendor/assets/javascripts/prism/prism-typescript.js +0 -5
- data/vendor/assets/javascripts/prism/prism-verilog.js +0 -17
- data/vendor/assets/javascripts/prism/prism-vhdl.js +0 -23
- data/vendor/assets/javascripts/prism/prism-vim.js +0 -10
- data/vendor/assets/javascripts/prism/prism-xojo.js +0 -20
- data/vendor/assets/javascripts/prism/prism-yaml.js +0 -44
- data/vendor/assets/stylesheets/prism-hopscotch.css +0 -124
- data/vendor/assets/stylesheets/prism-pojoaque.css +0 -134
- data/vendor/assets/stylesheets/prism-vs.css +0 -157
- data/vendor/assets/stylesheets/prism-xonokai.css +0 -164
- /data/vendor/assets/javascripts/{prism → languages}/prism-jade.js +0 -0
- /data/vendor/assets/stylesheets/{prism-show-language.css → prism-theme/prism-show-language.css} +0 -0
@@ -0,0 +1,403 @@
|
|
1
|
+
(function (Prism) {
|
2
|
+
|
3
|
+
var comment_inside = {
|
4
|
+
'function': /\b(?:BUGS?|FIX(?:MES?)?|NOTES?|TODOS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/
|
5
|
+
};
|
6
|
+
var string_inside = {
|
7
|
+
'number': /\\[^\s']|%\w/
|
8
|
+
};
|
9
|
+
|
10
|
+
var factor = {
|
11
|
+
'comment': [
|
12
|
+
{
|
13
|
+
// ! single-line exclamation point comments with whitespace after/around the !
|
14
|
+
pattern: /(^|\s)(?:! .*|!$)/,
|
15
|
+
lookbehind: true,
|
16
|
+
inside: comment_inside
|
17
|
+
},
|
18
|
+
|
19
|
+
/* from basis/multiline: */
|
20
|
+
{
|
21
|
+
// /* comment */, /* comment*/
|
22
|
+
pattern: /(^|\s)\/\*\s[\s\S]*?\*\/(?=\s|$)/,
|
23
|
+
lookbehind: true,
|
24
|
+
greedy: true,
|
25
|
+
inside: comment_inside
|
26
|
+
},
|
27
|
+
{
|
28
|
+
// ![[ comment ]] , ![===[ comment]===]
|
29
|
+
pattern: /(^|\s)!\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,
|
30
|
+
lookbehind: true,
|
31
|
+
greedy: true,
|
32
|
+
inside: comment_inside
|
33
|
+
}
|
34
|
+
],
|
35
|
+
|
36
|
+
'number': [
|
37
|
+
{
|
38
|
+
// basic base 10 integers 9, -9
|
39
|
+
pattern: /(^|\s)[+-]?\d+(?=\s|$)/,
|
40
|
+
lookbehind: true
|
41
|
+
},
|
42
|
+
{
|
43
|
+
// base prefix integers 0b010 0o70 0xad 0d10 0XAD -0xa9
|
44
|
+
pattern: /(^|\s)[+-]?0(?:b[01]+|o[0-7]+|d\d+|x[\dA-F]+)(?=\s|$)/i,
|
45
|
+
lookbehind: true
|
46
|
+
},
|
47
|
+
{
|
48
|
+
// fractional ratios 1/5 -1/5 and the literal float approximations 1/5. -1/5.
|
49
|
+
pattern: /(^|\s)[+-]?\d+\/\d+\.?(?=\s|$)/,
|
50
|
+
lookbehind: true
|
51
|
+
},
|
52
|
+
{
|
53
|
+
// positive mixed numbers 23+1/5 +23+1/5
|
54
|
+
pattern: /(^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/,
|
55
|
+
lookbehind: true
|
56
|
+
},
|
57
|
+
{
|
58
|
+
// negative mixed numbers -23-1/5
|
59
|
+
pattern: /(^|\s)-\d+-\d+\/\d+(?=\s|$)/,
|
60
|
+
lookbehind: true
|
61
|
+
},
|
62
|
+
{
|
63
|
+
// basic decimal floats -0.01 0. .0 .1 -.1 -1. -12.13 +12.13
|
64
|
+
// and scientific notation with base 10 exponents 3e4 3e-4 .3e-4
|
65
|
+
pattern: /(^|\s)[+-]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:e[+-]?\d+)?(?=\s|$)/i,
|
66
|
+
lookbehind: true
|
67
|
+
},
|
68
|
+
{
|
69
|
+
// NAN literal syntax NAN: 80000deadbeef, NAN: a
|
70
|
+
pattern: /(^|\s)NAN:\s+[\da-fA-F]+(?=\s|$)/,
|
71
|
+
lookbehind: true
|
72
|
+
},
|
73
|
+
{
|
74
|
+
/*
|
75
|
+
base prefix floats 0x1.0p3 (8.0) 0b1.010p2 (5.0) 0x1.p1 0b1.11111111p11111...
|
76
|
+
"The normalized hex form ±0x1.MMMMMMMMMMMMM[pP]±EEEE allows any floating-point number to be specified precisely.
|
77
|
+
The values of MMMMMMMMMMMMM and EEEE map directly to the mantissa and exponent fields of the binary IEEE 754 representation."
|
78
|
+
<https://docs.factorcode.org/content/article-syntax-floats.html>
|
79
|
+
*/
|
80
|
+
pattern: /(^|\s)[+-]?0(?:b1\.[01]*|o1\.[0-7]*|d1\.\d*|x1\.[\dA-F]*)p\d+(?=\s|$)/i,
|
81
|
+
lookbehind: true
|
82
|
+
}
|
83
|
+
],
|
84
|
+
|
85
|
+
// R/ regexp?\/\\/
|
86
|
+
'regexp': {
|
87
|
+
pattern: /(^|\s)R\/\s(?:\\\S|[^\\/])*\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\s|$)/,
|
88
|
+
lookbehind: true,
|
89
|
+
alias: 'number',
|
90
|
+
inside: {
|
91
|
+
'variable': /\\\S/,
|
92
|
+
'keyword': /[+?*\[\]^$(){}.|]/,
|
93
|
+
'operator': {
|
94
|
+
pattern: /(\/)[idmsr]+(?:-[idmsr]+)?/,
|
95
|
+
lookbehind: true
|
96
|
+
}
|
97
|
+
}
|
98
|
+
},
|
99
|
+
|
100
|
+
'boolean': {
|
101
|
+
pattern: /(^|\s)[tf](?=\s|$)/,
|
102
|
+
lookbehind: true
|
103
|
+
},
|
104
|
+
|
105
|
+
// SBUF" asd", URL" ://...", P" /etc/"
|
106
|
+
'custom-string': {
|
107
|
+
pattern: /(^|\s)[A-Z0-9\-]+"\s(?:\\\S|[^"\\])*"/,
|
108
|
+
lookbehind: true,
|
109
|
+
greedy: true,
|
110
|
+
alias: 'string',
|
111
|
+
inside: {
|
112
|
+
'number': /\\\S|%\w|\//
|
113
|
+
}
|
114
|
+
},
|
115
|
+
|
116
|
+
'multiline-string': [
|
117
|
+
{
|
118
|
+
// STRING: name \n content \n ; -> CONSTANT: name "content" (symbol)
|
119
|
+
pattern: /(^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/,
|
120
|
+
lookbehind: true,
|
121
|
+
greedy: true,
|
122
|
+
alias: 'string',
|
123
|
+
inside: {
|
124
|
+
'number': string_inside.number,
|
125
|
+
// trailing semicolon on its own line
|
126
|
+
'semicolon-or-setlocal': {
|
127
|
+
pattern: /([\r\n][ \t]*);(?=\s|$)/,
|
128
|
+
lookbehind: true,
|
129
|
+
alias: 'function'
|
130
|
+
}
|
131
|
+
}
|
132
|
+
},
|
133
|
+
{
|
134
|
+
// HEREDOC: marker \n content \n marker ; -> "content" (immediate)
|
135
|
+
pattern: /(^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/,
|
136
|
+
lookbehind: true,
|
137
|
+
greedy: true,
|
138
|
+
alias: 'string',
|
139
|
+
inside: string_inside
|
140
|
+
},
|
141
|
+
{
|
142
|
+
// [[ string ]], [==[ string]==]
|
143
|
+
pattern: /(^|\s)\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,
|
144
|
+
lookbehind: true,
|
145
|
+
greedy: true,
|
146
|
+
alias: 'string',
|
147
|
+
inside: string_inside
|
148
|
+
}
|
149
|
+
],
|
150
|
+
|
151
|
+
'special-using': {
|
152
|
+
pattern: /(^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/,
|
153
|
+
lookbehind: true,
|
154
|
+
alias: 'function',
|
155
|
+
inside: {
|
156
|
+
// this is essentially a regex for vocab names, which i don't want to specify
|
157
|
+
// but the USING: gets picked up as a vocab name
|
158
|
+
'string': {
|
159
|
+
pattern: /(\s)[^:\s]+/,
|
160
|
+
lookbehind: true
|
161
|
+
}
|
162
|
+
}
|
163
|
+
},
|
164
|
+
|
165
|
+
/* this description of stack effect literal syntax is not complete and not as specific as theoretically possible
|
166
|
+
trying to do better is more work and regex-computation-time than it's worth though.
|
167
|
+
- we'd like to have the "delimiter" parts of the stack effect [ (, --, and ) ] be a different (less-important or comment-like) colour to the stack effect contents
|
168
|
+
- we'd like if nested stack effects were treated as such rather than just appearing flat (with `inside`)
|
169
|
+
- we'd like if the following variable name conventions were recognised specifically:
|
170
|
+
special row variables = ..a b..
|
171
|
+
type and stack effect annotations end with a colon = ( quot: ( a: ( -- ) -- b ) -- x ), ( x: number -- )
|
172
|
+
word throws unconditional error = *
|
173
|
+
any other word-like variable name = a ? q' etc
|
174
|
+
|
175
|
+
https://docs.factorcode.org/content/article-effects.html
|
176
|
+
|
177
|
+
these are pretty complicated to highlight properly without a real parser, and therefore out of scope
|
178
|
+
the old pattern, which may be later useful, was: (^|\s)(?:call|execute|eval)?\((?:\s+[^"\r\n\t ]\S*)*?\s+--(?:\s+[^"\n\t ]\S*)*?\s+\)(?=\s|$)
|
179
|
+
*/
|
180
|
+
|
181
|
+
// current solution is not great
|
182
|
+
'stack-effect-delimiter': [
|
183
|
+
{
|
184
|
+
// opening parenthesis
|
185
|
+
pattern: /(^|\s)(?:call|eval|execute)?\((?=\s)/,
|
186
|
+
lookbehind: true,
|
187
|
+
alias: 'operator'
|
188
|
+
},
|
189
|
+
{
|
190
|
+
// middle --
|
191
|
+
pattern: /(\s)--(?=\s)/,
|
192
|
+
lookbehind: true,
|
193
|
+
alias: 'operator'
|
194
|
+
},
|
195
|
+
{
|
196
|
+
// closing parenthesis
|
197
|
+
pattern: /(\s)\)(?=\s|$)/,
|
198
|
+
lookbehind: true,
|
199
|
+
alias: 'operator'
|
200
|
+
}
|
201
|
+
],
|
202
|
+
|
203
|
+
'combinators': {
|
204
|
+
pattern: null,
|
205
|
+
lookbehind: true,
|
206
|
+
alias: 'keyword'
|
207
|
+
},
|
208
|
+
|
209
|
+
'kernel-builtin': {
|
210
|
+
pattern: null,
|
211
|
+
lookbehind: true,
|
212
|
+
alias: 'variable'
|
213
|
+
},
|
214
|
+
|
215
|
+
'sequences-builtin': {
|
216
|
+
pattern: null,
|
217
|
+
lookbehind: true,
|
218
|
+
alias: 'variable'
|
219
|
+
},
|
220
|
+
|
221
|
+
'math-builtin': {
|
222
|
+
pattern: null,
|
223
|
+
lookbehind: true,
|
224
|
+
alias: 'variable'
|
225
|
+
},
|
226
|
+
|
227
|
+
'constructor-word': {
|
228
|
+
// <array> but not <=>
|
229
|
+
pattern: /(^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/,
|
230
|
+
lookbehind: true,
|
231
|
+
alias: 'keyword'
|
232
|
+
},
|
233
|
+
|
234
|
+
'other-builtin-syntax': {
|
235
|
+
pattern: null,
|
236
|
+
lookbehind: true,
|
237
|
+
alias: 'operator'
|
238
|
+
},
|
239
|
+
|
240
|
+
/*
|
241
|
+
full list of supported word naming conventions: (the convention appears outside of the [brackets])
|
242
|
+
set-[x]
|
243
|
+
change-[x]
|
244
|
+
with-[x]
|
245
|
+
new-[x]
|
246
|
+
>[string]
|
247
|
+
[base]>
|
248
|
+
[string]>[number]
|
249
|
+
+[symbol]+
|
250
|
+
[boolean-word]?
|
251
|
+
?[of]
|
252
|
+
[slot-reader]>>
|
253
|
+
>>[slot-setter]
|
254
|
+
[slot-writer]<<
|
255
|
+
([implementation-detail])
|
256
|
+
[mutater]!
|
257
|
+
[variant]*
|
258
|
+
[prettyprint].
|
259
|
+
$[help-markup]
|
260
|
+
|
261
|
+
<constructors>, SYNTAX:, etc are supported by their own patterns.
|
262
|
+
|
263
|
+
`with` and `new` from `kernel` are their own builtins.
|
264
|
+
|
265
|
+
see <https://docs.factorcode.org/content/article-conventions.html>
|
266
|
+
*/
|
267
|
+
'conventionally-named-word': {
|
268
|
+
pattern: /(^|\s)(?!")(?:(?:change|new|set|with)-\S+|\$\S+|>[^>\s]+|[^:>\s]+>|[^>\s]+>[^>\s]+|\+[^+\s]+\+|[^?\s]+\?|\?[^?\s]+|[^>\s]+>>|>>[^>\s]+|[^<\s]+<<|\([^()\s]+\)|[^!\s]+!|[^*\s]\S*\*|[^.\s]\S*\.)(?=\s|$)/,
|
269
|
+
lookbehind: true,
|
270
|
+
alias: 'keyword'
|
271
|
+
},
|
272
|
+
|
273
|
+
'colon-syntax': {
|
274
|
+
pattern: /(^|\s)(?:[A-Z0-9\-]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/,
|
275
|
+
lookbehind: true,
|
276
|
+
greedy: true,
|
277
|
+
alias: 'function'
|
278
|
+
},
|
279
|
+
|
280
|
+
'semicolon-or-setlocal': {
|
281
|
+
pattern: /(\s)(?:;|:>)(?=\s|$)/,
|
282
|
+
lookbehind: true,
|
283
|
+
alias: 'function'
|
284
|
+
},
|
285
|
+
|
286
|
+
// do not highlight leading } or trailing X{ at the begin/end of the file as it's invalid syntax
|
287
|
+
'curly-brace-literal-delimiter': [
|
288
|
+
{
|
289
|
+
// opening
|
290
|
+
pattern: /(^|\s)[a-z]*\{(?=\s)/i,
|
291
|
+
lookbehind: true,
|
292
|
+
alias: 'operator'
|
293
|
+
},
|
294
|
+
{
|
295
|
+
// closing
|
296
|
+
pattern: /(\s)\}(?=\s|$)/,
|
297
|
+
lookbehind: true,
|
298
|
+
alias: 'operator'
|
299
|
+
},
|
300
|
+
|
301
|
+
],
|
302
|
+
|
303
|
+
// do not highlight leading ] or trailing [ at the begin/end of the file as it's invalid syntax
|
304
|
+
'quotation-delimiter': [
|
305
|
+
{
|
306
|
+
// opening
|
307
|
+
pattern: /(^|\s)\[(?=\s)/,
|
308
|
+
lookbehind: true,
|
309
|
+
alias: 'operator'
|
310
|
+
},
|
311
|
+
{
|
312
|
+
// closing
|
313
|
+
pattern: /(\s)\](?=\s|$)/,
|
314
|
+
lookbehind: true,
|
315
|
+
alias: 'operator'
|
316
|
+
},
|
317
|
+
],
|
318
|
+
|
319
|
+
'normal-word': {
|
320
|
+
pattern: /(^|\s)[^"\s]\S*(?=\s|$)/,
|
321
|
+
lookbehind: true
|
322
|
+
},
|
323
|
+
|
324
|
+
/*
|
325
|
+
basic first-class string "a"
|
326
|
+
with escaped double-quote "a\""
|
327
|
+
escaped backslash "\\"
|
328
|
+
and general escapes since Factor has so many "\N"
|
329
|
+
|
330
|
+
syntax that works in the reference implementation that isn't fully
|
331
|
+
supported because it's an implementation detail:
|
332
|
+
"string 1""string 2" -> 2 strings (works anyway)
|
333
|
+
"string"5 -> string, 5
|
334
|
+
"string"[ ] -> string, quotation
|
335
|
+
{ "a"} -> array<string>
|
336
|
+
|
337
|
+
the rest of those examples all properly recognise the string, but not
|
338
|
+
the other object (number, quotation, etc)
|
339
|
+
this is fine for a regex-only implementation.
|
340
|
+
*/
|
341
|
+
'string': {
|
342
|
+
pattern: /"(?:\\\S|[^"\\])*"/,
|
343
|
+
greedy: true,
|
344
|
+
inside: string_inside
|
345
|
+
}
|
346
|
+
};
|
347
|
+
|
348
|
+
var escape = function (str) {
|
349
|
+
return (str + '').replace(/([.?*+\^$\[\]\\(){}|\-])/g, '\\$1');
|
350
|
+
};
|
351
|
+
|
352
|
+
var arrToWordsRegExp = function (arr) {
|
353
|
+
return new RegExp(
|
354
|
+
'(^|\\s)(?:' + arr.map(escape).join('|') + ')(?=\\s|$)'
|
355
|
+
);
|
356
|
+
};
|
357
|
+
|
358
|
+
var builtins = {
|
359
|
+
'kernel-builtin': [
|
360
|
+
'or', '2nipd', '4drop', 'tuck', 'wrapper', 'nip', 'wrapper?', 'callstack>array', 'die', 'dupd', 'callstack', 'callstack?', '3dup', 'hashcode', 'pick', '4nip', 'build', '>boolean', 'nipd', 'clone', '5nip', 'eq?', '?', '=', 'swapd', '2over', 'clear', '2dup', 'get-retainstack', 'not', 'tuple?', 'dup', '3nipd', 'call', '-rotd', 'object', 'drop', 'assert=', 'assert?', '-rot', 'execute', 'boa', 'get-callstack', 'curried?', '3drop', 'pickd', 'overd', 'over', 'roll', '3nip', 'swap', 'and', '2nip', 'rotd', 'throw', '(clone)', 'hashcode*', 'spin', 'reach', '4dup', 'equal?', 'get-datastack', 'assert', '2drop', '<wrapper>', 'boolean?', 'identity-hashcode', 'identity-tuple?', 'null', 'composed?', 'new', '5drop', 'rot', '-roll', 'xor', 'identity-tuple', 'boolean'
|
361
|
+
],
|
362
|
+
'other-builtin-syntax': [
|
363
|
+
// syntax
|
364
|
+
'=======', 'recursive', 'flushable', '>>', '<<<<<<', 'M\\', 'B', 'PRIVATE>', '\\', '======', 'final', 'inline', 'delimiter', 'deprecated', '<PRIVATE', '>>>>>>', '<<<<<<<', 'parse-complex', 'malformed-complex', 'read-only', '>>>>>>>', 'call-next-method', '<<', 'foldable',
|
365
|
+
// literals
|
366
|
+
'$', '$[', '${'
|
367
|
+
],
|
368
|
+
'sequences-builtin': [
|
369
|
+
'member-eq?', 'mismatch', 'append', 'assert-sequence=', 'longer', 'repetition', 'clone-like', '3sequence', 'assert-sequence?', 'last-index-from', 'reversed', 'index-from', 'cut*', 'pad-tail', 'join-as', 'remove-eq!', 'concat-as', 'but-last', 'snip', 'nths', 'nth', 'sequence', 'longest', 'slice?', '<slice>', 'remove-nth', 'tail-slice', 'empty?', 'tail*', 'member?', 'virtual-sequence?', 'set-length', 'drop-prefix', 'iota', 'unclip', 'bounds-error?', 'unclip-last-slice', 'non-negative-integer-expected', 'non-negative-integer-expected?', 'midpoint@', 'longer?', '?set-nth', '?first', 'rest-slice', 'prepend-as', 'prepend', 'fourth', 'sift', 'subseq-start', 'new-sequence', '?last', 'like', 'first4', '1sequence', 'reverse', 'slice', 'virtual@', 'repetition?', 'set-last', 'index', '4sequence', 'max-length', 'set-second', 'immutable-sequence', 'first2', 'first3', 'supremum', 'unclip-slice', 'suffix!', 'insert-nth', 'tail', '3append', 'short', 'suffix', 'concat', 'flip', 'immutable?', 'reverse!', '2sequence', 'sum', 'delete-all', 'indices', 'snip-slice', '<iota>', 'check-slice', 'sequence?', 'head', 'append-as', 'halves', 'sequence=', 'collapse-slice', '?second', 'slice-error?', 'product', 'bounds-check?', 'bounds-check', 'immutable', 'virtual-exemplar', 'harvest', 'remove', 'pad-head', 'last', 'set-fourth', 'cartesian-product', 'remove-eq', 'shorten', 'shorter', 'reversed?', 'shorter?', 'shortest', 'head-slice', 'pop*', 'tail-slice*', 'but-last-slice', 'iota?', 'append!', 'cut-slice', 'new-resizable', 'head-slice*', 'sequence-hashcode', 'pop', 'set-nth', '?nth', 'second', 'join', 'immutable-sequence?', '<reversed>', '3append-as', 'virtual-sequence', 'subseq?', 'remove-nth!', 'length', 'last-index', 'lengthen', 'assert-sequence', 'copy', 'move', 'third', 'first', 'tail?', 'set-first', 'prefix', 'bounds-error', '<repetition>', 'exchange', 'surround', 'cut', 'min-length', 'set-third', 'push-all', 'head?', 'subseq-start-from', 'delete-slice', 'rest', 'sum-lengths', 'head*', 'infimum', 'remove!', 'glue', 'slice-error', 'subseq', 'push', 'replace-slice', 'subseq-as', 'unclip-last'
|
370
|
+
],
|
371
|
+
'math-builtin': [
|
372
|
+
'number=', 'next-power-of-2', '?1+', 'fp-special?', 'imaginary-part', 'float>bits', 'number?', 'fp-infinity?', 'bignum?', 'fp-snan?', 'denominator', 'gcd', '*', '+', 'fp-bitwise=', '-', 'u>=', '/', '>=', 'bitand', 'power-of-2?', 'log2-expects-positive', 'neg?', '<', 'log2', '>', 'integer?', 'number', 'bits>double', '2/', 'zero?', 'bits>float', 'float?', 'shift', 'ratio?', 'rect>', 'even?', 'ratio', 'fp-sign', 'bitnot', '>fixnum', 'complex?', '/i', 'integer>fixnum', '/f', 'sgn', '>bignum', 'next-float', 'u<', 'u>', 'mod', 'recip', 'rational', '>float', '2^', 'integer', 'fixnum?', 'neg', 'fixnum', 'sq', 'bignum', '>rect', 'bit?', 'fp-qnan?', 'simple-gcd', 'complex', '<fp-nan>', 'real', '>fraction', 'double>bits', 'bitor', 'rem', 'fp-nan-payload', 'real-part', 'log2-expects-positive?', 'prev-float', 'align', 'unordered?', 'float', 'fp-nan?', 'abs', 'bitxor', 'integer>fixnum-strict', 'u<=', 'odd?', '<=', '/mod', '>integer', 'real?', 'rational?', 'numerator'
|
373
|
+
]
|
374
|
+
// that's all for now
|
375
|
+
};
|
376
|
+
|
377
|
+
Object.keys(builtins).forEach(function (k) {
|
378
|
+
factor[k].pattern = arrToWordsRegExp(builtins[k]);
|
379
|
+
});
|
380
|
+
|
381
|
+
var combinators = [
|
382
|
+
// kernel
|
383
|
+
'2bi', 'while', '2tri', 'bi*', '4dip', 'both?', 'same?', 'tri@', 'curry', 'prepose', '3bi', '?if', 'tri*', '2keep', '3keep', 'curried', '2keepd', 'when', '2bi*', '2tri*', '4keep', 'bi@', 'keepdd', 'do', 'unless*', 'tri-curry', 'if*', 'loop', 'bi-curry*', 'when*', '2bi@', '2tri@', 'with', '2with', 'either?', 'bi', 'until', '3dip', '3curry', 'tri-curry*', 'tri-curry@', 'bi-curry', 'keepd', 'compose', '2dip', 'if', '3tri', 'unless', 'tuple', 'keep', '2curry', 'tri', 'most', 'while*', 'dip', 'composed', 'bi-curry@',
|
384
|
+
// sequences
|
385
|
+
'find-last-from', 'trim-head-slice', 'map-as', 'each-from', 'none?', 'trim-tail', 'partition', 'if-empty', 'accumulate*', 'reject!', 'find-from', 'accumulate-as', 'collector-for-as', 'reject', 'map', 'map-sum', 'accumulate!', '2each-from', 'follow', 'supremum-by', 'map!', 'unless-empty', 'collector', 'padding', 'reduce-index', 'replicate-as', 'infimum-by', 'trim-tail-slice', 'count', 'find-index', 'filter', 'accumulate*!', 'reject-as', 'map-integers', 'map-find', 'reduce', 'selector', 'interleave', '2map', 'filter-as', 'binary-reduce', 'map-index-as', 'find', 'produce', 'filter!', 'replicate', 'cartesian-map', 'cartesian-each', 'find-index-from', 'map-find-last', '3map-as', '3map', 'find-last', 'selector-as', '2map-as', '2map-reduce', 'accumulate', 'each', 'each-index', 'accumulate*-as', 'when-empty', 'all?', 'collector-as', 'push-either', 'new-like', 'collector-for', '2selector', 'push-if', '2all?', 'map-reduce', '3each', 'any?', 'trim-slice', '2reduce', 'change-nth', 'produce-as', '2each', 'trim', 'trim-head', 'cartesian-find', 'map-index',
|
386
|
+
// math
|
387
|
+
'if-zero', 'each-integer', 'unless-zero', '(find-integer)', 'when-zero', 'find-last-integer', '(all-integers?)', 'times', '(each-integer)', 'find-integer', 'all-integers?',
|
388
|
+
// math.combinators
|
389
|
+
'unless-negative', 'if-positive', 'when-positive', 'when-negative', 'unless-positive', 'if-negative',
|
390
|
+
// combinators
|
391
|
+
'case', '2cleave', 'cond>quot', 'case>quot', '3cleave', 'wrong-values', 'to-fixed-point', 'alist>quot', 'cond', 'cleave', 'call-effect', 'recursive-hashcode', 'spread', 'deep-spread>quot',
|
392
|
+
// combinators.short-circuit
|
393
|
+
'2||', '0||', 'n||', '0&&', '2&&', '3||', '1||', '1&&', 'n&&', '3&&',
|
394
|
+
// combinators.smart
|
395
|
+
'smart-unless*', 'keep-inputs', 'reduce-outputs', 'smart-when*', 'cleave>array', 'smart-with', 'smart-apply', 'smart-if', 'inputs/outputs', 'output>sequence-n', 'map-outputs', 'map-reduce-outputs', 'dropping', 'output>array', 'smart-map-reduce', 'smart-2map-reduce', 'output>array-n', 'nullary', 'input<sequence', 'append-outputs', 'drop-inputs', 'inputs', 'smart-2reduce', 'drop-outputs', 'smart-reduce', 'preserving', 'smart-when', 'outputs', 'append-outputs-as', 'smart-unless', 'smart-if*', 'sum-outputs', 'input<sequence-unsafe', 'output>sequence',
|
396
|
+
// tafn
|
397
|
+
];
|
398
|
+
|
399
|
+
factor.combinators.pattern = arrToWordsRegExp(combinators);
|
400
|
+
|
401
|
+
Prism.languages.factor = factor;
|
402
|
+
|
403
|
+
}(Prism));
|
@@ -0,0 +1,32 @@
|
|
1
|
+
(function (Prism) {
|
2
|
+
/**
|
3
|
+
* Based on the manual by Wouter van Oortmerssen.
|
4
|
+
*
|
5
|
+
* @see {@link https://github.com/PrismJS/prism/issues/2801#issue-829717504}
|
6
|
+
*/
|
7
|
+
Prism.languages['false'] = {
|
8
|
+
'comment': {
|
9
|
+
pattern: /\{[^}]*\}/
|
10
|
+
},
|
11
|
+
'string': {
|
12
|
+
pattern: /"[^"]*"/,
|
13
|
+
greedy: true
|
14
|
+
},
|
15
|
+
'character-code': {
|
16
|
+
pattern: /'(?:[^\r]|\r\n?)/,
|
17
|
+
alias: 'number'
|
18
|
+
},
|
19
|
+
'assembler-code': {
|
20
|
+
pattern: /\d+`/,
|
21
|
+
alias: 'important'
|
22
|
+
},
|
23
|
+
'number': /\d+/,
|
24
|
+
'operator': /[-!#$%&'*+,./:;=>?@\\^_`|~ßø]/,
|
25
|
+
'punctuation': /\[|\]/,
|
26
|
+
'variable': /[a-z]/,
|
27
|
+
'non-standard': {
|
28
|
+
pattern: /[()<BDO®]/,
|
29
|
+
alias: 'bold'
|
30
|
+
}
|
31
|
+
};
|
32
|
+
}(Prism));
|
@@ -0,0 +1,35 @@
|
|
1
|
+
Prism.languages['firestore-security-rules'] = Prism.languages.extend('clike', {
|
2
|
+
'comment': /\/\/.*/,
|
3
|
+
'keyword': /\b(?:allow|function|if|match|null|return|rules_version|service)\b/,
|
4
|
+
'operator': /&&|\|\||[<>!=]=?|[-+*/%]|\b(?:in|is)\b/,
|
5
|
+
});
|
6
|
+
|
7
|
+
delete Prism.languages['firestore-security-rules']['class-name'];
|
8
|
+
|
9
|
+
Prism.languages.insertBefore('firestore-security-rules', 'keyword', {
|
10
|
+
'path': {
|
11
|
+
pattern: /(^|[\s(),])(?:\/(?:[\w\xA0-\uFFFF]+|\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)))+/,
|
12
|
+
lookbehind: true,
|
13
|
+
greedy: true,
|
14
|
+
inside: {
|
15
|
+
'variable': {
|
16
|
+
pattern: /\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)/,
|
17
|
+
inside: {
|
18
|
+
'operator': /=/,
|
19
|
+
'keyword': /\*\*/,
|
20
|
+
'punctuation': /[.$(){}]/
|
21
|
+
}
|
22
|
+
},
|
23
|
+
'punctuation': /\//
|
24
|
+
}
|
25
|
+
},
|
26
|
+
'method': {
|
27
|
+
// to make the pattern shorter, the actual method names are omitted
|
28
|
+
pattern: /(\ballow\s+)[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/,
|
29
|
+
lookbehind: true,
|
30
|
+
alias: 'builtin',
|
31
|
+
inside: {
|
32
|
+
'punctuation': /,/
|
33
|
+
}
|
34
|
+
},
|
35
|
+
});
|
@@ -0,0 +1,35 @@
|
|
1
|
+
(function (Prism) {
|
2
|
+
Prism.languages.flow = Prism.languages.extend('javascript', {});
|
3
|
+
|
4
|
+
Prism.languages.insertBefore('flow', 'keyword', {
|
5
|
+
'type': [
|
6
|
+
{
|
7
|
+
pattern: /\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,
|
8
|
+
alias: 'class-name'
|
9
|
+
}
|
10
|
+
]
|
11
|
+
});
|
12
|
+
Prism.languages.flow['function-variable'].pattern = /(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i;
|
13
|
+
delete Prism.languages.flow['parameter'];
|
14
|
+
|
15
|
+
Prism.languages.insertBefore('flow', 'operator', {
|
16
|
+
'flow-punctuation': {
|
17
|
+
pattern: /\{\||\|\}/,
|
18
|
+
alias: 'punctuation'
|
19
|
+
}
|
20
|
+
});
|
21
|
+
|
22
|
+
if (!Array.isArray(Prism.languages.flow.keyword)) {
|
23
|
+
Prism.languages.flow.keyword = [Prism.languages.flow.keyword];
|
24
|
+
}
|
25
|
+
Prism.languages.flow.keyword.unshift(
|
26
|
+
{
|
27
|
+
pattern: /(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,
|
28
|
+
lookbehind: true
|
29
|
+
},
|
30
|
+
{
|
31
|
+
pattern: /(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,
|
32
|
+
lookbehind: true
|
33
|
+
}
|
34
|
+
);
|
35
|
+
}(Prism));
|
@@ -4,7 +4,7 @@ Prism.languages.fortran = {
|
|
4
4
|
alias: 'number'
|
5
5
|
},
|
6
6
|
'string': {
|
7
|
-
pattern: /(?:\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(
|
7
|
+
pattern: /(?:\b\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:[ \t]*!.*(?:\r\n?|\n)|(?![ \t]*!))|(?!\1).)*(?:\1|&)/,
|
8
8
|
inside: {
|
9
9
|
'comment': {
|
10
10
|
pattern: /(&(?:\r\n?|\n)\s*)!.*/,
|
@@ -12,21 +12,24 @@ Prism.languages.fortran = {
|
|
12
12
|
}
|
13
13
|
}
|
14
14
|
},
|
15
|
-
'comment':
|
16
|
-
|
17
|
-
|
15
|
+
'comment': {
|
16
|
+
pattern: /!.*/,
|
17
|
+
greedy: true
|
18
|
+
},
|
19
|
+
'boolean': /\.(?:FALSE|TRUE)\.(?:_\w+)?/i,
|
20
|
+
'number': /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i,
|
18
21
|
'keyword': [
|
19
22
|
// Types
|
20
|
-
/\b(?:
|
23
|
+
/\b(?:CHARACTER|COMPLEX|DOUBLE ?PRECISION|INTEGER|LOGICAL|REAL)\b/i,
|
21
24
|
// END statements
|
22
25
|
/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i,
|
23
26
|
// Statements
|
24
27
|
/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i,
|
25
28
|
// Others
|
26
|
-
/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|
|
29
|
+
/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEIF|ELSEWHERE|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i
|
27
30
|
],
|
28
31
|
'operator': [
|
29
|
-
/\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.
|
32
|
+
/\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.[A-Z]+\./i,
|
30
33
|
{
|
31
34
|
// Use lookbehind to prevent confusion with (/ /)
|
32
35
|
pattern: /(^|(?!\().)\/(?!\))/,
|
@@ -34,4 +37,4 @@ Prism.languages.fortran = {
|
|
34
37
|
}
|
35
38
|
],
|
36
39
|
'punctuation': /\(\/|\/\)|[(),;:&]/
|
37
|
-
};
|
40
|
+
};
|
@@ -0,0 +1,75 @@
|
|
1
|
+
Prism.languages.fsharp = Prism.languages.extend('clike', {
|
2
|
+
'comment': [
|
3
|
+
{
|
4
|
+
pattern: /(^|[^\\])\(\*(?!\))[\s\S]*?\*\)/,
|
5
|
+
lookbehind: true,
|
6
|
+
greedy: true
|
7
|
+
},
|
8
|
+
{
|
9
|
+
pattern: /(^|[^\\:])\/\/.*/,
|
10
|
+
lookbehind: true,
|
11
|
+
greedy: true
|
12
|
+
}
|
13
|
+
],
|
14
|
+
'string': {
|
15
|
+
pattern: /(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?/,
|
16
|
+
greedy: true
|
17
|
+
},
|
18
|
+
'class-name': {
|
19
|
+
pattern: /(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b(?:\s*(?:->|\*)\s*[.\w]+\b)*(?!\s*[:.])/,
|
20
|
+
lookbehind: true,
|
21
|
+
inside: {
|
22
|
+
'operator': /->|\*/,
|
23
|
+
'punctuation': /\./
|
24
|
+
}
|
25
|
+
},
|
26
|
+
'keyword': /\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|asr|assert|atomic|base|begin|break|checked|class|component|const|constraint|constructor|continue|default|delegate|do|done|downcast|downto|eager|elif|else|end|event|exception|extern|external|false|finally|fixed|for|fun|function|functor|global|if|in|include|inherit|inline|interface|internal|land|lazy|lor|lsl|lsr|lxor|match|member|method|mixin|mod|module|mutable|namespace|new|not|null|object|of|open|or|override|parallel|private|process|protected|public|pure|rec|sealed|select|sig|static|struct|tailcall|then|to|trait|true|try|type|upcast|val|virtual|void|volatile|when|while|with)\b/,
|
27
|
+
'number': [
|
28
|
+
/\b0x[\da-fA-F]+(?:LF|lf|un)?\b/,
|
29
|
+
/\b0b[01]+(?:uy|y)?\b/,
|
30
|
+
/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,
|
31
|
+
/\b\d+(?:[IlLsy]|UL|u[lsy]?)?\b/
|
32
|
+
],
|
33
|
+
'operator': /([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/
|
34
|
+
});
|
35
|
+
Prism.languages.insertBefore('fsharp', 'keyword', {
|
36
|
+
'preprocessor': {
|
37
|
+
pattern: /(^[\t ]*)#.*/m,
|
38
|
+
lookbehind: true,
|
39
|
+
alias: 'property',
|
40
|
+
inside: {
|
41
|
+
'directive': {
|
42
|
+
pattern: /(^#)\b(?:else|endif|if|light|line|nowarn)\b/,
|
43
|
+
lookbehind: true,
|
44
|
+
alias: 'keyword'
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}
|
48
|
+
});
|
49
|
+
Prism.languages.insertBefore('fsharp', 'punctuation', {
|
50
|
+
'computation-expression': {
|
51
|
+
pattern: /\b[_a-z]\w*(?=\s*\{)/i,
|
52
|
+
alias: 'keyword'
|
53
|
+
}
|
54
|
+
});
|
55
|
+
Prism.languages.insertBefore('fsharp', 'string', {
|
56
|
+
'annotation': {
|
57
|
+
pattern: /\[<.+?>\]/,
|
58
|
+
greedy: true,
|
59
|
+
inside: {
|
60
|
+
'punctuation': /^\[<|>\]$/,
|
61
|
+
'class-name': {
|
62
|
+
pattern: /^\w+$|(^|;\s*)[A-Z]\w*(?=\()/,
|
63
|
+
lookbehind: true
|
64
|
+
},
|
65
|
+
'annotation-content': {
|
66
|
+
pattern: /[\s\S]+/,
|
67
|
+
inside: Prism.languages.fsharp
|
68
|
+
}
|
69
|
+
}
|
70
|
+
},
|
71
|
+
'char': {
|
72
|
+
pattern: /'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/,
|
73
|
+
greedy: true
|
74
|
+
}
|
75
|
+
});
|