prism-rails 1.19.0 → 1.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +22 -1
- data/lib/prism-rails/version.rb +1 -1
- data/vendor/assets/javascripts/languages/prism-abap.js +17 -17
- data/vendor/assets/javascripts/languages/prism-abnf.js +3 -3
- data/vendor/assets/javascripts/languages/prism-actionscript.js +6 -2
- data/vendor/assets/javascripts/languages/prism-ada.js +9 -6
- data/vendor/assets/javascripts/languages/prism-agda.js +24 -0
- data/vendor/assets/javascripts/languages/prism-al.js +25 -0
- data/vendor/assets/javascripts/languages/prism-antlr4.js +1 -1
- data/vendor/assets/javascripts/languages/prism-apacheconf.js +3 -3
- data/vendor/assets/javascripts/languages/prism-apex.js +65 -0
- data/vendor/assets/javascripts/languages/prism-apl.js +3 -3
- data/vendor/assets/javascripts/languages/prism-applescript.js +5 -8
- data/vendor/assets/javascripts/languages/prism-aql.js +14 -6
- data/vendor/assets/javascripts/languages/prism-arduino.js +5 -3
- data/vendor/assets/javascripts/languages/prism-arff.js +1 -1
- data/vendor/assets/javascripts/languages/prism-armasm.js +49 -0
- data/vendor/assets/javascripts/languages/prism-arturo.js +105 -0
- data/vendor/assets/javascripts/languages/prism-asciidoc.js +13 -13
- data/vendor/assets/javascripts/languages/prism-asm6502.js +15 -14
- data/vendor/assets/javascripts/languages/prism-asmatmel.js +43 -0
- data/vendor/assets/javascripts/languages/prism-aspnet.js +6 -6
- data/vendor/assets/javascripts/languages/prism-autohotkey.js +31 -14
- data/vendor/assets/javascripts/languages/prism-autoit.js +16 -16
- data/vendor/assets/javascripts/languages/prism-avisynth.js +188 -0
- data/vendor/assets/javascripts/languages/prism-avro-idl.js +50 -0
- data/vendor/assets/javascripts/languages/prism-awk.js +32 -0
- data/vendor/assets/javascripts/languages/prism-bash.js +60 -22
- data/vendor/assets/javascripts/languages/prism-basic.js +4 -4
- data/vendor/assets/javascripts/languages/prism-batch.js +10 -10
- data/vendor/assets/javascripts/languages/prism-bbcode.js +3 -1
- data/vendor/assets/javascripts/languages/prism-bbj.js +19 -0
- data/vendor/assets/javascripts/languages/prism-bicep.js +77 -0
- data/vendor/assets/javascripts/languages/prism-birb.js +23 -0
- data/vendor/assets/javascripts/languages/prism-bison.js +2 -2
- data/vendor/assets/javascripts/languages/prism-bqn.js +63 -0
- data/vendor/assets/javascripts/languages/prism-brainfuck.js +1 -1
- data/vendor/assets/javascripts/languages/prism-brightscript.js +2 -2
- data/vendor/assets/javascripts/languages/prism-bro.js +9 -20
- data/vendor/assets/javascripts/languages/prism-bsl.js +75 -0
- data/vendor/assets/javascripts/languages/prism-c.js +53 -14
- data/vendor/assets/javascripts/languages/prism-cfscript.js +44 -0
- data/vendor/assets/javascripts/languages/prism-chaiscript.js +60 -0
- data/vendor/assets/javascripts/languages/prism-cil.js +5 -5
- data/vendor/assets/javascripts/languages/prism-cilkc.js +8 -0
- data/vendor/assets/javascripts/languages/prism-cilkcpp.js +9 -0
- data/vendor/assets/javascripts/languages/prism-clike.js +7 -6
- data/vendor/assets/javascripts/languages/prism-clojure.js +20 -5
- data/vendor/assets/javascripts/languages/prism-cmake.js +7 -7
- data/vendor/assets/javascripts/languages/prism-cobol.js +53 -0
- data/vendor/assets/javascripts/languages/prism-coffeescript.js +79 -75
- data/vendor/assets/javascripts/languages/prism-concurnas.js +33 -20
- data/vendor/assets/javascripts/languages/prism-cooklang.js +146 -0
- data/vendor/assets/javascripts/languages/prism-coq.js +54 -0
- data/vendor/assets/javascripts/languages/prism-core.js +1087 -451
- data/vendor/assets/javascripts/languages/prism-cpp.js +99 -21
- data/vendor/assets/javascripts/languages/prism-crystal.js +36 -30
- data/vendor/assets/javascripts/languages/prism-csharp.js +343 -58
- data/vendor/assets/javascripts/languages/prism-cshtml.js +199 -0
- data/vendor/assets/javascripts/languages/prism-csp.js +67 -16
- data/vendor/assets/javascripts/languages/prism-css-extras.js +27 -16
- data/vendor/assets/javascripts/languages/prism-css.js +28 -26
- data/vendor/assets/javascripts/languages/prism-csv.js +6 -0
- data/vendor/assets/javascripts/languages/prism-cue.js +84 -0
- data/vendor/assets/javascripts/languages/prism-cypher.js +36 -0
- data/vendor/assets/javascripts/languages/prism-d.js +15 -10
- data/vendor/assets/javascripts/languages/prism-dart.js +76 -21
- data/vendor/assets/javascripts/languages/prism-dataweave.js +41 -0
- data/vendor/assets/javascripts/languages/prism-dax.js +27 -0
- data/vendor/assets/javascripts/languages/prism-dhall.js +69 -0
- data/vendor/assets/javascripts/languages/prism-diff.js +15 -5
- data/vendor/assets/javascripts/languages/prism-django.js +8 -8
- data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +3 -3
- data/vendor/assets/javascripts/languages/prism-docker.js +98 -11
- data/vendor/assets/javascripts/languages/prism-dot.js +76 -0
- data/vendor/assets/javascripts/languages/prism-ebnf.js +2 -2
- data/vendor/assets/javascripts/languages/prism-editorconfig.js +26 -0
- data/vendor/assets/javascripts/languages/prism-eiffel.js +5 -8
- data/vendor/assets/javascripts/languages/prism-ejs.js +4 -2
- data/vendor/assets/javascripts/languages/prism-elixir.js +21 -12
- data/vendor/assets/javascripts/languages/prism-elm.js +16 -15
- data/vendor/assets/javascripts/languages/prism-erb.js +12 -7
- data/vendor/assets/javascripts/languages/prism-erlang.js +6 -6
- data/vendor/assets/javascripts/languages/prism-excel-formula.js +66 -0
- data/vendor/assets/javascripts/languages/prism-factor.js +8 -8
- data/vendor/assets/javascripts/languages/prism-false.js +32 -0
- data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +2 -2
- data/vendor/assets/javascripts/languages/prism-flow.js +5 -5
- data/vendor/assets/javascripts/languages/prism-fortran.js +6 -6
- data/vendor/assets/javascripts/languages/prism-fsharp.js +20 -12
- data/vendor/assets/javascripts/languages/prism-ftl.js +12 -11
- data/vendor/assets/javascripts/languages/prism-gap.js +54 -0
- data/vendor/assets/javascripts/languages/prism-gcode.js +4 -3
- data/vendor/assets/javascripts/languages/prism-gdscript.js +2 -2
- data/vendor/assets/javascripts/languages/prism-gedcom.js +6 -6
- data/vendor/assets/javascripts/languages/prism-gettext.js +43 -0
- data/vendor/assets/javascripts/languages/prism-gherkin.js +7 -7
- data/vendor/assets/javascripts/languages/prism-git.js +3 -3
- data/vendor/assets/javascripts/languages/prism-glsl.js +2 -15
- data/vendor/assets/javascripts/languages/prism-gml.js +5 -5
- data/vendor/assets/javascripts/languages/prism-gn.js +51 -0
- data/vendor/assets/javascripts/languages/prism-go-module.js +24 -0
- data/vendor/assets/javascripts/languages/prism-go.js +21 -5
- data/vendor/assets/javascripts/languages/prism-gradle.js +63 -0
- data/vendor/assets/javascripts/languages/prism-graphql.js +187 -7
- data/vendor/assets/javascripts/languages/prism-groovy.js +56 -58
- data/vendor/assets/javascripts/languages/prism-haml.js +23 -16
- data/vendor/assets/javascripts/languages/prism-handlebars.js +10 -7
- data/vendor/assets/javascripts/languages/prism-haskell.js +42 -14
- data/vendor/assets/javascripts/languages/prism-haxe.js +54 -21
- data/vendor/assets/javascripts/languages/prism-hcl.js +12 -14
- data/vendor/assets/javascripts/languages/prism-hlsl.js +20 -0
- data/vendor/assets/javascripts/languages/prism-hoon.js +14 -0
- data/vendor/assets/javascripts/languages/prism-hpkp.js +4 -10
- data/vendor/assets/javascripts/languages/prism-hsts.js +4 -10
- data/vendor/assets/javascripts/languages/prism-http.js +91 -17
- data/vendor/assets/javascripts/languages/prism-ichigojam.js +5 -5
- data/vendor/assets/javascripts/languages/prism-icon.js +2 -2
- data/vendor/assets/javascripts/languages/prism-icu-message-format.js +148 -0
- data/vendor/assets/javascripts/languages/prism-idris.js +19 -0
- data/vendor/assets/javascripts/languages/prism-iecst.js +32 -0
- data/vendor/assets/javascripts/languages/prism-ignore.js +23 -0
- data/vendor/assets/javascripts/languages/prism-inform7.js +10 -10
- data/vendor/assets/javascripts/languages/prism-ini.js +39 -8
- data/vendor/assets/javascripts/languages/prism-io.js +10 -19
- data/vendor/assets/javascripts/languages/prism-j.js +7 -4
- data/vendor/assets/javascripts/languages/prism-java.js +80 -19
- data/vendor/assets/javascripts/languages/prism-javadoc.js +59 -31
- data/vendor/assets/javascripts/languages/prism-javadoclike.js +2 -2
- data/vendor/assets/javascripts/languages/prism-javascript.js +98 -17
- data/vendor/assets/javascripts/languages/prism-javastacktrace.js +63 -14
- data/vendor/assets/javascripts/languages/prism-jexl.js +14 -0
- data/vendor/assets/javascripts/languages/prism-jolie.js +23 -37
- data/vendor/assets/javascripts/languages/prism-jq.js +8 -6
- data/vendor/assets/javascripts/languages/prism-js-extras.js +34 -3
- data/vendor/assets/javascripts/languages/prism-js-templates.js +5 -2
- data/vendor/assets/javascripts/languages/prism-jsdoc.js +15 -10
- data/vendor/assets/javascripts/languages/prism-json.js +13 -5
- data/vendor/assets/javascripts/languages/prism-json5.js +3 -3
- data/vendor/assets/javascripts/languages/prism-jsonp.js +1 -1
- data/vendor/assets/javascripts/languages/prism-jsstacktrace.js +49 -0
- data/vendor/assets/javascripts/languages/prism-jsx.js +123 -104
- data/vendor/assets/javascripts/languages/prism-julia.js +31 -9
- data/vendor/assets/javascripts/languages/prism-keepalived.js +51 -0
- data/vendor/assets/javascripts/languages/prism-keyman.js +43 -13
- data/vendor/assets/javascripts/languages/prism-kotlin.js +56 -30
- data/vendor/assets/javascripts/languages/prism-kumir.js +106 -0
- data/vendor/assets/javascripts/languages/prism-kusto.js +44 -0
- data/vendor/assets/javascripts/languages/prism-latex.js +6 -6
- data/vendor/assets/javascripts/languages/prism-latte.js +11 -17
- data/vendor/assets/javascripts/languages/prism-less.js +5 -5
- data/vendor/assets/javascripts/languages/prism-lilypond.js +3 -3
- data/vendor/assets/javascripts/languages/prism-linker-script.js +30 -0
- data/vendor/assets/javascripts/languages/prism-liquid.js +62 -8
- data/vendor/assets/javascripts/languages/prism-lisp.js +41 -41
- data/vendor/assets/javascripts/languages/prism-livescript.js +3 -3
- data/vendor/assets/javascripts/languages/prism-llvm.js +19 -0
- data/vendor/assets/javascripts/languages/prism-log.js +120 -0
- data/vendor/assets/javascripts/languages/prism-lolcode.js +9 -9
- data/vendor/assets/javascripts/languages/prism-lua.js +3 -3
- data/vendor/assets/javascripts/languages/prism-magma.js +35 -0
- data/vendor/assets/javascripts/languages/prism-makefile.js +17 -17
- data/vendor/assets/javascripts/languages/prism-markdown.js +103 -32
- data/vendor/assets/javascripts/languages/prism-markup-templating.js +2 -1
- data/vendor/assets/javascripts/languages/prism-markup.js +95 -12
- data/vendor/assets/javascripts/languages/prism-mata.js +50 -0
- data/vendor/assets/javascripts/languages/prism-matlab.js +4 -4
- data/vendor/assets/javascripts/languages/prism-maxscript.js +91 -0
- data/vendor/assets/javascripts/languages/prism-mel.js +24 -21
- data/vendor/assets/javascripts/languages/prism-mermaid.js +113 -0
- data/vendor/assets/javascripts/languages/prism-metafont.js +84 -0
- data/vendor/assets/javascripts/languages/prism-mizar.js +3 -3
- data/vendor/assets/javascripts/languages/prism-mongodb.js +97 -0
- data/vendor/assets/javascripts/languages/prism-monkey.js +16 -18
- data/vendor/assets/javascripts/languages/prism-moonscript.js +1 -1
- data/vendor/assets/javascripts/languages/prism-n1ql.js +14 -8
- data/vendor/assets/javascripts/languages/prism-n4js.js +2 -2
- data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +3 -3
- data/vendor/assets/javascripts/languages/prism-naniscript.js +170 -0
- data/vendor/assets/javascripts/languages/prism-nasm.js +4 -4
- data/vendor/assets/javascripts/languages/prism-neon.js +5 -6
- data/vendor/assets/javascripts/languages/prism-nevod.js +125 -0
- data/vendor/assets/javascripts/languages/prism-nginx.js +54 -11
- data/vendor/assets/javascripts/languages/prism-nim.js +23 -12
- data/vendor/assets/javascripts/languages/prism-nix.js +10 -13
- data/vendor/assets/javascripts/languages/prism-nsis.js +10 -9
- data/vendor/assets/javascripts/languages/prism-objectivec.js +7 -2
- data/vendor/assets/javascripts/languages/prism-ocaml.js +32 -15
- data/vendor/assets/javascripts/languages/prism-odin.js +99 -0
- data/vendor/assets/javascripts/languages/prism-opencl.js +19 -12
- data/vendor/assets/javascripts/languages/prism-openqasm.js +23 -0
- data/vendor/assets/javascripts/languages/prism-oz.js +11 -8
- data/vendor/assets/javascripts/languages/prism-parigp.js +4 -4
- data/vendor/assets/javascripts/languages/prism-parser.js +3 -3
- data/vendor/assets/javascripts/languages/prism-pascal.js +24 -8
- data/vendor/assets/javascripts/languages/prism-pascaligo.js +7 -7
- data/vendor/assets/javascripts/languages/prism-pcaxis.js +2 -2
- data/vendor/assets/javascripts/languages/prism-peoplecode.js +42 -0
- data/vendor/assets/javascripts/languages/prism-perl.js +153 -188
- data/vendor/assets/javascripts/languages/prism-php-extras.js +8 -5
- data/vendor/assets/javascripts/languages/prism-php.js +275 -63
- data/vendor/assets/javascripts/languages/prism-phpdoc.js +1 -1
- data/vendor/assets/javascripts/languages/prism-plant-uml.js +103 -0
- data/vendor/assets/javascripts/languages/prism-plsql.js +16 -25
- data/vendor/assets/javascripts/languages/prism-powerquery.js +55 -0
- data/vendor/assets/javascripts/languages/prism-powershell.js +16 -18
- data/vendor/assets/javascripts/languages/prism-processing.js +6 -9
- data/vendor/assets/javascripts/languages/prism-prolog.js +7 -8
- data/vendor/assets/javascripts/languages/prism-promql.js +99 -0
- data/vendor/assets/javascripts/languages/prism-properties.js +9 -5
- data/vendor/assets/javascripts/languages/prism-protobuf.js +16 -9
- data/vendor/assets/javascripts/languages/prism-psl.js +35 -0
- data/vendor/assets/javascripts/languages/prism-pug.js +28 -21
- data/vendor/assets/javascripts/languages/prism-puppet.js +6 -6
- data/vendor/assets/javascripts/languages/prism-pure.js +9 -6
- data/vendor/assets/javascripts/languages/prism-purebasic.js +70 -0
- data/vendor/assets/javascripts/languages/prism-purescript.js +31 -0
- data/vendor/assets/javascripts/languages/prism-python.js +12 -11
- data/vendor/assets/javascripts/languages/prism-q.js +4 -4
- data/vendor/assets/javascripts/languages/prism-qml.js +9 -6
- data/vendor/assets/javascripts/languages/prism-qore.js +5 -5
- data/vendor/assets/javascripts/languages/prism-qsharp.js +132 -0
- data/vendor/assets/javascripts/languages/prism-r.js +5 -5
- data/vendor/assets/javascripts/languages/prism-racket.js +18 -0
- data/vendor/assets/javascripts/languages/prism-reason.js +5 -8
- data/vendor/assets/javascripts/languages/prism-regex.js +54 -47
- data/vendor/assets/javascripts/languages/prism-rego.js +30 -0
- data/vendor/assets/javascripts/languages/prism-renpy.js +12 -12
- data/vendor/assets/javascripts/languages/prism-rescript.js +60 -0
- data/vendor/assets/javascripts/languages/prism-rest.js +16 -16
- data/vendor/assets/javascripts/languages/prism-rip.js +22 -16
- data/vendor/assets/javascripts/languages/prism-roboconf.js +3 -3
- data/vendor/assets/javascripts/languages/prism-robotframework.js +5 -5
- data/vendor/assets/javascripts/languages/prism-ruby.js +127 -88
- data/vendor/assets/javascripts/languages/prism-rust.js +120 -60
- data/vendor/assets/javascripts/languages/prism-sas.js +62 -38
- data/vendor/assets/javascripts/languages/prism-sass.js +15 -10
- data/vendor/assets/javascripts/languages/prism-scala.js +36 -3
- data/vendor/assets/javascripts/languages/prism-scheme.js +120 -33
- data/vendor/assets/javascripts/languages/prism-scss.js +11 -7
- data/vendor/assets/javascripts/languages/prism-shell-session.js +42 -26
- data/vendor/assets/javascripts/languages/prism-smali.js +87 -0
- data/vendor/assets/javascripts/languages/prism-smalltalk.js +12 -5
- data/vendor/assets/javascripts/languages/prism-smarty.js +91 -47
- data/vendor/assets/javascripts/languages/prism-sml.js +68 -0
- data/vendor/assets/javascripts/languages/prism-solidity.js +3 -1
- data/vendor/assets/javascripts/languages/prism-solution-file.js +2 -2
- data/vendor/assets/javascripts/languages/prism-soy.js +9 -9
- data/vendor/assets/javascripts/languages/prism-sparql.js +8 -8
- data/vendor/assets/javascripts/languages/prism-splunk-spl.js +3 -3
- data/vendor/assets/javascripts/languages/prism-sqf.js +7 -7
- data/vendor/assets/javascripts/languages/prism-sql.js +12 -4
- data/vendor/assets/javascripts/languages/prism-squirrel.js +47 -0
- data/vendor/assets/javascripts/languages/prism-stan.js +65 -0
- data/vendor/assets/javascripts/languages/prism-stata.js +76 -0
- data/vendor/assets/javascripts/languages/prism-stylus.js +48 -16
- data/vendor/assets/javascripts/languages/prism-supercollider.js +36 -0
- data/vendor/assets/javascripts/languages/prism-swift.js +143 -20
- data/vendor/assets/javascripts/languages/prism-systemd.js +74 -0
- data/vendor/assets/javascripts/languages/prism-t4-templating.js +2 -2
- data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -1
- data/vendor/assets/javascripts/languages/prism-tap.js +13 -11
- data/vendor/assets/javascripts/languages/prism-tcl.js +8 -8
- data/vendor/assets/javascripts/languages/prism-textile.js +55 -29
- data/vendor/assets/javascripts/languages/prism-toml.js +14 -8
- data/vendor/assets/javascripts/languages/prism-tremor.js +72 -0
- data/vendor/assets/javascripts/languages/prism-tsx.js +15 -2
- data/vendor/assets/javascripts/languages/prism-tt2.js +7 -7
- data/vendor/assets/javascripts/languages/prism-turtle.js +4 -4
- data/vendor/assets/javascripts/languages/prism-twig.js +38 -40
- data/vendor/assets/javascripts/languages/prism-typescript.js +59 -6
- data/vendor/assets/javascripts/languages/prism-typoscript.js +80 -0
- data/vendor/assets/javascripts/languages/prism-unrealscript.js +42 -0
- data/vendor/assets/javascripts/languages/prism-uorazor.js +48 -0
- data/vendor/assets/javascripts/languages/prism-uri.js +96 -0
- data/vendor/assets/javascripts/languages/prism-v.js +81 -0
- data/vendor/assets/javascripts/languages/prism-vala.js +20 -10
- data/vendor/assets/javascripts/languages/prism-vbnet.js +11 -4
- data/vendor/assets/javascripts/languages/prism-velocity.js +6 -6
- data/vendor/assets/javascripts/languages/prism-verilog.js +14 -8
- data/vendor/assets/javascripts/languages/prism-vhdl.js +7 -4
- data/vendor/assets/javascripts/languages/prism-vim.js +4 -4
- data/vendor/assets/javascripts/languages/prism-visual-basic.js +9 -14
- data/vendor/assets/javascripts/languages/prism-warpscript.js +21 -0
- data/vendor/assets/javascripts/languages/prism-wasm.js +3 -3
- data/vendor/assets/javascripts/languages/prism-web-idl.js +101 -0
- data/vendor/assets/javascripts/languages/prism-wgsl.js +69 -0
- data/vendor/assets/javascripts/languages/prism-wiki.js +4 -4
- data/vendor/assets/javascripts/languages/prism-wolfram.js +29 -0
- data/vendor/assets/javascripts/languages/prism-wren.js +100 -0
- data/vendor/assets/javascripts/languages/prism-xeora.js +8 -8
- data/vendor/assets/javascripts/languages/prism-xml-doc.js +40 -0
- data/vendor/assets/javascripts/languages/prism-xojo.js +9 -8
- data/vendor/assets/javascripts/languages/prism-xquery.js +7 -7
- data/vendor/assets/javascripts/languages/prism-yaml.js +19 -12
- data/vendor/assets/javascripts/languages/prism-yang.js +20 -0
- data/vendor/assets/javascripts/languages/prism-zig.js +19 -15
- data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +60 -65
- data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +199 -67
- data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +212 -112
- data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +128 -43
- data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +23 -8
- data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +2 -6
- data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +19 -12
- data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +3 -2
- data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +169 -63
- data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +5 -3
- data/vendor/assets/javascripts/prism-plugin/prism-highlight-keywords.js +10 -13
- data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +29 -12
- data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +179 -82
- data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +53 -26
- data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +217 -84
- data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +152 -68
- data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +53 -47
- data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +203 -164
- data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +61 -52
- data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +16 -16
- data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +4 -5
- data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +147 -21
- data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +9 -8
- data/vendor/assets/javascripts/prism-plugin/prism-treeview.js +70 -0
- data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +41 -23
- data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +133 -148
- data/vendor/assets/javascripts/prism.js +96 -4
- data/vendor/assets/stylesheets/prism-plugin/prism-autolinker.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-command-line.css +11 -1
- data/vendor/assets/stylesheets/prism-plugin/prism-command-line.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +26 -2
- data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +21 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +0 -1
- data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-previewers.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +13 -12
- data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-treeview.css +168 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-treeview.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-wpd.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-base16-ateliersulphurpool.light.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-cb.css +5 -35
- data/vendor/assets/stylesheets/prism-theme/prism-coldark-cold.css +317 -0
- data/vendor/assets/stylesheets/prism-theme/prism-coldark-dark.css +317 -0
- data/vendor/assets/stylesheets/prism-theme/prism-coy-without-shadows.css +140 -0
- data/vendor/assets/stylesheets/prism-theme/prism-coy.css +5 -12
- data/vendor/assets/stylesheets/prism-theme/prism-coy.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-dark.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-dark.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-earth.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-forest.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-light.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-sea.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-space.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-funky.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-dark.css +143 -0
- data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-light.css +143 -0
- data/vendor/assets/stylesheets/prism-theme/prism-holi-theme.css +119 -0
- data/vendor/assets/stylesheets/prism-theme/prism-laserwave.css +133 -0
- data/vendor/assets/stylesheets/prism-theme/prism-lucario.css +122 -0
- data/vendor/assets/stylesheets/prism-theme/prism-night-owl.css +158 -0
- data/vendor/assets/stylesheets/prism-theme/prism-okaidia.css +1 -1
- data/vendor/assets/stylesheets/prism-theme/prism-okaidia.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-one-dark.css +440 -0
- data/vendor/assets/stylesheets/prism-theme/prism-one-light.css +428 -0
- data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +3 -7
- data/vendor/assets/stylesheets/prism-theme/prism-solarized-dark-atom.css +143 -0
- data/vendor/assets/stylesheets/prism-theme/prism-solarizedlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-tomorrow.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-twilight.css +3 -33
- data/vendor/assets/stylesheets/prism-theme/prism-twilight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-vs.css +7 -3
- data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +108 -49
- data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +3 -30
- data/vendor/assets/stylesheets/prism-theme/prism-z-touch.css +160 -0
- data/vendor/assets/stylesheets/prism.css +1 -0
- metadata +133 -6
@@ -1,32 +1,108 @@
|
|
1
1
|
(function () {
|
2
2
|
|
3
|
-
if (typeof
|
3
|
+
if (typeof Prism === 'undefined' || typeof document === 'undefined') {
|
4
4
|
return;
|
5
5
|
}
|
6
6
|
|
7
7
|
/**
|
8
8
|
* Plugin name which is used as a class name for <pre> which is activating the plugin
|
9
|
-
*
|
9
|
+
*
|
10
|
+
* @type {string}
|
10
11
|
*/
|
11
12
|
var PLUGIN_NAME = 'line-numbers';
|
12
13
|
|
13
14
|
/**
|
14
15
|
* Regular expression used for determining line breaks
|
16
|
+
*
|
15
17
|
* @type {RegExp}
|
16
18
|
*/
|
17
19
|
var NEW_LINE_EXP = /\n(?!$)/g;
|
18
20
|
|
21
|
+
|
19
22
|
/**
|
20
|
-
*
|
21
|
-
* @param {Element} element <pre> element
|
23
|
+
* Global exports
|
22
24
|
*/
|
23
|
-
var
|
24
|
-
|
25
|
-
|
25
|
+
var config = Prism.plugins.lineNumbers = {
|
26
|
+
/**
|
27
|
+
* Get node for provided line number
|
28
|
+
*
|
29
|
+
* @param {Element} element pre element
|
30
|
+
* @param {number} number line number
|
31
|
+
* @returns {Element|undefined}
|
32
|
+
*/
|
33
|
+
getLine: function (element, number) {
|
34
|
+
if (element.tagName !== 'PRE' || !element.classList.contains(PLUGIN_NAME)) {
|
35
|
+
return;
|
36
|
+
}
|
37
|
+
|
38
|
+
var lineNumberRows = element.querySelector('.line-numbers-rows');
|
39
|
+
if (!lineNumberRows) {
|
40
|
+
return;
|
41
|
+
}
|
42
|
+
var lineNumberStart = parseInt(element.getAttribute('data-start'), 10) || 1;
|
43
|
+
var lineNumberEnd = lineNumberStart + (lineNumberRows.children.length - 1);
|
44
|
+
|
45
|
+
if (number < lineNumberStart) {
|
46
|
+
number = lineNumberStart;
|
47
|
+
}
|
48
|
+
if (number > lineNumberEnd) {
|
49
|
+
number = lineNumberEnd;
|
50
|
+
}
|
26
51
|
|
27
|
-
|
52
|
+
var lineIndex = number - lineNumberStart;
|
53
|
+
|
54
|
+
return lineNumberRows.children[lineIndex];
|
55
|
+
},
|
56
|
+
|
57
|
+
/**
|
58
|
+
* Resizes the line numbers of the given element.
|
59
|
+
*
|
60
|
+
* This function will not add line numbers. It will only resize existing ones.
|
61
|
+
*
|
62
|
+
* @param {HTMLElement} element A `<pre>` element with line numbers.
|
63
|
+
* @returns {void}
|
64
|
+
*/
|
65
|
+
resize: function (element) {
|
66
|
+
resizeElements([element]);
|
67
|
+
},
|
68
|
+
|
69
|
+
/**
|
70
|
+
* Whether the plugin can assume that the units font sizes and margins are not depended on the size of
|
71
|
+
* the current viewport.
|
72
|
+
*
|
73
|
+
* Setting this to `true` will allow the plugin to do certain optimizations for better performance.
|
74
|
+
*
|
75
|
+
* Set this to `false` if you use any of the following CSS units: `vh`, `vw`, `vmin`, `vmax`.
|
76
|
+
*
|
77
|
+
* @type {boolean}
|
78
|
+
*/
|
79
|
+
assumeViewportIndependence: true
|
80
|
+
};
|
81
|
+
|
82
|
+
/**
|
83
|
+
* Resizes the given elements.
|
84
|
+
*
|
85
|
+
* @param {HTMLElement[]} elements
|
86
|
+
*/
|
87
|
+
function resizeElements(elements) {
|
88
|
+
elements = elements.filter(function (e) {
|
89
|
+
var codeStyles = getStyles(e);
|
90
|
+
var whiteSpace = codeStyles['white-space'];
|
91
|
+
return whiteSpace === 'pre-wrap' || whiteSpace === 'pre-line';
|
92
|
+
});
|
93
|
+
|
94
|
+
if (elements.length == 0) {
|
95
|
+
return;
|
96
|
+
}
|
97
|
+
|
98
|
+
var infos = elements.map(function (element) {
|
28
99
|
var codeElement = element.querySelector('code');
|
29
100
|
var lineNumbersWrapper = element.querySelector('.line-numbers-rows');
|
101
|
+
if (!codeElement || !lineNumbersWrapper) {
|
102
|
+
return undefined;
|
103
|
+
}
|
104
|
+
|
105
|
+
/** @type {HTMLElement} */
|
30
106
|
var lineNumberSizer = element.querySelector('.line-numbers-sizer');
|
31
107
|
var codeLines = codeElement.textContent.split(NEW_LINE_EXP);
|
32
108
|
|
@@ -37,33 +113,85 @@
|
|
37
113
|
codeElement.appendChild(lineNumberSizer);
|
38
114
|
}
|
39
115
|
|
116
|
+
lineNumberSizer.innerHTML = '0';
|
40
117
|
lineNumberSizer.style.display = 'block';
|
41
118
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
119
|
+
var oneLinerHeight = lineNumberSizer.getBoundingClientRect().height;
|
120
|
+
lineNumberSizer.innerHTML = '';
|
121
|
+
|
122
|
+
return {
|
123
|
+
element: element,
|
124
|
+
lines: codeLines,
|
125
|
+
lineHeights: [],
|
126
|
+
oneLinerHeight: oneLinerHeight,
|
127
|
+
sizer: lineNumberSizer,
|
128
|
+
};
|
129
|
+
}).filter(Boolean);
|
130
|
+
|
131
|
+
infos.forEach(function (info) {
|
132
|
+
var lineNumberSizer = info.sizer;
|
133
|
+
var lines = info.lines;
|
134
|
+
var lineHeights = info.lineHeights;
|
135
|
+
var oneLinerHeight = info.oneLinerHeight;
|
136
|
+
|
137
|
+
lineHeights[lines.length - 1] = undefined;
|
138
|
+
lines.forEach(function (line, index) {
|
139
|
+
if (line && line.length > 1) {
|
140
|
+
var e = lineNumberSizer.appendChild(document.createElement('span'));
|
141
|
+
e.style.display = 'block';
|
142
|
+
e.textContent = line;
|
143
|
+
} else {
|
144
|
+
lineHeights[index] = oneLinerHeight;
|
145
|
+
}
|
46
146
|
});
|
147
|
+
});
|
148
|
+
|
149
|
+
infos.forEach(function (info) {
|
150
|
+
var lineNumberSizer = info.sizer;
|
151
|
+
var lineHeights = info.lineHeights;
|
152
|
+
|
153
|
+
var childIndex = 0;
|
154
|
+
for (var i = 0; i < lineHeights.length; i++) {
|
155
|
+
if (lineHeights[i] === undefined) {
|
156
|
+
lineHeights[i] = lineNumberSizer.children[childIndex++].getBoundingClientRect().height;
|
157
|
+
}
|
158
|
+
}
|
159
|
+
});
|
160
|
+
|
161
|
+
infos.forEach(function (info) {
|
162
|
+
var lineNumberSizer = info.sizer;
|
163
|
+
var wrapper = info.element.querySelector('.line-numbers-rows');
|
47
164
|
|
48
|
-
lineNumberSizer.textContent = '';
|
49
165
|
lineNumberSizer.style.display = 'none';
|
50
|
-
|
51
|
-
|
166
|
+
lineNumberSizer.innerHTML = '';
|
167
|
+
|
168
|
+
info.lineHeights.forEach(function (height, lineNumber) {
|
169
|
+
wrapper.children[lineNumber].style.height = height + 'px';
|
170
|
+
});
|
171
|
+
});
|
172
|
+
}
|
52
173
|
|
53
174
|
/**
|
54
175
|
* Returns style declarations for the element
|
176
|
+
*
|
55
177
|
* @param {Element} element
|
56
178
|
*/
|
57
|
-
|
179
|
+
function getStyles(element) {
|
58
180
|
if (!element) {
|
59
181
|
return null;
|
60
182
|
}
|
61
183
|
|
62
184
|
return window.getComputedStyle ? getComputedStyle(element) : (element.currentStyle || null);
|
63
|
-
}
|
185
|
+
}
|
64
186
|
|
187
|
+
var lastWidth = undefined;
|
65
188
|
window.addEventListener('resize', function () {
|
66
|
-
|
189
|
+
if (config.assumeViewportIndependence && lastWidth === window.innerWidth) {
|
190
|
+
return;
|
191
|
+
}
|
192
|
+
lastWidth = window.innerWidth;
|
193
|
+
|
194
|
+
resizeElements(Array.prototype.slice.call(document.querySelectorAll('pre.' + PLUGIN_NAME)));
|
67
195
|
});
|
68
196
|
|
69
197
|
Prism.hooks.add('complete', function (env) {
|
@@ -71,8 +199,8 @@
|
|
71
199
|
return;
|
72
200
|
}
|
73
201
|
|
74
|
-
var code = env.element;
|
75
|
-
var pre = code.parentNode;
|
202
|
+
var code = /** @type {Element} */ (env.element);
|
203
|
+
var pre = /** @type {HTMLElement} */ (code.parentNode);
|
76
204
|
|
77
205
|
// works only for <code> wrapped inside <pre> (not inline)
|
78
206
|
if (!pre || !/pre/i.test(pre.nodeName)) {
|
@@ -84,27 +212,15 @@
|
|
84
212
|
return;
|
85
213
|
}
|
86
214
|
|
87
|
-
var addLineNumbers = false;
|
88
|
-
var lineNumbersRegex = /(?:^|\s)line-numbers(?:\s|$)/;
|
89
|
-
|
90
|
-
for (var element = code; element; element = element.parentNode) {
|
91
|
-
if (lineNumbersRegex.test(element.className)) {
|
92
|
-
addLineNumbers = true;
|
93
|
-
break;
|
94
|
-
}
|
95
|
-
}
|
96
|
-
|
97
215
|
// only add line numbers if <code> or one of its ancestors has the `line-numbers` class
|
98
|
-
if (!
|
216
|
+
if (!Prism.util.isActive(code, PLUGIN_NAME)) {
|
99
217
|
return;
|
100
218
|
}
|
101
219
|
|
102
220
|
// Remove the class 'line-numbers' from the <code>
|
103
|
-
code.
|
221
|
+
code.classList.remove(PLUGIN_NAME);
|
104
222
|
// Add the class 'line-numbers' to the <pre>
|
105
|
-
|
106
|
-
pre.className += ' line-numbers';
|
107
|
-
}
|
223
|
+
pre.classList.add(PLUGIN_NAME);
|
108
224
|
|
109
225
|
var match = env.code.match(NEW_LINE_EXP);
|
110
226
|
var linesNum = match ? match.length + 1 : 1;
|
@@ -123,7 +239,7 @@
|
|
123
239
|
|
124
240
|
env.element.appendChild(lineNumbersWrapper);
|
125
241
|
|
126
|
-
|
242
|
+
resizeElements([pre]);
|
127
243
|
|
128
244
|
Prism.hooks.run('line-numbers', env);
|
129
245
|
});
|
@@ -133,36 +249,4 @@
|
|
133
249
|
env.plugins.lineNumbers = true;
|
134
250
|
});
|
135
251
|
|
136
|
-
/**
|
137
|
-
* Global exports
|
138
|
-
*/
|
139
|
-
Prism.plugins.lineNumbers = {
|
140
|
-
/**
|
141
|
-
* Get node for provided line number
|
142
|
-
* @param {Element} element pre element
|
143
|
-
* @param {Number} number line number
|
144
|
-
* @return {Element|undefined}
|
145
|
-
*/
|
146
|
-
getLine: function (element, number) {
|
147
|
-
if (element.tagName !== 'PRE' || !element.classList.contains(PLUGIN_NAME)) {
|
148
|
-
return;
|
149
|
-
}
|
150
|
-
|
151
|
-
var lineNumberRows = element.querySelector('.line-numbers-rows');
|
152
|
-
var lineNumberStart = parseInt(element.getAttribute('data-start'), 10) || 1;
|
153
|
-
var lineNumberEnd = lineNumberStart + (lineNumberRows.children.length - 1);
|
154
|
-
|
155
|
-
if (number < lineNumberStart) {
|
156
|
-
number = lineNumberStart;
|
157
|
-
}
|
158
|
-
if (number > lineNumberEnd) {
|
159
|
-
number = lineNumberEnd;
|
160
|
-
}
|
161
|
-
|
162
|
-
var lineIndex = number - lineNumberStart;
|
163
|
-
|
164
|
-
return lineNumberRows.children[lineIndex];
|
165
|
-
}
|
166
|
-
};
|
167
|
-
|
168
252
|
}());
|
@@ -1,16 +1,17 @@
|
|
1
1
|
(function () {
|
2
2
|
|
3
|
-
if (typeof
|
3
|
+
if (typeof Prism === 'undefined' || typeof document === 'undefined') {
|
4
4
|
return;
|
5
5
|
}
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
function mapClassName(name) {
|
8
|
+
var customClass = Prism.plugins.customClass;
|
9
|
+
if (customClass) {
|
10
|
+
return customClass.apply(name, 'none');
|
11
|
+
} else {
|
12
|
+
return name;
|
13
|
+
}
|
14
|
+
}
|
14
15
|
|
15
16
|
var PARTNER = {
|
16
17
|
'(': ')',
|
@@ -18,17 +19,26 @@
|
|
18
19
|
'{': '}',
|
19
20
|
};
|
20
21
|
|
22
|
+
// The names for brace types.
|
23
|
+
// These names have two purposes: 1) they can be used for styling and 2) they are used to pair braces. Only braces
|
24
|
+
// of the same type are paired.
|
21
25
|
var NAMES = {
|
22
26
|
'(': 'brace-round',
|
23
27
|
'[': 'brace-square',
|
24
28
|
'{': 'brace-curly',
|
25
29
|
};
|
26
30
|
|
31
|
+
// A map for brace aliases.
|
32
|
+
// This is useful for when some braces have a prefix/suffix as part of the punctuation token.
|
33
|
+
var BRACE_ALIAS_MAP = {
|
34
|
+
'${': '{', // JS template punctuation (e.g. `foo ${bar + 1}`)
|
35
|
+
};
|
36
|
+
|
27
37
|
var LEVEL_WARP = 12;
|
28
38
|
|
29
39
|
var pairIdCounter = 0;
|
30
40
|
|
31
|
-
var BRACE_ID_PATTERN = /^(pair-\d+-)(open
|
41
|
+
var BRACE_ID_PATTERN = /^(pair-\d+-)(close|open)$/;
|
32
42
|
|
33
43
|
/**
|
34
44
|
* Returns the brace partner given one brace of a brace pair.
|
@@ -45,36 +55,32 @@
|
|
45
55
|
* @this {HTMLElement}
|
46
56
|
*/
|
47
57
|
function hoverBrace() {
|
48
|
-
|
49
|
-
|
50
|
-
return;
|
51
|
-
}
|
58
|
+
if (!Prism.util.isActive(this, 'brace-hover', true)) {
|
59
|
+
return;
|
52
60
|
}
|
53
61
|
|
54
|
-
[this, getPartnerBrace(this)].forEach(function (
|
55
|
-
|
62
|
+
[this, getPartnerBrace(this)].forEach(function (e) {
|
63
|
+
e.classList.add(mapClassName('brace-hover'));
|
56
64
|
});
|
57
65
|
}
|
58
66
|
/**
|
59
67
|
* @this {HTMLElement}
|
60
68
|
*/
|
61
69
|
function leaveBrace() {
|
62
|
-
[this, getPartnerBrace(this)].forEach(function (
|
63
|
-
|
70
|
+
[this, getPartnerBrace(this)].forEach(function (e) {
|
71
|
+
e.classList.remove(mapClassName('brace-hover'));
|
64
72
|
});
|
65
73
|
}
|
66
74
|
/**
|
67
75
|
* @this {HTMLElement}
|
68
76
|
*/
|
69
77
|
function clickBrace() {
|
70
|
-
|
71
|
-
|
72
|
-
return;
|
73
|
-
}
|
78
|
+
if (!Prism.util.isActive(this, 'brace-select', true)) {
|
79
|
+
return;
|
74
80
|
}
|
75
81
|
|
76
|
-
[this, getPartnerBrace(this)].forEach(function (
|
77
|
-
|
82
|
+
[this, getPartnerBrace(this)].forEach(function (e) {
|
83
|
+
e.classList.add(mapClassName('brace-selected'));
|
78
84
|
});
|
79
85
|
}
|
80
86
|
|
@@ -91,11 +97,8 @@
|
|
91
97
|
// find the braces to match
|
92
98
|
/** @type {string[]} */
|
93
99
|
var toMatch = [];
|
94
|
-
|
95
|
-
|
96
|
-
toMatch.push('(', '[', '{');
|
97
|
-
break;
|
98
|
-
}
|
100
|
+
if (Prism.util.isActive(code, 'match-braces')) {
|
101
|
+
toMatch.push('(', '[', '{');
|
99
102
|
}
|
100
103
|
|
101
104
|
if (toMatch.length == 0) {
|
@@ -108,22 +111,25 @@
|
|
108
111
|
pre.addEventListener('mousedown', function removeBraceSelected() {
|
109
112
|
// the code element might have been replaced
|
110
113
|
var code = pre.querySelector('code');
|
111
|
-
|
112
|
-
|
114
|
+
var className = mapClassName('brace-selected');
|
115
|
+
Array.prototype.slice.call(code.querySelectorAll('.' + className)).forEach(function (e) {
|
116
|
+
e.classList.remove(className);
|
113
117
|
});
|
114
118
|
});
|
115
119
|
Object.defineProperty(pre, '__listenerAdded', { value: true });
|
116
120
|
}
|
117
121
|
|
118
122
|
/** @type {HTMLSpanElement[]} */
|
119
|
-
var punctuation = Array.prototype.slice.call(
|
123
|
+
var punctuation = Array.prototype.slice.call(
|
124
|
+
code.querySelectorAll('span.' + mapClassName('token') + '.' + mapClassName('punctuation'))
|
125
|
+
);
|
120
126
|
|
121
127
|
/** @type {{ index: number, open: boolean, element: HTMLElement }[]} */
|
122
128
|
var allBraces = [];
|
123
129
|
|
124
130
|
toMatch.forEach(function (open) {
|
125
131
|
var close = PARTNER[open];
|
126
|
-
var name = NAMES[open];
|
132
|
+
var name = mapClassName(NAMES[open]);
|
127
133
|
|
128
134
|
/** @type {[number, number][]} */
|
129
135
|
var pairs = [];
|
@@ -134,15 +140,16 @@
|
|
134
140
|
var element = punctuation[i];
|
135
141
|
if (element.childElementCount == 0) {
|
136
142
|
var text = element.textContent;
|
143
|
+
text = BRACE_ALIAS_MAP[text] || text;
|
137
144
|
if (text === open) {
|
138
145
|
allBraces.push({ index: i, open: true, element: element });
|
139
|
-
element.
|
140
|
-
element.
|
146
|
+
element.classList.add(name);
|
147
|
+
element.classList.add(mapClassName('brace-open'));
|
141
148
|
openStack.push(i);
|
142
149
|
} else if (text === close) {
|
143
150
|
allBraces.push({ index: i, open: false, element: element });
|
144
|
-
element.
|
145
|
-
element.
|
151
|
+
element.classList.add(name);
|
152
|
+
element.classList.add(mapClassName('brace-close'));
|
146
153
|
if (openStack.length) {
|
147
154
|
pairs.push([i, openStack.pop()]);
|
148
155
|
}
|
@@ -153,16 +160,16 @@
|
|
153
160
|
pairs.forEach(function (pair) {
|
154
161
|
var pairId = 'pair-' + (pairIdCounter++) + '-';
|
155
162
|
|
156
|
-
var
|
157
|
-
var
|
163
|
+
var opening = punctuation[pair[0]];
|
164
|
+
var closing = punctuation[pair[1]];
|
158
165
|
|
159
|
-
|
160
|
-
|
166
|
+
opening.id = pairId + 'open';
|
167
|
+
closing.id = pairId + 'close';
|
161
168
|
|
162
|
-
[
|
163
|
-
|
164
|
-
|
165
|
-
|
169
|
+
[opening, closing].forEach(function (e) {
|
170
|
+
e.addEventListener('mouseenter', hoverBrace);
|
171
|
+
e.addEventListener('mouseleave', leaveBrace);
|
172
|
+
e.addEventListener('click', clickBrace);
|
166
173
|
});
|
167
174
|
});
|
168
175
|
});
|
@@ -171,14 +178,13 @@
|
|
171
178
|
allBraces.sort(function (a, b) { return a.index - b.index; });
|
172
179
|
allBraces.forEach(function (brace) {
|
173
180
|
if (brace.open) {
|
174
|
-
brace.element.
|
181
|
+
brace.element.classList.add(mapClassName('brace-level-' + (level % LEVEL_WARP + 1)));
|
175
182
|
level++;
|
176
183
|
} else {
|
177
184
|
level = Math.max(0, level - 1);
|
178
|
-
brace.element.
|
185
|
+
brace.element.classList.add(mapClassName('brace-level-' + (level % LEVEL_WARP + 1)));
|
179
186
|
}
|
180
187
|
});
|
181
|
-
|
182
188
|
});
|
183
189
|
|
184
190
|
}());
|