@cyfung1031/prism-code-editor 5.2.0-cdn-esm.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +48 -0
- package/dist/atom-one-dark-WoPpRJvW.js.map +1 -0
- package/dist/atom-one-dark.js +6 -0
- package/dist/autocomplete-icons.css +1 -0
- package/dist/autocomplete.css +1 -0
- package/dist/basic-DwpT6yIa.js +33 -0
- package/dist/basic-DwpT6yIa.js.map +1 -0
- package/dist/bracket-CStGDfC7.js +8 -0
- package/dist/bracket-CStGDfC7.js.map +1 -0
- package/dist/client/code-block.d.ts +44 -0
- package/dist/client/code-block.js +254 -0
- package/dist/client/code-block.js.map +1 -0
- package/dist/client/hover.d.ts +54 -0
- package/dist/client/index.d.ts +14 -0
- package/dist/client/index.js +210 -0
- package/dist/client/index.js.map +1 -0
- package/dist/clike-class-CXD3NFPG.js +10 -0
- package/dist/clike-class-CXD3NFPG.js.map +1 -0
- package/dist/code-block.css +1 -0
- package/dist/commands-HRCav5fj.js +799 -0
- package/dist/commands-HRCav5fj.js.map +1 -0
- package/dist/copy.css +1 -0
- package/dist/core-DpDyJ-7r.js +163 -0
- package/dist/core-DpDyJ-7r.js.map +1 -0
- package/dist/core-fngiDtt5.js +228 -0
- package/dist/core-fngiDtt5.js.map +1 -0
- package/dist/core.d.ts +38 -0
- package/dist/cursor-7DP0p42U.js +80 -0
- package/dist/cursor-7DP0p42U.js.map +1 -0
- package/dist/cursor.css +1 -0
- package/dist/data-Be9fjVqf.js +984 -0
- package/dist/data-Be9fjVqf.js.map +1 -0
- package/dist/dracula-zKfxpQ6d.js.map +1 -0
- package/dist/dracula.js +6 -0
- package/dist/extensions/autocomplete/css/data.d.ts +6 -0
- package/dist/extensions/autocomplete/css/index.d.ts +15 -0
- package/dist/extensions/autocomplete/css/index.js +140 -0
- package/dist/extensions/autocomplete/css/index.js.map +1 -0
- package/dist/extensions/autocomplete/filter.d.ts +21 -0
- package/dist/extensions/autocomplete/index.d.ts +5 -0
- package/dist/extensions/autocomplete/index.js +59 -0
- package/dist/extensions/autocomplete/index.js.map +1 -0
- package/dist/extensions/autocomplete/javascript/index.d.ts +68 -0
- package/dist/extensions/autocomplete/javascript/index.js +1164 -0
- package/dist/extensions/autocomplete/javascript/index.js.map +1 -0
- package/dist/extensions/autocomplete/javascript/jsdoc.d.ts +4 -0
- package/dist/extensions/autocomplete/javascript/jsx.d.ts +10 -0
- package/dist/extensions/autocomplete/javascript/keywords.d.ts +7 -0
- package/dist/extensions/autocomplete/javascript/reactData.d.ts +4 -0
- package/dist/extensions/autocomplete/javascript/snippets.d.ts +3 -0
- package/dist/extensions/autocomplete/markup/data.d.ts +45 -0
- package/dist/extensions/autocomplete/markup/index.d.ts +35 -0
- package/dist/extensions/autocomplete/markup/index.js +3 -0
- package/dist/extensions/autocomplete/markup/mathData.d.ts +4 -0
- package/dist/extensions/autocomplete/markup/svgData.d.ts +4 -0
- package/dist/extensions/autocomplete/svelte/index.d.ts +14 -0
- package/dist/extensions/autocomplete/svelte/index.js +310 -0
- package/dist/extensions/autocomplete/svelte/index.js.map +1 -0
- package/dist/extensions/autocomplete/svelte/snippets.d.ts +3 -0
- package/dist/extensions/autocomplete/tooltip.d.ts +46 -0
- package/dist/extensions/autocomplete/types.d.ts +168 -0
- package/dist/extensions/autocomplete/utils.d.ts +40 -0
- package/dist/extensions/autocomplete/vue/index.d.ts +14 -0
- package/dist/extensions/autocomplete/vue/index.js +132 -0
- package/dist/extensions/autocomplete/vue/index.js.map +1 -0
- package/dist/extensions/commands/commands.d.ts +95 -0
- package/dist/extensions/commands/deprecated.d.ts +38 -0
- package/dist/extensions/commands/format.d.ts +55 -0
- package/dist/extensions/commands/index.d.ts +37 -0
- package/dist/extensions/commands/index.js +3 -0
- package/dist/extensions/commands/types.d.ts +53 -0
- package/dist/extensions/commands/utils.d.ts +91 -0
- package/dist/extensions/copyButton/index.d.ts +13 -0
- package/dist/extensions/copyButton/index.js +32 -0
- package/dist/extensions/copyButton/index.js.map +1 -0
- package/dist/extensions/cursor/custom.d.ts +15 -0
- package/dist/extensions/cursor/index.d.ts +4 -0
- package/dist/extensions/cursor/index.js +2 -0
- package/dist/extensions/cursor/position.d.ts +24 -0
- package/dist/extensions/folding/index.d.ts +63 -0
- package/dist/extensions/folding/index.js +241 -0
- package/dist/extensions/folding/index.js.map +1 -0
- package/dist/extensions/guides.d.ts +18 -0
- package/dist/extensions/guides.js +105 -0
- package/dist/extensions/guides.js.map +1 -0
- package/dist/extensions/matchBrackets/highlight.d.ts +10 -0
- package/dist/extensions/matchBrackets/highlight.js +52 -0
- package/dist/extensions/matchBrackets/highlight.js.map +1 -0
- package/dist/extensions/matchBrackets/index.d.ts +38 -0
- package/dist/extensions/matchBrackets/index.js +72 -0
- package/dist/extensions/matchBrackets/index.js.map +1 -0
- package/dist/extensions/matchTags.d.ts +47 -0
- package/dist/extensions/matchTags.js +133 -0
- package/dist/extensions/matchTags.js.map +1 -0
- package/dist/extensions/search/api.d.ts +4 -0
- package/dist/extensions/search/api.js +3 -0
- package/dist/extensions/search/index.d.ts +4 -0
- package/dist/extensions/search/index.js +243 -0
- package/dist/extensions/search/index.js.map +1 -0
- package/dist/extensions/search/invisibles.d.ts +9 -0
- package/dist/extensions/search/replace.d.ts +36 -0
- package/dist/extensions/search/search.d.ts +33 -0
- package/dist/extensions/search/selection.d.ts +50 -0
- package/dist/extensions/search/widget.d.ts +23 -0
- package/dist/folding.css +1 -0
- package/dist/github-dark-DAAU7q0X.js.map +1 -0
- package/dist/github-dark-dimmed-C7T3Cyau.js.map +1 -0
- package/dist/github-dark-dimmed.js +6 -0
- package/dist/github-dark.js +6 -0
- package/dist/github-light-BbUD-EcB.js.map +1 -0
- package/dist/github-light.js +6 -0
- package/dist/guides.css +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/invisibles.css +1 -0
- package/dist/jsx-shared-CZGNsLLj.js +96 -0
- package/dist/jsx-shared-CZGNsLLj.js.map +1 -0
- package/dist/language-CPVUjid6.js +34 -0
- package/dist/language-CPVUjid6.js.map +1 -0
- package/dist/languages/abap.d.ts +3 -0
- package/dist/languages/abap.js +7 -0
- package/dist/languages/abap.js.map +1 -0
- package/dist/languages/abnf.d.ts +3 -0
- package/dist/languages/abnf.js +8 -0
- package/dist/languages/abnf.js.map +1 -0
- package/dist/languages/actionscript.d.ts +3 -0
- package/dist/languages/actionscript.js +8 -0
- package/dist/languages/actionscript.js.map +1 -0
- package/dist/languages/ada.d.ts +3 -0
- package/dist/languages/ada.js +8 -0
- package/dist/languages/ada.js.map +1 -0
- package/dist/languages/agda.d.ts +3 -0
- package/dist/languages/agda.js +7 -0
- package/dist/languages/agda.js.map +1 -0
- package/dist/languages/al.d.ts +3 -0
- package/dist/languages/al.js +8 -0
- package/dist/languages/al.js.map +1 -0
- package/dist/languages/antlr4.d.ts +3 -0
- package/dist/languages/antlr4.js +8 -0
- package/dist/languages/antlr4.js.map +1 -0
- package/dist/languages/apacheconf.d.ts +3 -0
- package/dist/languages/apacheconf.js +15 -0
- package/dist/languages/apacheconf.js.map +1 -0
- package/dist/languages/apex.d.ts +3 -0
- package/dist/languages/apex.js +8 -0
- package/dist/languages/apex.js.map +1 -0
- package/dist/languages/apl.d.ts +3 -0
- package/dist/languages/apl.js +8 -0
- package/dist/languages/apl.js.map +1 -0
- package/dist/languages/applescript.d.ts +3 -0
- package/dist/languages/applescript.js +10 -0
- package/dist/languages/applescript.js.map +1 -0
- package/dist/languages/aql.d.ts +3 -0
- package/dist/languages/aql.js +8 -0
- package/dist/languages/aql.js.map +1 -0
- package/dist/languages/arduino.d.ts +3 -0
- package/dist/languages/arduino.js +8 -0
- package/dist/languages/arduino.js.map +1 -0
- package/dist/languages/arff.d.ts +3 -0
- package/dist/languages/arff.js +7 -0
- package/dist/languages/arff.js.map +1 -0
- package/dist/languages/arturo.d.ts +3 -0
- package/dist/languages/arturo.js +7 -0
- package/dist/languages/arturo.js.map +1 -0
- package/dist/languages/asciidoc.d.ts +3 -0
- package/dist/languages/asciidoc.js +7 -0
- package/dist/languages/asciidoc.js.map +1 -0
- package/dist/languages/asm.d.ts +3 -0
- package/dist/languages/asm.js +7 -0
- package/dist/languages/asm.js.map +1 -0
- package/dist/languages/aspnet.d.ts +3 -0
- package/dist/languages/aspnet.js +9 -0
- package/dist/languages/aspnet.js.map +1 -0
- package/dist/languages/astro.d.ts +3 -0
- package/dist/languages/astro.js +9 -0
- package/dist/languages/astro.js.map +1 -0
- package/dist/languages/autohotkey.d.ts +3 -0
- package/dist/languages/autohotkey.js +11 -0
- package/dist/languages/autohotkey.js.map +1 -0
- package/dist/languages/autoit.d.ts +3 -0
- package/dist/languages/autoit.js +10 -0
- package/dist/languages/autoit.js.map +1 -0
- package/dist/languages/avisynth.d.ts +3 -0
- package/dist/languages/avisynth.js +11 -0
- package/dist/languages/avisynth.js.map +1 -0
- package/dist/languages/avro-idl.d.ts +3 -0
- package/dist/languages/avro-idl.js +8 -0
- package/dist/languages/avro-idl.js.map +1 -0
- package/dist/languages/awk.d.ts +3 -0
- package/dist/languages/awk.js +8 -0
- package/dist/languages/awk.js.map +1 -0
- package/dist/languages/bash.d.ts +3 -0
- package/dist/languages/bash.js +8 -0
- package/dist/languages/bash.js.map +1 -0
- package/dist/languages/basic.d.ts +3 -0
- package/dist/languages/basic.js +7 -0
- package/dist/languages/basic.js.map +1 -0
- package/dist/languages/batch.d.ts +3 -0
- package/dist/languages/batch.js +7 -0
- package/dist/languages/batch.js.map +1 -0
- package/dist/languages/bbj.d.ts +3 -0
- package/dist/languages/bbj.js +7 -0
- package/dist/languages/bbj.js.map +1 -0
- package/dist/languages/bicep.d.ts +3 -0
- package/dist/languages/bicep.js +8 -0
- package/dist/languages/bicep.js.map +1 -0
- package/dist/languages/birb.d.ts +3 -0
- package/dist/languages/birb.js +8 -0
- package/dist/languages/birb.js.map +1 -0
- package/dist/languages/bison.d.ts +3 -0
- package/dist/languages/bison.js +8 -0
- package/dist/languages/bison.js.map +1 -0
- package/dist/languages/bqn.d.ts +3 -0
- package/dist/languages/bqn.js +8 -0
- package/dist/languages/bqn.js.map +1 -0
- package/dist/languages/brightscript.d.ts +3 -0
- package/dist/languages/brightscript.js +7 -0
- package/dist/languages/brightscript.js.map +1 -0
- package/dist/languages/bro.d.ts +3 -0
- package/dist/languages/bro.js +8 -0
- package/dist/languages/bro.js.map +1 -0
- package/dist/languages/bsl.d.ts +3 -0
- package/dist/languages/bsl.js +8 -0
- package/dist/languages/bsl.js.map +1 -0
- package/dist/languages/cfscript.d.ts +3 -0
- package/dist/languages/cfscript.js +8 -0
- package/dist/languages/cfscript.js.map +1 -0
- package/dist/languages/chaiscript.d.ts +3 -0
- package/dist/languages/chaiscript.js +8 -0
- package/dist/languages/chaiscript.js.map +1 -0
- package/dist/languages/cil.d.ts +3 -0
- package/dist/languages/cil.js +8 -0
- package/dist/languages/cil.js.map +1 -0
- package/dist/languages/cilk.d.ts +3 -0
- package/dist/languages/cilk.js +8 -0
- package/dist/languages/cilk.js.map +1 -0
- package/dist/languages/clike.d.ts +3 -0
- package/dist/languages/clike.js +8 -0
- package/dist/languages/clike.js.map +1 -0
- package/dist/languages/clojure.d.ts +3 -0
- package/dist/languages/clojure.js +8 -0
- package/dist/languages/clojure.js.map +1 -0
- package/dist/languages/cmake.d.ts +3 -0
- package/dist/languages/cmake.js +11 -0
- package/dist/languages/cmake.js.map +1 -0
- package/dist/languages/cobol.d.ts +3 -0
- package/dist/languages/cobol.js +7 -0
- package/dist/languages/cobol.js.map +1 -0
- package/dist/languages/coffeescript.d.ts +3 -0
- package/dist/languages/coffeescript.js +11 -0
- package/dist/languages/coffeescript.js.map +1 -0
- package/dist/languages/common.d.ts +3 -0
- package/dist/languages/common.js +28 -0
- package/dist/languages/concurnas.d.ts +3 -0
- package/dist/languages/concurnas.js +8 -0
- package/dist/languages/concurnas.js.map +1 -0
- package/dist/languages/cooklang.d.ts +3 -0
- package/dist/languages/cooklang.js +10 -0
- package/dist/languages/cooklang.js.map +1 -0
- package/dist/languages/coq.d.ts +3 -0
- package/dist/languages/coq.js +8 -0
- package/dist/languages/coq.js.map +1 -0
- package/dist/languages/cshtml.d.ts +3 -0
- package/dist/languages/cshtml.js +9 -0
- package/dist/languages/cshtml.js.map +1 -0
- package/dist/languages/css.d.ts +3 -0
- package/dist/languages/css.js +10 -0
- package/dist/languages/css.js.map +1 -0
- package/dist/languages/cue.d.ts +3 -0
- package/dist/languages/cue.js +8 -0
- package/dist/languages/cue.js.map +1 -0
- package/dist/languages/cypher.d.ts +3 -0
- package/dist/languages/cypher.js +8 -0
- package/dist/languages/cypher.js.map +1 -0
- package/dist/languages/dataweave.d.ts +3 -0
- package/dist/languages/dataweave.js +8 -0
- package/dist/languages/dataweave.js.map +1 -0
- package/dist/languages/dax.d.ts +3 -0
- package/dist/languages/dax.js +8 -0
- package/dist/languages/dax.js.map +1 -0
- package/dist/languages/dhall.d.ts +3 -0
- package/dist/languages/dhall.js +11 -0
- package/dist/languages/dhall.js.map +1 -0
- package/dist/languages/django.d.ts +3 -0
- package/dist/languages/django.js +8 -0
- package/dist/languages/django.js.map +1 -0
- package/dist/languages/dns-zone-file.d.ts +3 -0
- package/dist/languages/dns-zone-file.js +7 -0
- package/dist/languages/dns-zone-file.js.map +1 -0
- package/dist/languages/docker.d.ts +3 -0
- package/dist/languages/docker.js +7 -0
- package/dist/languages/docker.js.map +1 -0
- package/dist/languages/dot.d.ts +3 -0
- package/dist/languages/dot.js +8 -0
- package/dist/languages/dot.js.map +1 -0
- package/dist/languages/ebnf.d.ts +3 -0
- package/dist/languages/ebnf.js +8 -0
- package/dist/languages/ebnf.js.map +1 -0
- package/dist/languages/editorconfig.d.ts +3 -0
- package/dist/languages/editorconfig.js +7 -0
- package/dist/languages/editorconfig.js.map +1 -0
- package/dist/languages/eiffel.d.ts +3 -0
- package/dist/languages/eiffel.js +8 -0
- package/dist/languages/eiffel.js.map +1 -0
- package/dist/languages/ejs.d.ts +3 -0
- package/dist/languages/ejs.js +9 -0
- package/dist/languages/ejs.js.map +1 -0
- package/dist/languages/elixir.d.ts +3 -0
- package/dist/languages/elixir.js +7 -0
- package/dist/languages/elixir.js.map +1 -0
- package/dist/languages/elm.d.ts +3 -0
- package/dist/languages/elm.js +10 -0
- package/dist/languages/elm.js.map +1 -0
- package/dist/languages/erb.d.ts +3 -0
- package/dist/languages/erb.js +8 -0
- package/dist/languages/erb.js.map +1 -0
- package/dist/languages/erlang.d.ts +3 -0
- package/dist/languages/erlang.js +7 -0
- package/dist/languages/erlang.js.map +1 -0
- package/dist/languages/etlua.d.ts +3 -0
- package/dist/languages/etlua.js +8 -0
- package/dist/languages/etlua.js.map +1 -0
- package/dist/languages/excel-formula.d.ts +3 -0
- package/dist/languages/excel-formula.js +8 -0
- package/dist/languages/excel-formula.js.map +1 -0
- package/dist/languages/factor.d.ts +3 -0
- package/dist/languages/factor.js +11 -0
- package/dist/languages/factor.js.map +1 -0
- package/dist/languages/false.d.ts +3 -0
- package/dist/languages/false.js +7 -0
- package/dist/languages/false.js.map +1 -0
- package/dist/languages/firestore-security-rules.d.ts +3 -0
- package/dist/languages/firestore-security-rules.js +8 -0
- package/dist/languages/firestore-security-rules.js.map +1 -0
- package/dist/languages/fortran.d.ts +3 -0
- package/dist/languages/fortran.js +7 -0
- package/dist/languages/fortran.js.map +1 -0
- package/dist/languages/fsharp.d.ts +3 -0
- package/dist/languages/fsharp.js +11 -0
- package/dist/languages/fsharp.js.map +1 -0
- package/dist/languages/ftl.d.ts +3 -0
- package/dist/languages/ftl.js +8 -0
- package/dist/languages/ftl.js.map +1 -0
- package/dist/languages/gap.d.ts +3 -0
- package/dist/languages/gap.js +7 -0
- package/dist/languages/gap.js.map +1 -0
- package/dist/languages/gcode.d.ts +3 -0
- package/dist/languages/gcode.js +7 -0
- package/dist/languages/gcode.js.map +1 -0
- package/dist/languages/gdscript.d.ts +3 -0
- package/dist/languages/gdscript.js +8 -0
- package/dist/languages/gdscript.js.map +1 -0
- package/dist/languages/gettext.d.ts +3 -0
- package/dist/languages/gettext.js +7 -0
- package/dist/languages/gettext.js.map +1 -0
- package/dist/languages/gherkin.d.ts +3 -0
- package/dist/languages/gherkin.js +7 -0
- package/dist/languages/gherkin.js.map +1 -0
- package/dist/languages/git.d.ts +3 -0
- package/dist/languages/git.js +7 -0
- package/dist/languages/git.js.map +1 -0
- package/dist/languages/glsl.d.ts +3 -0
- package/dist/languages/glsl.js +8 -0
- package/dist/languages/glsl.js.map +1 -0
- package/dist/languages/gml.d.ts +3 -0
- package/dist/languages/gml.js +8 -0
- package/dist/languages/gml.js.map +1 -0
- package/dist/languages/gn.d.ts +3 -0
- package/dist/languages/gn.js +8 -0
- package/dist/languages/gn.js.map +1 -0
- package/dist/languages/go-module.d.ts +3 -0
- package/dist/languages/go-module.js +8 -0
- package/dist/languages/go-module.js.map +1 -0
- package/dist/languages/gradle.d.ts +3 -0
- package/dist/languages/gradle.js +8 -0
- package/dist/languages/gradle.js.map +1 -0
- package/dist/languages/graphql.d.ts +3 -0
- package/dist/languages/graphql.js +8 -0
- package/dist/languages/graphql.js.map +1 -0
- package/dist/languages/groovy.d.ts +3 -0
- package/dist/languages/groovy.js +8 -0
- package/dist/languages/groovy.js.map +1 -0
- package/dist/languages/haml.d.ts +3 -0
- package/dist/languages/haml.js +8 -0
- package/dist/languages/haml.js.map +1 -0
- package/dist/languages/handlebars.d.ts +3 -0
- package/dist/languages/handlebars.js +8 -0
- package/dist/languages/handlebars.js.map +1 -0
- package/dist/languages/haskell.d.ts +3 -0
- package/dist/languages/haskell.js +11 -0
- package/dist/languages/haskell.js.map +1 -0
- package/dist/languages/hcl.d.ts +3 -0
- package/dist/languages/hcl.js +11 -0
- package/dist/languages/hcl.js.map +1 -0
- package/dist/languages/hoon.d.ts +3 -0
- package/dist/languages/hoon.js +7 -0
- package/dist/languages/hoon.js.map +1 -0
- package/dist/languages/html.d.ts +3 -0
- package/dist/languages/html.js +9 -0
- package/dist/languages/html.js.map +1 -0
- package/dist/languages/ichigojam.d.ts +3 -0
- package/dist/languages/ichigojam.js +8 -0
- package/dist/languages/ichigojam.js.map +1 -0
- package/dist/languages/icon.d.ts +3 -0
- package/dist/languages/icon.js +8 -0
- package/dist/languages/icon.js.map +1 -0
- package/dist/languages/iecst.d.ts +3 -0
- package/dist/languages/iecst.js +11 -0
- package/dist/languages/iecst.js.map +1 -0
- package/dist/languages/ignore.d.ts +3 -0
- package/dist/languages/ignore.js +7 -0
- package/dist/languages/ignore.js.map +1 -0
- package/dist/languages/index.d.ts +3 -0
- package/dist/languages/index.js +239 -0
- package/dist/languages/inform7.d.ts +3 -0
- package/dist/languages/inform7.js +8 -0
- package/dist/languages/inform7.js.map +1 -0
- package/dist/languages/ini.d.ts +3 -0
- package/dist/languages/ini.js +7 -0
- package/dist/languages/ini.js.map +1 -0
- package/dist/languages/io.d.ts +3 -0
- package/dist/languages/io.js +8 -0
- package/dist/languages/io.js.map +1 -0
- package/dist/languages/j.d.ts +3 -0
- package/dist/languages/j.js +7 -0
- package/dist/languages/j.js.map +1 -0
- package/dist/languages/jolie.d.ts +3 -0
- package/dist/languages/jolie.js +8 -0
- package/dist/languages/jolie.js.map +1 -0
- package/dist/languages/jq.d.ts +3 -0
- package/dist/languages/jq.js +8 -0
- package/dist/languages/jq.js.map +1 -0
- package/dist/languages/json.d.ts +3 -0
- package/dist/languages/json.js +8 -0
- package/dist/languages/json.js.map +1 -0
- package/dist/languages/jsx.d.ts +3 -0
- package/dist/languages/jsx.js +31 -0
- package/dist/languages/jsx.js.map +1 -0
- package/dist/languages/julia.d.ts +3 -0
- package/dist/languages/julia.js +11 -0
- package/dist/languages/julia.js.map +1 -0
- package/dist/languages/keepalived.d.ts +3 -0
- package/dist/languages/keepalived.js +8 -0
- package/dist/languages/keepalived.js.map +1 -0
- package/dist/languages/keyman.d.ts +3 -0
- package/dist/languages/keyman.js +7 -0
- package/dist/languages/keyman.js.map +1 -0
- package/dist/languages/kotlin.d.ts +3 -0
- package/dist/languages/kotlin.js +8 -0
- package/dist/languages/kotlin.js.map +1 -0
- package/dist/languages/kumir.d.ts +3 -0
- package/dist/languages/kumir.js +8 -0
- package/dist/languages/kumir.js.map +1 -0
- package/dist/languages/kusto.d.ts +3 -0
- package/dist/languages/kusto.js +8 -0
- package/dist/languages/kusto.js.map +1 -0
- package/dist/languages/latex.d.ts +3 -0
- package/dist/languages/latex.js +8 -0
- package/dist/languages/latex.js.map +1 -0
- package/dist/languages/latte.d.ts +3 -0
- package/dist/languages/latte.js +8 -0
- package/dist/languages/latte.js.map +1 -0
- package/dist/languages/lilypond.d.ts +3 -0
- package/dist/languages/lilypond.js +11 -0
- package/dist/languages/lilypond.js.map +1 -0
- package/dist/languages/linker-script.d.ts +3 -0
- package/dist/languages/linker-script.js +8 -0
- package/dist/languages/linker-script.js.map +1 -0
- package/dist/languages/liquid.d.ts +3 -0
- package/dist/languages/liquid.js +8 -0
- package/dist/languages/liquid.js.map +1 -0
- package/dist/languages/lisp.d.ts +3 -0
- package/dist/languages/lisp.js +8 -0
- package/dist/languages/lisp.js.map +1 -0
- package/dist/languages/livescript.d.ts +3 -0
- package/dist/languages/livescript.js +11 -0
- package/dist/languages/livescript.js.map +1 -0
- package/dist/languages/llvm.d.ts +3 -0
- package/dist/languages/llvm.js +8 -0
- package/dist/languages/llvm.js.map +1 -0
- package/dist/languages/lolcode.d.ts +3 -0
- package/dist/languages/lolcode.js +10 -0
- package/dist/languages/lolcode.js.map +1 -0
- package/dist/languages/lua.d.ts +3 -0
- package/dist/languages/lua.js +11 -0
- package/dist/languages/lua.js.map +1 -0
- package/dist/languages/magma.d.ts +3 -0
- package/dist/languages/magma.js +8 -0
- package/dist/languages/magma.js.map +1 -0
- package/dist/languages/makefile.d.ts +3 -0
- package/dist/languages/makefile.js +7 -0
- package/dist/languages/makefile.js.map +1 -0
- package/dist/languages/mata.d.ts +3 -0
- package/dist/languages/mata.js +8 -0
- package/dist/languages/mata.js.map +1 -0
- package/dist/languages/matlab.d.ts +3 -0
- package/dist/languages/matlab.js +11 -0
- package/dist/languages/matlab.js.map +1 -0
- package/dist/languages/maxscript.d.ts +3 -0
- package/dist/languages/maxscript.js +11 -0
- package/dist/languages/maxscript.js.map +1 -0
- package/dist/languages/mel.d.ts +3 -0
- package/dist/languages/mel.js +8 -0
- package/dist/languages/mel.js.map +1 -0
- package/dist/languages/mermaid.d.ts +3 -0
- package/dist/languages/mermaid.js +8 -0
- package/dist/languages/mermaid.js.map +1 -0
- package/dist/languages/metafont.d.ts +3 -0
- package/dist/languages/metafont.js +8 -0
- package/dist/languages/metafont.js.map +1 -0
- package/dist/languages/mizar.d.ts +3 -0
- package/dist/languages/mizar.js +8 -0
- package/dist/languages/mizar.js.map +1 -0
- package/dist/languages/mongodb.d.ts +3 -0
- package/dist/languages/mongodb.js +8 -0
- package/dist/languages/mongodb.js.map +1 -0
- package/dist/languages/monkey.d.ts +3 -0
- package/dist/languages/monkey.js +8 -0
- package/dist/languages/monkey.js.map +1 -0
- package/dist/languages/moonscript.d.ts +3 -0
- package/dist/languages/moonscript.js +8 -0
- package/dist/languages/moonscript.js.map +1 -0
- package/dist/languages/n1ql.d.ts +3 -0
- package/dist/languages/n1ql.js +11 -0
- package/dist/languages/n1ql.js.map +1 -0
- package/dist/languages/n4js.d.ts +3 -0
- package/dist/languages/n4js.js +8 -0
- package/dist/languages/n4js.js.map +1 -0
- package/dist/languages/nand2tetris-hdl.d.ts +3 -0
- package/dist/languages/nand2tetris-hdl.js +8 -0
- package/dist/languages/nand2tetris-hdl.js.map +1 -0
- package/dist/languages/naniscript.d.ts +3 -0
- package/dist/languages/naniscript.js +8 -0
- package/dist/languages/naniscript.js.map +1 -0
- package/dist/languages/neon.d.ts +3 -0
- package/dist/languages/neon.js +8 -0
- package/dist/languages/neon.js.map +1 -0
- package/dist/languages/nevod.d.ts +3 -0
- package/dist/languages/nevod.js +8 -0
- package/dist/languages/nevod.js.map +1 -0
- package/dist/languages/nginx.d.ts +3 -0
- package/dist/languages/nginx.js +8 -0
- package/dist/languages/nginx.js.map +1 -0
- package/dist/languages/nim.d.ts +3 -0
- package/dist/languages/nim.js +8 -0
- package/dist/languages/nim.js.map +1 -0
- package/dist/languages/nix.d.ts +3 -0
- package/dist/languages/nix.js +11 -0
- package/dist/languages/nix.js.map +1 -0
- package/dist/languages/nsis.d.ts +3 -0
- package/dist/languages/nsis.js +11 -0
- package/dist/languages/nsis.js.map +1 -0
- package/dist/languages/objectivec.d.ts +3 -0
- package/dist/languages/objectivec.js +8 -0
- package/dist/languages/objectivec.js.map +1 -0
- package/dist/languages/ocaml.d.ts +3 -0
- package/dist/languages/ocaml.js +8 -0
- package/dist/languages/ocaml.js.map +1 -0
- package/dist/languages/odin.d.ts +3 -0
- package/dist/languages/odin.js +8 -0
- package/dist/languages/odin.js.map +1 -0
- package/dist/languages/opencl.d.ts +3 -0
- package/dist/languages/opencl.js +8 -0
- package/dist/languages/opencl.js.map +1 -0
- package/dist/languages/openqasm.d.ts +3 -0
- package/dist/languages/openqasm.js +8 -0
- package/dist/languages/openqasm.js.map +1 -0
- package/dist/languages/oz.d.ts +3 -0
- package/dist/languages/oz.js +11 -0
- package/dist/languages/oz.js.map +1 -0
- package/dist/languages/parigp.d.ts +3 -0
- package/dist/languages/parigp.js +11 -0
- package/dist/languages/parigp.js.map +1 -0
- package/dist/languages/parser.d.ts +3 -0
- package/dist/languages/parser.js +12 -0
- package/dist/languages/parser.js.map +1 -0
- package/dist/languages/pascal.d.ts +3 -0
- package/dist/languages/pascal.js +11 -0
- package/dist/languages/pascal.js.map +1 -0
- package/dist/languages/peoplecode.d.ts +3 -0
- package/dist/languages/peoplecode.js +7 -0
- package/dist/languages/peoplecode.js.map +1 -0
- package/dist/languages/perl.d.ts +3 -0
- package/dist/languages/perl.js +8 -0
- package/dist/languages/perl.js.map +1 -0
- package/dist/languages/php.d.ts +3 -0
- package/dist/languages/php.js +19 -0
- package/dist/languages/php.js.map +1 -0
- package/dist/languages/plant-uml.d.ts +3 -0
- package/dist/languages/plant-uml.js +11 -0
- package/dist/languages/plant-uml.js.map +1 -0
- package/dist/languages/powerquery.d.ts +3 -0
- package/dist/languages/powerquery.js +8 -0
- package/dist/languages/powerquery.js.map +1 -0
- package/dist/languages/powershell.d.ts +3 -0
- package/dist/languages/powershell.js +11 -0
- package/dist/languages/powershell.js.map +1 -0
- package/dist/languages/processing.d.ts +3 -0
- package/dist/languages/processing.js +8 -0
- package/dist/languages/processing.js.map +1 -0
- package/dist/languages/prolog.d.ts +3 -0
- package/dist/languages/prolog.js +11 -0
- package/dist/languages/prolog.js.map +1 -0
- package/dist/languages/promql.d.ts +3 -0
- package/dist/languages/promql.js +8 -0
- package/dist/languages/promql.js.map +1 -0
- package/dist/languages/properties.d.ts +3 -0
- package/dist/languages/properties.js +7 -0
- package/dist/languages/properties.js.map +1 -0
- package/dist/languages/protobuf.d.ts +3 -0
- package/dist/languages/protobuf.js +8 -0
- package/dist/languages/protobuf.js.map +1 -0
- package/dist/languages/psl.d.ts +3 -0
- package/dist/languages/psl.js +8 -0
- package/dist/languages/psl.js.map +1 -0
- package/dist/languages/pug.d.ts +3 -0
- package/dist/languages/pug.js +8 -0
- package/dist/languages/pug.js.map +1 -0
- package/dist/languages/puppet.d.ts +3 -0
- package/dist/languages/puppet.js +11 -0
- package/dist/languages/puppet.js.map +1 -0
- package/dist/languages/pure.d.ts +3 -0
- package/dist/languages/pure.js +8 -0
- package/dist/languages/pure.js.map +1 -0
- package/dist/languages/purebasic.d.ts +3 -0
- package/dist/languages/purebasic.js +8 -0
- package/dist/languages/purebasic.js.map +1 -0
- package/dist/languages/python.d.ts +3 -0
- package/dist/languages/python.js +8 -0
- package/dist/languages/python.js.map +1 -0
- package/dist/languages/q.d.ts +3 -0
- package/dist/languages/q.js +8 -0
- package/dist/languages/q.js.map +1 -0
- package/dist/languages/qml.d.ts +3 -0
- package/dist/languages/qml.js +8 -0
- package/dist/languages/qml.js.map +1 -0
- package/dist/languages/qore.d.ts +3 -0
- package/dist/languages/qore.js +8 -0
- package/dist/languages/qore.js.map +1 -0
- package/dist/languages/qsharp.d.ts +3 -0
- package/dist/languages/qsharp.js +8 -0
- package/dist/languages/qsharp.js.map +1 -0
- package/dist/languages/r.d.ts +3 -0
- package/dist/languages/r.js +8 -0
- package/dist/languages/r.js.map +1 -0
- package/dist/languages/reason.d.ts +3 -0
- package/dist/languages/reason.js +8 -0
- package/dist/languages/reason.js.map +1 -0
- package/dist/languages/rego.d.ts +3 -0
- package/dist/languages/rego.js +8 -0
- package/dist/languages/rego.js.map +1 -0
- package/dist/languages/rescript.d.ts +3 -0
- package/dist/languages/rescript.js +8 -0
- package/dist/languages/rescript.js.map +1 -0
- package/dist/languages/rest.d.ts +3 -0
- package/dist/languages/rest.js +7 -0
- package/dist/languages/rest.js.map +1 -0
- package/dist/languages/rip.d.ts +3 -0
- package/dist/languages/rip.js +8 -0
- package/dist/languages/rip.js.map +1 -0
- package/dist/languages/roboconf.d.ts +3 -0
- package/dist/languages/roboconf.js +8 -0
- package/dist/languages/roboconf.js.map +1 -0
- package/dist/languages/robotframework.d.ts +3 -0
- package/dist/languages/robotframework.js +7 -0
- package/dist/languages/robotframework.js.map +1 -0
- package/dist/languages/ruby.d.ts +3 -0
- package/dist/languages/ruby.js +11 -0
- package/dist/languages/ruby.js.map +1 -0
- package/dist/languages/rust.d.ts +3 -0
- package/dist/languages/rust.js +8 -0
- package/dist/languages/rust.js.map +1 -0
- package/dist/languages/sas.d.ts +3 -0
- package/dist/languages/sas.js +8 -0
- package/dist/languages/sas.js.map +1 -0
- package/dist/languages/scala.d.ts +3 -0
- package/dist/languages/scala.js +8 -0
- package/dist/languages/scala.js.map +1 -0
- package/dist/languages/scheme.d.ts +3 -0
- package/dist/languages/scheme.js +11 -0
- package/dist/languages/scheme.js.map +1 -0
- package/dist/languages/smali.d.ts +3 -0
- package/dist/languages/smali.js +7 -0
- package/dist/languages/smali.js.map +1 -0
- package/dist/languages/smalltalk.d.ts +3 -0
- package/dist/languages/smalltalk.js +8 -0
- package/dist/languages/smalltalk.js.map +1 -0
- package/dist/languages/smarty.d.ts +3 -0
- package/dist/languages/smarty.js +8 -0
- package/dist/languages/smarty.js.map +1 -0
- package/dist/languages/sml.d.ts +3 -0
- package/dist/languages/sml.js +8 -0
- package/dist/languages/sml.js.map +1 -0
- package/dist/languages/solidity.d.ts +3 -0
- package/dist/languages/solidity.js +8 -0
- package/dist/languages/solidity.js.map +1 -0
- package/dist/languages/solution-file.d.ts +3 -0
- package/dist/languages/solution-file.js +7 -0
- package/dist/languages/solution-file.js.map +1 -0
- package/dist/languages/soy.d.ts +3 -0
- package/dist/languages/soy.js +8 -0
- package/dist/languages/soy.js.map +1 -0
- package/dist/languages/splunk-spl.d.ts +3 -0
- package/dist/languages/splunk-spl.js +8 -0
- package/dist/languages/splunk-spl.js.map +1 -0
- package/dist/languages/sqf.d.ts +3 -0
- package/dist/languages/sqf.js +8 -0
- package/dist/languages/sqf.js.map +1 -0
- package/dist/languages/sql.d.ts +3 -0
- package/dist/languages/sql.js +11 -0
- package/dist/languages/sql.js.map +1 -0
- package/dist/languages/squirrel.d.ts +3 -0
- package/dist/languages/squirrel.js +8 -0
- package/dist/languages/squirrel.js.map +1 -0
- package/dist/languages/stan.d.ts +3 -0
- package/dist/languages/stan.js +8 -0
- package/dist/languages/stan.js.map +1 -0
- package/dist/languages/stata.d.ts +3 -0
- package/dist/languages/stata.js +8 -0
- package/dist/languages/stata.js.map +1 -0
- package/dist/languages/stylus.d.ts +3 -0
- package/dist/languages/stylus.js +8 -0
- package/dist/languages/stylus.js.map +1 -0
- package/dist/languages/supercollider.d.ts +3 -0
- package/dist/languages/supercollider.js +8 -0
- package/dist/languages/supercollider.js.map +1 -0
- package/dist/languages/svelte.d.ts +3 -0
- package/dist/languages/svelte.js +9 -0
- package/dist/languages/svelte.js.map +1 -0
- package/dist/languages/swift.d.ts +3 -0
- package/dist/languages/swift.js +8 -0
- package/dist/languages/swift.js.map +1 -0
- package/dist/languages/systemd.d.ts +3 -0
- package/dist/languages/systemd.js +7 -0
- package/dist/languages/systemd.js.map +1 -0
- package/dist/languages/tcl.d.ts +3 -0
- package/dist/languages/tcl.js +8 -0
- package/dist/languages/tcl.js.map +1 -0
- package/dist/languages/textile.d.ts +3 -0
- package/dist/languages/textile.js +9 -0
- package/dist/languages/textile.js.map +1 -0
- package/dist/languages/toml.d.ts +3 -0
- package/dist/languages/toml.js +8 -0
- package/dist/languages/toml.js.map +1 -0
- package/dist/languages/tremor.d.ts +3 -0
- package/dist/languages/tremor.js +7 -0
- package/dist/languages/tremor.js.map +1 -0
- package/dist/languages/tt2.d.ts +3 -0
- package/dist/languages/tt2.js +12 -0
- package/dist/languages/tt2.js.map +1 -0
- package/dist/languages/turtle.d.ts +3 -0
- package/dist/languages/turtle.js +8 -0
- package/dist/languages/turtle.js.map +1 -0
- package/dist/languages/twig.d.ts +3 -0
- package/dist/languages/twig.js +8 -0
- package/dist/languages/twig.js.map +1 -0
- package/dist/languages/typoscript.d.ts +3 -0
- package/dist/languages/typoscript.js +8 -0
- package/dist/languages/typoscript.js.map +1 -0
- package/dist/languages/unrealscript.d.ts +3 -0
- package/dist/languages/unrealscript.js +8 -0
- package/dist/languages/unrealscript.js.map +1 -0
- package/dist/languages/uorazor.d.ts +3 -0
- package/dist/languages/uorazor.js +7 -0
- package/dist/languages/uorazor.js.map +1 -0
- package/dist/languages/v.d.ts +3 -0
- package/dist/languages/v.js +8 -0
- package/dist/languages/v.js.map +1 -0
- package/dist/languages/vala.d.ts +3 -0
- package/dist/languages/vala.js +8 -0
- package/dist/languages/vala.js.map +1 -0
- package/dist/languages/vbnet.d.ts +3 -0
- package/dist/languages/vbnet.js +7 -0
- package/dist/languages/vbnet.js.map +1 -0
- package/dist/languages/velocity.d.ts +3 -0
- package/dist/languages/velocity.js +12 -0
- package/dist/languages/velocity.js.map +1 -0
- package/dist/languages/verilog.d.ts +3 -0
- package/dist/languages/verilog.js +8 -0
- package/dist/languages/verilog.js.map +1 -0
- package/dist/languages/vhdl.d.ts +3 -0
- package/dist/languages/vhdl.js +8 -0
- package/dist/languages/vhdl.js.map +1 -0
- package/dist/languages/vim.d.ts +3 -0
- package/dist/languages/vim.js +8 -0
- package/dist/languages/vim.js.map +1 -0
- package/dist/languages/visual-basic.d.ts +3 -0
- package/dist/languages/visual-basic.js +8 -0
- package/dist/languages/visual-basic.js.map +1 -0
- package/dist/languages/vue.d.ts +3 -0
- package/dist/languages/vue.js +9 -0
- package/dist/languages/vue.js.map +1 -0
- package/dist/languages/warpscript.d.ts +3 -0
- package/dist/languages/warpscript.js +8 -0
- package/dist/languages/warpscript.js.map +1 -0
- package/dist/languages/wasm.d.ts +3 -0
- package/dist/languages/wasm.js +10 -0
- package/dist/languages/wasm.js.map +1 -0
- package/dist/languages/web-idl.d.ts +3 -0
- package/dist/languages/web-idl.js +8 -0
- package/dist/languages/web-idl.js.map +1 -0
- package/dist/languages/wgsl.d.ts +3 -0
- package/dist/languages/wgsl.js +8 -0
- package/dist/languages/wgsl.js.map +1 -0
- package/dist/languages/wiki.d.ts +3 -0
- package/dist/languages/wiki.js +9 -0
- package/dist/languages/wiki.js.map +1 -0
- package/dist/languages/wolfram.d.ts +3 -0
- package/dist/languages/wolfram.js +8 -0
- package/dist/languages/wolfram.js.map +1 -0
- package/dist/languages/wren.d.ts +3 -0
- package/dist/languages/wren.js +8 -0
- package/dist/languages/wren.js.map +1 -0
- package/dist/languages/xeora.d.ts +3 -0
- package/dist/languages/xeora.js +8 -0
- package/dist/languages/xeora.js.map +1 -0
- package/dist/languages/xml.d.ts +3 -0
- package/dist/languages/xml.js +8 -0
- package/dist/languages/xml.js.map +1 -0
- package/dist/languages/xojo.d.ts +3 -0
- package/dist/languages/xojo.js +7 -0
- package/dist/languages/xojo.js.map +1 -0
- package/dist/languages/xquery.d.ts +3 -0
- package/dist/languages/xquery.js +11 -0
- package/dist/languages/xquery.js.map +1 -0
- package/dist/languages/yaml.d.ts +3 -0
- package/dist/languages/yaml.js +8 -0
- package/dist/languages/yaml.js.map +1 -0
- package/dist/languages/yang.d.ts +3 -0
- package/dist/languages/yang.js +8 -0
- package/dist/languages/yang.js.map +1 -0
- package/dist/languages/zig.d.ts +3 -0
- package/dist/languages/zig.js +8 -0
- package/dist/languages/zig.js.map +1 -0
- package/dist/layout.css +1 -0
- package/dist/markup-BuUgjal3.js +888 -0
- package/dist/markup-BuUgjal3.js.map +1 -0
- package/dist/markup-shared-51-ECHbZ.js +57 -0
- package/dist/markup-shared-51-ECHbZ.js.map +1 -0
- package/dist/night-owl-B_W94gui.js.map +1 -0
- package/dist/night-owl-light-BNi30pei.js.map +1 -0
- package/dist/night-owl-light.js +6 -0
- package/dist/night-owl.js +6 -0
- package/dist/patterns-DSInPV_c.js +11 -0
- package/dist/patterns-DSInPV_c.js.map +1 -0
- package/dist/prism/core.d.ts +143 -0
- package/dist/prism/index.d.ts +2 -0
- package/dist/prism/index.js +2 -0
- package/dist/prism/languages/abap.d.ts +3 -0
- package/dist/prism/languages/abap.js +39 -0
- package/dist/prism/languages/abap.js.map +1 -0
- package/dist/prism/languages/abnf.d.ts +3 -0
- package/dist/prism/languages/abnf.js +46 -0
- package/dist/prism/languages/abnf.js.map +1 -0
- package/dist/prism/languages/actionscript.d.ts +3 -0
- package/dist/prism/languages/actionscript.js +17 -0
- package/dist/prism/languages/actionscript.js.map +1 -0
- package/dist/prism/languages/ada.d.ts +3 -0
- package/dist/prism/languages/ada.js +21 -0
- package/dist/prism/languages/ada.js.map +1 -0
- package/dist/prism/languages/agda.d.ts +3 -0
- package/dist/prism/languages/agda.js +24 -0
- package/dist/prism/languages/agda.js.map +1 -0
- package/dist/prism/languages/al.d.ts +3 -0
- package/dist/prism/languages/al.js +22 -0
- package/dist/prism/languages/al.js.map +1 -0
- package/dist/prism/languages/antlr4.d.ts +3 -0
- package/dist/prism/languages/antlr4.js +58 -0
- package/dist/prism/languages/antlr4.js.map +1 -0
- package/dist/prism/languages/apacheconf.d.ts +3 -0
- package/dist/prism/languages/apacheconf.js +47 -0
- package/dist/prism/languages/apacheconf.js.map +1 -0
- package/dist/prism/languages/apex.d.ts +3 -0
- package/dist/prism/languages/apex.js +58 -0
- package/dist/prism/languages/apex.js.map +1 -0
- package/dist/prism/languages/apl.d.ts +3 -0
- package/dist/prism/languages/apl.js +35 -0
- package/dist/prism/languages/apl.js.map +1 -0
- package/dist/prism/languages/applescript.d.ts +3 -0
- package/dist/prism/languages/applescript.js +15 -0
- package/dist/prism/languages/applescript.js.map +1 -0
- package/dist/prism/languages/aql.d.ts +3 -0
- package/dist/prism/languages/aql.js +46 -0
- package/dist/prism/languages/aql.js.map +1 -0
- package/dist/prism/languages/arduino.d.ts +3 -0
- package/dist/prism/languages/arduino.js +13 -0
- package/dist/prism/languages/arduino.js.map +1 -0
- package/dist/prism/languages/arff.d.ts +3 -0
- package/dist/prism/languages/arff.js +13 -0
- package/dist/prism/languages/arff.js.map +1 -0
- package/dist/prism/languages/armasm.d.ts +3 -0
- package/dist/prism/languages/armasm.js +39 -0
- package/dist/prism/languages/armasm.js.map +1 -0
- package/dist/prism/languages/arturo.d.ts +3 -0
- package/dist/prism/languages/arturo.js +69 -0
- package/dist/prism/languages/arturo.js.map +1 -0
- package/dist/prism/languages/asciidoc.d.ts +3 -0
- package/dist/prism/languages/asciidoc.js +164 -0
- package/dist/prism/languages/asciidoc.js.map +1 -0
- package/dist/prism/languages/asm6502.d.ts +3 -0
- package/dist/prism/languages/asm6502.js +36 -0
- package/dist/prism/languages/asm6502.js.map +1 -0
- package/dist/prism/languages/asmatmel.d.ts +3 -0
- package/dist/prism/languages/asmatmel.js +42 -0
- package/dist/prism/languages/asmatmel.js.map +1 -0
- package/dist/prism/languages/aspnet.d.ts +3 -0
- package/dist/prism/languages/aspnet.js +46 -0
- package/dist/prism/languages/aspnet.js.map +1 -0
- package/dist/prism/languages/astro.d.ts +3 -0
- package/dist/prism/languages/astro.js +38 -0
- package/dist/prism/languages/astro.js.map +1 -0
- package/dist/prism/languages/autohotkey.d.ts +3 -0
- package/dist/prism/languages/autohotkey.js +39 -0
- package/dist/prism/languages/autohotkey.js.map +1 -0
- package/dist/prism/languages/autoit.d.ts +3 -0
- package/dist/prism/languages/autoit.js +32 -0
- package/dist/prism/languages/autoit.js.map +1 -0
- package/dist/prism/languages/avisynth.d.ts +3 -0
- package/dist/prism/languages/avisynth.js +55 -0
- package/dist/prism/languages/avisynth.js.map +1 -0
- package/dist/prism/languages/avro-idl.d.ts +3 -0
- package/dist/prism/languages/avro-idl.js +35 -0
- package/dist/prism/languages/avro-idl.js.map +1 -0
- package/dist/prism/languages/awk.d.ts +3 -0
- package/dist/prism/languages/awk.js +27 -0
- package/dist/prism/languages/awk.js.map +1 -0
- package/dist/prism/languages/bash.d.ts +3 -0
- package/dist/prism/languages/bash.js +170 -0
- package/dist/prism/languages/bash.js.map +1 -0
- package/dist/prism/languages/basic.d.ts +3 -0
- package/dist/prism/languages/basic.js +18 -0
- package/dist/prism/languages/basic.js.map +1 -0
- package/dist/prism/languages/batch.d.ts +3 -0
- package/dist/prism/languages/batch.js +87 -0
- package/dist/prism/languages/batch.js.map +1 -0
- package/dist/prism/languages/bbcode.d.ts +3 -0
- package/dist/prism/languages/bbcode.js +20 -0
- package/dist/prism/languages/bbcode.js.map +1 -0
- package/dist/prism/languages/bbj.d.ts +3 -0
- package/dist/prism/languages/bbj.js +19 -0
- package/dist/prism/languages/bbj.js.map +1 -0
- package/dist/prism/languages/bicep.d.ts +3 -0
- package/dist/prism/languages/bicep.js +47 -0
- package/dist/prism/languages/bicep.js.map +1 -0
- package/dist/prism/languages/birb.d.ts +3 -0
- package/dist/prism/languages/birb.js +23 -0
- package/dist/prism/languages/birb.js.map +1 -0
- package/dist/prism/languages/bison.d.ts +3 -0
- package/dist/prism/languages/bison.js +37 -0
- package/dist/prism/languages/bison.js.map +1 -0
- package/dist/prism/languages/bnf.d.ts +3 -0
- package/dist/prism/languages/bnf.js +19 -0
- package/dist/prism/languages/bnf.js.map +1 -0
- package/dist/prism/languages/bqn.d.ts +3 -0
- package/dist/prism/languages/bqn.js +63 -0
- package/dist/prism/languages/bqn.js.map +1 -0
- package/dist/prism/languages/brainfuck.d.ts +3 -0
- package/dist/prism/languages/brainfuck.js +26 -0
- package/dist/prism/languages/brainfuck.js.map +1 -0
- package/dist/prism/languages/brightscript.d.ts +3 -0
- package/dist/prism/languages/brightscript.js +43 -0
- package/dist/prism/languages/brightscript.js.map +1 -0
- package/dist/prism/languages/bro.d.ts +3 -0
- package/dist/prism/languages/bro.js +29 -0
- package/dist/prism/languages/bro.js.map +1 -0
- package/dist/prism/languages/bsl.d.ts +3 -0
- package/dist/prism/languages/bsl.js +30 -0
- package/dist/prism/languages/bsl.js.map +1 -0
- package/dist/prism/languages/c.d.ts +3 -0
- package/dist/prism/languages/c.js +55 -0
- package/dist/prism/languages/c.js.map +1 -0
- package/dist/prism/languages/cfscript.d.ts +3 -0
- package/dist/prism/languages/cfscript.js +35 -0
- package/dist/prism/languages/cfscript.js.map +1 -0
- package/dist/prism/languages/chaiscript.d.ts +3 -0
- package/dist/prism/languages/chaiscript.js +54 -0
- package/dist/prism/languages/chaiscript.js.map +1 -0
- package/dist/prism/languages/cil.d.ts +3 -0
- package/dist/prism/languages/cil.js +22 -0
- package/dist/prism/languages/cil.js.map +1 -0
- package/dist/prism/languages/cilkc.d.ts +3 -0
- package/dist/prism/languages/cilkc.js +12 -0
- package/dist/prism/languages/cilkc.js.map +1 -0
- package/dist/prism/languages/cilkcpp.d.ts +3 -0
- package/dist/prism/languages/cilkcpp.js +12 -0
- package/dist/prism/languages/cilkcpp.js.map +1 -0
- package/dist/prism/languages/clike.d.ts +3 -0
- package/dist/prism/languages/clike.js +19 -0
- package/dist/prism/languages/clike.js.map +1 -0
- package/dist/prism/languages/clojure.d.ts +3 -0
- package/dist/prism/languages/clojure.js +30 -0
- package/dist/prism/languages/clojure.js.map +1 -0
- package/dist/prism/languages/cmake.d.ts +3 -0
- package/dist/prism/languages/cmake.js +32 -0
- package/dist/prism/languages/cmake.js.map +1 -0
- package/dist/prism/languages/cobol.d.ts +3 -0
- package/dist/prism/languages/cobol.js +46 -0
- package/dist/prism/languages/cobol.js.map +1 -0
- package/dist/prism/languages/coffeescript.d.ts +3 -0
- package/dist/prism/languages/coffeescript.js +65 -0
- package/dist/prism/languages/coffeescript.js.map +1 -0
- package/dist/prism/languages/common.d.ts +3 -0
- package/dist/prism/languages/common.js +44 -0
- package/dist/prism/languages/concurnas.d.ts +3 -0
- package/dist/prism/languages/concurnas.js +52 -0
- package/dist/prism/languages/concurnas.js.map +1 -0
- package/dist/prism/languages/cooklang.d.ts +3 -0
- package/dist/prism/languages/cooklang.js +116 -0
- package/dist/prism/languages/cooklang.js.map +1 -0
- package/dist/prism/languages/coq.d.ts +3 -0
- package/dist/prism/languages/coq.js +34 -0
- package/dist/prism/languages/coq.js.map +1 -0
- package/dist/prism/languages/cpp.d.ts +3 -0
- package/dist/prism/languages/cpp.js +63 -0
- package/dist/prism/languages/cpp.js.map +1 -0
- package/dist/prism/languages/crystal.d.ts +3 -0
- package/dist/prism/languages/crystal.js +51 -0
- package/dist/prism/languages/crystal.js.map +1 -0
- package/dist/prism/languages/csharp.d.ts +3 -0
- package/dist/prism/languages/csharp.js +235 -0
- package/dist/prism/languages/csharp.js.map +1 -0
- package/dist/prism/languages/cshtml.d.ts +3 -0
- package/dist/prism/languages/cshtml.js +72 -0
- package/dist/prism/languages/cshtml.js.map +1 -0
- package/dist/prism/languages/csp.d.ts +3 -0
- package/dist/prism/languages/csp.js +50 -0
- package/dist/prism/languages/csp.js.map +1 -0
- package/dist/prism/languages/css-extras.d.ts +3 -0
- package/dist/prism/languages/css-extras.js +72 -0
- package/dist/prism/languages/css-extras.js.map +1 -0
- package/dist/prism/languages/css.d.ts +3 -0
- package/dist/prism/languages/css.js +57 -0
- package/dist/prism/languages/css.js.map +1 -0
- package/dist/prism/languages/csv.d.ts +3 -0
- package/dist/prism/languages/csv.js +10 -0
- package/dist/prism/languages/csv.js.map +1 -0
- package/dist/prism/languages/cue.d.ts +3 -0
- package/dist/prism/languages/cue.js +55 -0
- package/dist/prism/languages/cue.js.map +1 -0
- package/dist/prism/languages/cypher.d.ts +3 -0
- package/dist/prism/languages/cypher.js +28 -0
- package/dist/prism/languages/cypher.js.map +1 -0
- package/dist/prism/languages/d.d.ts +3 -0
- package/dist/prism/languages/d.js +31 -0
- package/dist/prism/languages/d.js.map +1 -0
- package/dist/prism/languages/dart.d.ts +3 -0
- package/dist/prism/languages/dart.js +61 -0
- package/dist/prism/languages/dart.js.map +1 -0
- package/dist/prism/languages/dataweave.d.ts +3 -0
- package/dist/prism/languages/dataweave.js +22 -0
- package/dist/prism/languages/dataweave.js.map +1 -0
- package/dist/prism/languages/dax.d.ts +3 -0
- package/dist/prism/languages/dax.js +27 -0
- package/dist/prism/languages/dax.js.map +1 -0
- package/dist/prism/languages/dhall.d.ts +3 -0
- package/dist/prism/languages/dhall.js +49 -0
- package/dist/prism/languages/dhall.js.map +1 -0
- package/dist/prism/languages/diff.d.ts +3 -0
- package/dist/prism/languages/diff.js +31 -0
- package/dist/prism/languages/diff.js.map +1 -0
- package/dist/prism/languages/django.d.ts +3 -0
- package/dist/prism/languages/django.js +46 -0
- package/dist/prism/languages/django.js.map +1 -0
- package/dist/prism/languages/dns-zone-file.d.ts +3 -0
- package/dist/prism/languages/dns-zone-file.js +29 -0
- package/dist/prism/languages/dns-zone-file.js.map +1 -0
- package/dist/prism/languages/docker.d.ts +3 -0
- package/dist/prism/languages/docker.js +59 -0
- package/dist/prism/languages/docker.js.map +1 -0
- package/dist/prism/languages/dot.d.ts +3 -0
- package/dist/prism/languages/dot.js +46 -0
- package/dist/prism/languages/dot.js.map +1 -0
- package/dist/prism/languages/ebnf.d.ts +3 -0
- package/dist/prism/languages/ebnf.js +22 -0
- package/dist/prism/languages/ebnf.js.map +1 -0
- package/dist/prism/languages/editorconfig.d.ts +3 -0
- package/dist/prism/languages/editorconfig.js +29 -0
- package/dist/prism/languages/editorconfig.js.map +1 -0
- package/dist/prism/languages/eiffel.d.ts +3 -0
- package/dist/prism/languages/eiffel.js +17 -0
- package/dist/prism/languages/eiffel.js.map +1 -0
- package/dist/prism/languages/ejs.d.ts +3 -0
- package/dist/prism/languages/ejs.js +27 -0
- package/dist/prism/languages/ejs.js.map +1 -0
- package/dist/prism/languages/elixir.d.ts +3 -0
- package/dist/prism/languages/elixir.js +63 -0
- package/dist/prism/languages/elixir.js.map +1 -0
- package/dist/prism/languages/elm.d.ts +3 -0
- package/dist/prism/languages/elm.js +23 -0
- package/dist/prism/languages/elm.js.map +1 -0
- package/dist/prism/languages/erb.d.ts +3 -0
- package/dist/prism/languages/erb.js +26 -0
- package/dist/prism/languages/erb.js.map +1 -0
- package/dist/prism/languages/erlang.d.ts +3 -0
- package/dist/prism/languages/erlang.js +44 -0
- package/dist/prism/languages/erlang.js.map +1 -0
- package/dist/prism/languages/etlua.d.ts +3 -0
- package/dist/prism/languages/etlua.js +25 -0
- package/dist/prism/languages/etlua.js.map +1 -0
- package/dist/prism/languages/excel-formula.d.ts +3 -0
- package/dist/prism/languages/excel-formula.js +52 -0
- package/dist/prism/languages/excel-formula.js.map +1 -0
- package/dist/prism/languages/factor.d.ts +3 -0
- package/dist/prism/languages/factor.js +756 -0
- package/dist/prism/languages/factor.js.map +1 -0
- package/dist/prism/languages/false.d.ts +3 -0
- package/dist/prism/languages/false.js +31 -0
- package/dist/prism/languages/false.js.map +1 -0
- package/dist/prism/languages/firestore-security-rules.d.ts +3 -0
- package/dist/prism/languages/firestore-security-rules.js +38 -0
- package/dist/prism/languages/firestore-security-rules.js.map +1 -0
- package/dist/prism/languages/flow.d.ts +3 -0
- package/dist/prism/languages/flow.js +26 -0
- package/dist/prism/languages/flow.js.map +1 -0
- package/dist/prism/languages/fortran.d.ts +3 -0
- package/dist/prism/languages/fortran.js +28 -0
- package/dist/prism/languages/fortran.js.map +1 -0
- package/dist/prism/languages/fsharp.d.ts +3 -0
- package/dist/prism/languages/fsharp.js +59 -0
- package/dist/prism/languages/fsharp.js.map +1 -0
- package/dist/prism/languages/ftl.d.ts +3 -0
- package/dist/prism/languages/ftl.js +70 -0
- package/dist/prism/languages/ftl.js.map +1 -0
- package/dist/prism/languages/gap.d.ts +3 -0
- package/dist/prism/languages/gap.js +42 -0
- package/dist/prism/languages/gap.js.map +1 -0
- package/dist/prism/languages/gcode.d.ts +3 -0
- package/dist/prism/languages/gcode.js +18 -0
- package/dist/prism/languages/gcode.js.map +1 -0
- package/dist/prism/languages/gdscript.d.ts +3 -0
- package/dist/prism/languages/gdscript.js +23 -0
- package/dist/prism/languages/gdscript.js.map +1 -0
- package/dist/prism/languages/gedcom.d.ts +3 -0
- package/dist/prism/languages/gedcom.js +30 -0
- package/dist/prism/languages/gedcom.js.map +1 -0
- package/dist/prism/languages/gettext.d.ts +3 -0
- package/dist/prism/languages/gettext.js +38 -0
- package/dist/prism/languages/gettext.js.map +1 -0
- package/dist/prism/languages/gherkin.d.ts +3 -0
- package/dist/prism/languages/gherkin.js +77 -0
- package/dist/prism/languages/gherkin.js.map +1 -0
- package/dist/prism/languages/git.d.ts +3 -0
- package/dist/prism/languages/git.js +18 -0
- package/dist/prism/languages/git.js.map +1 -0
- package/dist/prism/languages/glsl.d.ts +3 -0
- package/dist/prism/languages/glsl.js +9 -0
- package/dist/prism/languages/glsl.js.map +1 -0
- package/dist/prism/languages/gml.d.ts +3 -0
- package/dist/prism/languages/gml.js +15 -0
- package/dist/prism/languages/gml.js.map +1 -0
- package/dist/prism/languages/gn.d.ts +3 -0
- package/dist/prism/languages/gn.js +42 -0
- package/dist/prism/languages/gn.js.map +1 -0
- package/dist/prism/languages/go-module.d.ts +3 -0
- package/dist/prism/languages/go-module.js +25 -0
- package/dist/prism/languages/go-module.js.map +1 -0
- package/dist/prism/languages/go.d.ts +3 -0
- package/dist/prism/languages/go.js +26 -0
- package/dist/prism/languages/go.js.map +1 -0
- package/dist/prism/languages/gradle.d.ts +3 -0
- package/dist/prism/languages/gradle.js +50 -0
- package/dist/prism/languages/gradle.js.map +1 -0
- package/dist/prism/languages/graphql.d.ts +3 -0
- package/dist/prism/languages/graphql.js +132 -0
- package/dist/prism/languages/graphql.js.map +1 -0
- package/dist/prism/languages/groovy.d.ts +3 -0
- package/dist/prism/languages/groovy.js +50 -0
- package/dist/prism/languages/groovy.js.map +1 -0
- package/dist/prism/languages/haml.d.ts +3 -0
- package/dist/prism/languages/haml.js +119 -0
- package/dist/prism/languages/haml.js.map +1 -0
- package/dist/prism/languages/handlebars.d.ts +3 -0
- package/dist/prism/languages/handlebars.js +40 -0
- package/dist/prism/languages/handlebars.js.map +1 -0
- package/dist/prism/languages/haskell.d.ts +3 -0
- package/dist/prism/languages/haskell.js +46 -0
- package/dist/prism/languages/haskell.js.map +1 -0
- package/dist/prism/languages/haxe.d.ts +3 -0
- package/dist/prism/languages/haxe.js +65 -0
- package/dist/prism/languages/haxe.js.map +1 -0
- package/dist/prism/languages/hcl.d.ts +3 -0
- package/dist/prism/languages/hcl.js +55 -0
- package/dist/prism/languages/hcl.js.map +1 -0
- package/dist/prism/languages/hlsl.d.ts +3 -0
- package/dist/prism/languages/hlsl.js +15 -0
- package/dist/prism/languages/hlsl.js.map +1 -0
- package/dist/prism/languages/hoon.d.ts +3 -0
- package/dist/prism/languages/hoon.js +14 -0
- package/dist/prism/languages/hoon.js.map +1 -0
- package/dist/prism/languages/hpkp.d.ts +3 -0
- package/dist/prism/languages/hpkp.js +19 -0
- package/dist/prism/languages/hpkp.js.map +1 -0
- package/dist/prism/languages/hsts.d.ts +3 -0
- package/dist/prism/languages/hsts.js +19 -0
- package/dist/prism/languages/hsts.js.map +1 -0
- package/dist/prism/languages/http.d.ts +3 -0
- package/dist/prism/languages/http.js +89 -0
- package/dist/prism/languages/http.js.map +1 -0
- package/dist/prism/languages/ichigojam.d.ts +3 -0
- package/dist/prism/languages/ichigojam.js +16 -0
- package/dist/prism/languages/ichigojam.js.map +1 -0
- package/dist/prism/languages/icon.d.ts +3 -0
- package/dist/prism/languages/icon.js +24 -0
- package/dist/prism/languages/icon.js.map +1 -0
- package/dist/prism/languages/icu-message-format.d.ts +3 -0
- package/dist/prism/languages/icu-message-format.js +108 -0
- package/dist/prism/languages/icu-message-format.js.map +1 -0
- package/dist/prism/languages/idris.d.ts +3 -0
- package/dist/prism/languages/idris.js +18 -0
- package/dist/prism/languages/idris.js.map +1 -0
- package/dist/prism/languages/iecst.d.ts +3 -0
- package/dist/prism/languages/iecst.js +22 -0
- package/dist/prism/languages/iecst.js.map +1 -0
- package/dist/prism/languages/ignore.d.ts +3 -0
- package/dist/prism/languages/ignore.js +21 -0
- package/dist/prism/languages/ignore.js.map +1 -0
- package/dist/prism/languages/index.d.ts +3 -0
- package/dist/prism/languages/index.js +300 -0
- package/dist/prism/languages/inform7.d.ts +3 -0
- package/dist/prism/languages/inform7.js +57 -0
- package/dist/prism/languages/inform7.js.map +1 -0
- package/dist/prism/languages/ini.d.ts +3 -0
- package/dist/prism/languages/ini.js +44 -0
- package/dist/prism/languages/ini.js.map +1 -0
- package/dist/prism/languages/io.d.ts +3 -0
- package/dist/prism/languages/io.js +21 -0
- package/dist/prism/languages/io.js.map +1 -0
- package/dist/prism/languages/j.d.ts +3 -0
- package/dist/prism/languages/j.js +26 -0
- package/dist/prism/languages/j.js.map +1 -0
- package/dist/prism/languages/java.d.ts +3 -0
- package/dist/prism/languages/java.js +105 -0
- package/dist/prism/languages/java.js.map +1 -0
- package/dist/prism/languages/javadoc.d.ts +3 -0
- package/dist/prism/languages/javadoc.js +72 -0
- package/dist/prism/languages/javadoc.js.map +1 -0
- package/dist/prism/languages/javadoclike.d.ts +3 -0
- package/dist/prism/languages/javadoclike.js +17 -0
- package/dist/prism/languages/javadoclike.js.map +1 -0
- package/dist/prism/languages/javascript.d.ts +3 -0
- package/dist/prism/languages/javascript.js +128 -0
- package/dist/prism/languages/javascript.js.map +1 -0
- package/dist/prism/languages/javastacktrace.d.ts +3 -0
- package/dist/prism/languages/javastacktrace.js +98 -0
- package/dist/prism/languages/javastacktrace.js.map +1 -0
- package/dist/prism/languages/jexl.d.ts +3 -0
- package/dist/prism/languages/jexl.js +21 -0
- package/dist/prism/languages/jexl.js.map +1 -0
- package/dist/prism/languages/jolie.d.ts +3 -0
- package/dist/prism/languages/jolie.js +44 -0
- package/dist/prism/languages/jolie.js.map +1 -0
- package/dist/prism/languages/jq.d.ts +3 -0
- package/dist/prism/languages/jq.js +56 -0
- package/dist/prism/languages/jq.js.map +1 -0
- package/dist/prism/languages/js-templates.d.ts +3 -0
- package/dist/prism/languages/js-templates.js +60 -0
- package/dist/prism/languages/js-templates.js.map +1 -0
- package/dist/prism/languages/jsdoc.d.ts +3 -0
- package/dist/prism/languages/jsdoc.js +64 -0
- package/dist/prism/languages/jsdoc.js.map +1 -0
- package/dist/prism/languages/json.d.ts +3 -0
- package/dist/prism/languages/json.js +20 -0
- package/dist/prism/languages/json.js.map +1 -0
- package/dist/prism/languages/json5.d.ts +3 -0
- package/dist/prism/languages/json5.js +17 -0
- package/dist/prism/languages/json5.js.map +1 -0
- package/dist/prism/languages/jsonp.d.ts +3 -0
- package/dist/prism/languages/jsonp.js +10 -0
- package/dist/prism/languages/jsonp.js.map +1 -0
- package/dist/prism/languages/jsstacktrace.d.ts +3 -0
- package/dist/prism/languages/jsstacktrace.js +44 -0
- package/dist/prism/languages/jsstacktrace.js.map +1 -0
- package/dist/prism/languages/jsx.d.ts +3 -0
- package/dist/prism/languages/jsx.js +9 -0
- package/dist/prism/languages/jsx.js.map +1 -0
- package/dist/prism/languages/julia.d.ts +3 -0
- package/dist/prism/languages/julia.js +22 -0
- package/dist/prism/languages/julia.js.map +1 -0
- package/dist/prism/languages/keepalived.d.ts +3 -0
- package/dist/prism/languages/keepalived.js +41 -0
- package/dist/prism/languages/keepalived.js.map +1 -0
- package/dist/prism/languages/keyman.d.ts +3 -0
- package/dist/prism/languages/keyman.js +37 -0
- package/dist/prism/languages/keyman.js.map +1 -0
- package/dist/prism/languages/kotlin.d.ts +3 -0
- package/dist/prism/languages/kotlin.js +60 -0
- package/dist/prism/languages/kotlin.js.map +1 -0
- package/dist/prism/languages/kumir.d.ts +3 -0
- package/dist/prism/languages/kumir.js +67 -0
- package/dist/prism/languages/kumir.js.map +1 -0
- package/dist/prism/languages/kusto.d.ts +3 -0
- package/dist/prism/languages/kusto.js +34 -0
- package/dist/prism/languages/kusto.js.map +1 -0
- package/dist/prism/languages/latex.d.ts +3 -0
- package/dist/prism/languages/latex.js +46 -0
- package/dist/prism/languages/latex.js.map +1 -0
- package/dist/prism/languages/latte.d.ts +3 -0
- package/dist/prism/languages/latte.js +56 -0
- package/dist/prism/languages/latte.js.map +1 -0
- package/dist/prism/languages/less.d.ts +3 -0
- package/dist/prism/languages/less.js +30 -0
- package/dist/prism/languages/less.js.map +1 -0
- package/dist/prism/languages/lilypond.d.ts +3 -0
- package/dist/prism/languages/lilypond.js +52 -0
- package/dist/prism/languages/lilypond.js.map +1 -0
- package/dist/prism/languages/linker-script.d.ts +3 -0
- package/dist/prism/languages/linker-script.js +26 -0
- package/dist/prism/languages/linker-script.js.map +1 -0
- package/dist/prism/languages/liquid.d.ts +3 -0
- package/dist/prism/languages/liquid.js +52 -0
- package/dist/prism/languages/liquid.js.map +1 -0
- package/dist/prism/languages/lisp.d.ts +3 -0
- package/dist/prism/languages/lisp.js +157 -0
- package/dist/prism/languages/lisp.js.map +1 -0
- package/dist/prism/languages/livescript.d.ts +3 -0
- package/dist/prism/languages/livescript.js +60 -0
- package/dist/prism/languages/livescript.js.map +1 -0
- package/dist/prism/languages/llvm.d.ts +3 -0
- package/dist/prism/languages/llvm.js +21 -0
- package/dist/prism/languages/llvm.js.map +1 -0
- package/dist/prism/languages/log.d.ts +3 -0
- package/dist/prism/languages/log.js +97 -0
- package/dist/prism/languages/log.js.map +1 -0
- package/dist/prism/languages/lolcode.d.ts +3 -0
- package/dist/prism/languages/lolcode.js +52 -0
- package/dist/prism/languages/lolcode.js.map +1 -0
- package/dist/prism/languages/lua.d.ts +3 -0
- package/dist/prism/languages/lua.js +18 -0
- package/dist/prism/languages/lua.js.map +1 -0
- package/dist/prism/languages/magma.d.ts +3 -0
- package/dist/prism/languages/magma.js +31 -0
- package/dist/prism/languages/magma.js.map +1 -0
- package/dist/prism/languages/makefile.d.ts +3 -0
- package/dist/prism/languages/makefile.js +28 -0
- package/dist/prism/languages/makefile.js.map +1 -0
- package/dist/prism/languages/markdown.d.ts +3 -0
- package/dist/prism/languages/markdown.js +209 -0
- package/dist/prism/languages/markdown.js.map +1 -0
- package/dist/prism/languages/markup.d.ts +3 -0
- package/dist/prism/languages/markup.js +35 -0
- package/dist/prism/languages/markup.js.map +1 -0
- package/dist/prism/languages/mata.d.ts +3 -0
- package/dist/prism/languages/mata.js +37 -0
- package/dist/prism/languages/mata.js.map +1 -0
- package/dist/prism/languages/matlab.d.ts +3 -0
- package/dist/prism/languages/matlab.js +15 -0
- package/dist/prism/languages/matlab.js.map +1 -0
- package/dist/prism/languages/maxscript.d.ts +3 -0
- package/dist/prism/languages/maxscript.js +51 -0
- package/dist/prism/languages/maxscript.js.map +1 -0
- package/dist/prism/languages/mel.d.ts +3 -0
- package/dist/prism/languages/mel.js +40 -0
- package/dist/prism/languages/mel.js.map +1 -0
- package/dist/prism/languages/mermaid.d.ts +3 -0
- package/dist/prism/languages/mermaid.js +86 -0
- package/dist/prism/languages/mermaid.js.map +1 -0
- package/dist/prism/languages/metafont.d.ts +3 -0
- package/dist/prism/languages/metafont.js +84 -0
- package/dist/prism/languages/metafont.js.map +1 -0
- package/dist/prism/languages/mizar.d.ts +3 -0
- package/dist/prism/languages/mizar.js +18 -0
- package/dist/prism/languages/mizar.js.map +1 -0
- package/dist/prism/languages/mongodb.d.ts +3 -0
- package/dist/prism/languages/mongodb.js +279 -0
- package/dist/prism/languages/mongodb.js.map +1 -0
- package/dist/prism/languages/monkey.d.ts +3 -0
- package/dist/prism/languages/monkey.js +27 -0
- package/dist/prism/languages/monkey.js.map +1 -0
- package/dist/prism/languages/moonscript.d.ts +3 -0
- package/dist/prism/languages/moonscript.js +42 -0
- package/dist/prism/languages/moonscript.js.map +1 -0
- package/dist/prism/languages/n1ql.d.ts +3 -0
- package/dist/prism/languages/n1ql.js +19 -0
- package/dist/prism/languages/n1ql.js.map +1 -0
- package/dist/prism/languages/n4js.d.ts +3 -0
- package/dist/prism/languages/n4js.js +12 -0
- package/dist/prism/languages/n4js.js.map +1 -0
- package/dist/prism/languages/nand2tetris-hdl.d.ts +3 -0
- package/dist/prism/languages/nand2tetris-hdl.js +16 -0
- package/dist/prism/languages/nand2tetris-hdl.js.map +1 -0
- package/dist/prism/languages/naniscript.d.ts +3 -0
- package/dist/prism/languages/naniscript.js +135 -0
- package/dist/prism/languages/naniscript.js.map +1 -0
- package/dist/prism/languages/nasm.d.ts +3 -0
- package/dist/prism/languages/nasm.js +30 -0
- package/dist/prism/languages/nasm.js.map +1 -0
- package/dist/prism/languages/neon.d.ts +3 -0
- package/dist/prism/languages/neon.js +42 -0
- package/dist/prism/languages/neon.js.map +1 -0
- package/dist/prism/languages/nevod.d.ts +3 -0
- package/dist/prism/languages/nevod.js +126 -0
- package/dist/prism/languages/nevod.js.map +1 -0
- package/dist/prism/languages/nginx.d.ts +3 -0
- package/dist/prism/languages/nginx.js +45 -0
- package/dist/prism/languages/nginx.js.map +1 -0
- package/dist/prism/languages/nim.d.ts +3 -0
- package/dist/prism/languages/nim.js +26 -0
- package/dist/prism/languages/nim.js.map +1 -0
- package/dist/prism/languages/nix.d.ts +3 -0
- package/dist/prism/languages/nix.js +32 -0
- package/dist/prism/languages/nix.js.map +1 -0
- package/dist/prism/languages/nsis.d.ts +3 -0
- package/dist/prism/languages/nsis.js +30 -0
- package/dist/prism/languages/nsis.js.map +1 -0
- package/dist/prism/languages/objectivec.d.ts +3 -0
- package/dist/prism/languages/objectivec.js +14 -0
- package/dist/prism/languages/objectivec.js.map +1 -0
- package/dist/prism/languages/ocaml.d.ts +3 -0
- package/dist/prism/languages/ocaml.js +37 -0
- package/dist/prism/languages/ocaml.js.map +1 -0
- package/dist/prism/languages/odin.d.ts +3 -0
- package/dist/prism/languages/odin.js +63 -0
- package/dist/prism/languages/odin.js.map +1 -0
- package/dist/prism/languages/opencl.d.ts +3 -0
- package/dist/prism/languages/opencl.js +47 -0
- package/dist/prism/languages/opencl.js.map +1 -0
- package/dist/prism/languages/openqasm.d.ts +3 -0
- package/dist/prism/languages/openqasm.js +21 -0
- package/dist/prism/languages/openqasm.js.map +1 -0
- package/dist/prism/languages/oz.d.ts +3 -0
- package/dist/prism/languages/oz.js +24 -0
- package/dist/prism/languages/oz.js.map +1 -0
- package/dist/prism/languages/parigp.d.ts +3 -0
- package/dist/prism/languages/parigp.js +18 -0
- package/dist/prism/languages/parigp.js.map +1 -0
- package/dist/prism/languages/parser.d.ts +3 -0
- package/dist/prism/languages/parser.js +77 -0
- package/dist/prism/languages/parser.js.map +1 -0
- package/dist/prism/languages/pascal.d.ts +3 -0
- package/dist/prism/languages/pascal.js +35 -0
- package/dist/prism/languages/pascal.js.map +1 -0
- package/dist/prism/languages/pascaligo.d.ts +3 -0
- package/dist/prism/languages/pascaligo.js +54 -0
- package/dist/prism/languages/pascaligo.js.map +1 -0
- package/dist/prism/languages/pcaxis.d.ts +3 -0
- package/dist/prism/languages/pcaxis.js +55 -0
- package/dist/prism/languages/pcaxis.js.map +1 -0
- package/dist/prism/languages/peoplecode.d.ts +3 -0
- package/dist/prism/languages/peoplecode.js +31 -0
- package/dist/prism/languages/peoplecode.js.map +1 -0
- package/dist/prism/languages/perl.d.ts +3 -0
- package/dist/prism/languages/perl.js +39 -0
- package/dist/prism/languages/perl.js.map +1 -0
- package/dist/prism/languages/php-extras.d.ts +3 -0
- package/dist/prism/languages/php-extras.js +22 -0
- package/dist/prism/languages/php-extras.js.map +1 -0
- package/dist/prism/languages/php.d.ts +3 -0
- package/dist/prism/languages/php.js +254 -0
- package/dist/prism/languages/php.js.map +1 -0
- package/dist/prism/languages/phpdoc.d.ts +3 -0
- package/dist/prism/languages/phpdoc.js +20 -0
- package/dist/prism/languages/phpdoc.js.map +1 -0
- package/dist/prism/languages/plant-uml.d.ts +3 -0
- package/dist/prism/languages/plant-uml.js +67 -0
- package/dist/prism/languages/plant-uml.js.map +1 -0
- package/dist/prism/languages/plsql.d.ts +3 -0
- package/dist/prism/languages/plsql.js +16 -0
- package/dist/prism/languages/plsql.js.map +1 -0
- package/dist/prism/languages/powerquery.d.ts +3 -0
- package/dist/prism/languages/powerquery.js +29 -0
- package/dist/prism/languages/powerquery.js.map +1 -0
- package/dist/prism/languages/powershell.d.ts +3 -0
- package/dist/prism/languages/powershell.js +36 -0
- package/dist/prism/languages/powershell.js.map +1 -0
- package/dist/prism/languages/processing.d.ts +3 -0
- package/dist/prism/languages/processing.js +19 -0
- package/dist/prism/languages/processing.js.map +1 -0
- package/dist/prism/languages/prolog.d.ts +3 -0
- package/dist/prism/languages/prolog.js +15 -0
- package/dist/prism/languages/prolog.js.map +1 -0
- package/dist/prism/languages/promql.d.ts +3 -0
- package/dist/prism/languages/promql.js +60 -0
- package/dist/prism/languages/promql.js.map +1 -0
- package/dist/prism/languages/properties.d.ts +3 -0
- package/dist/prism/languages/properties.js +19 -0
- package/dist/prism/languages/properties.js.map +1 -0
- package/dist/prism/languages/protobuf.d.ts +3 -0
- package/dist/prism/languages/protobuf.js +40 -0
- package/dist/prism/languages/protobuf.js.map +1 -0
- package/dist/prism/languages/psl.d.ts +3 -0
- package/dist/prism/languages/psl.js +34 -0
- package/dist/prism/languages/psl.js.map +1 -0
- package/dist/prism/languages/pug.d.ts +3 -0
- package/dist/prism/languages/pug.js +161 -0
- package/dist/prism/languages/pug.js.map +1 -0
- package/dist/prism/languages/puppet.d.ts +3 -0
- package/dist/prism/languages/puppet.js +90 -0
- package/dist/prism/languages/puppet.js.map +1 -0
- package/dist/prism/languages/pure.d.ts +3 -0
- package/dist/prism/languages/pure.js +53 -0
- package/dist/prism/languages/pure.js.map +1 -0
- package/dist/prism/languages/purebasic.d.ts +3 -0
- package/dist/prism/languages/purebasic.js +53 -0
- package/dist/prism/languages/purebasic.js.map +1 -0
- package/dist/prism/languages/purescript.d.ts +3 -0
- package/dist/prism/languages/purescript.js +25 -0
- package/dist/prism/languages/purescript.js.map +1 -0
- package/dist/prism/languages/python.d.ts +3 -0
- package/dist/prism/languages/python.js +56 -0
- package/dist/prism/languages/python.js.map +1 -0
- package/dist/prism/languages/q.d.ts +3 -0
- package/dist/prism/languages/q.js +29 -0
- package/dist/prism/languages/q.js.map +1 -0
- package/dist/prism/languages/qml.d.ts +3 -0
- package/dist/prism/languages/qml.js +43 -0
- package/dist/prism/languages/qml.js.map +1 -0
- package/dist/prism/languages/qore.d.ts +3 -0
- package/dist/prism/languages/qore.js +23 -0
- package/dist/prism/languages/qore.js.map +1 -0
- package/dist/prism/languages/qsharp.d.ts +3 -0
- package/dist/prism/languages/qsharp.js +60 -0
- package/dist/prism/languages/qsharp.js.map +1 -0
- package/dist/prism/languages/r.d.ts +3 -0
- package/dist/prism/languages/r.js +20 -0
- package/dist/prism/languages/r.js.map +1 -0
- package/dist/prism/languages/racket.d.ts +3 -0
- package/dist/prism/languages/racket.js +15 -0
- package/dist/prism/languages/racket.js.map +1 -0
- package/dist/prism/languages/reason.d.ts +3 -0
- package/dist/prism/languages/reason.js +23 -0
- package/dist/prism/languages/reason.js.map +1 -0
- package/dist/prism/languages/regex.d.ts +3 -0
- package/dist/prism/languages/regex.js +86 -0
- package/dist/prism/languages/regex.js.map +1 -0
- package/dist/prism/languages/rego.d.ts +3 -0
- package/dist/prism/languages/rego.js +30 -0
- package/dist/prism/languages/rego.js.map +1 -0
- package/dist/prism/languages/renpy.d.ts +3 -0
- package/dist/prism/languages/renpy.js +19 -0
- package/dist/prism/languages/renpy.js.map +1 -0
- package/dist/prism/languages/rescript.d.ts +3 -0
- package/dist/prism/languages/rescript.js +53 -0
- package/dist/prism/languages/rescript.js.map +1 -0
- package/dist/prism/languages/rest.d.ts +3 -0
- package/dist/prism/languages/rest.js +156 -0
- package/dist/prism/languages/rest.js.map +1 -0
- package/dist/prism/languages/rip.d.ts +3 -0
- package/dist/prism/languages/rip.js +26 -0
- package/dist/prism/languages/rip.js.map +1 -0
- package/dist/prism/languages/roboconf.d.ts +3 -0
- package/dist/prism/languages/roboconf.js +33 -0
- package/dist/prism/languages/roboconf.js.map +1 -0
- package/dist/prism/languages/robotframework.d.ts +3 -0
- package/dist/prism/languages/robotframework.js +82 -0
- package/dist/prism/languages/robotframework.js.map +1 -0
- package/dist/prism/languages/ruby.d.ts +3 -0
- package/dist/prism/languages/ruby.js +117 -0
- package/dist/prism/languages/ruby.js.map +1 -0
- package/dist/prism/languages/rust.d.ts +3 -0
- package/dist/prism/languages/rust.js +75 -0
- package/dist/prism/languages/rust.js.map +1 -0
- package/dist/prism/languages/sas.d.ts +3 -0
- package/dist/prism/languages/sas.js +285 -0
- package/dist/prism/languages/sas.js.map +1 -0
- package/dist/prism/languages/sass.d.ts +3 -0
- package/dist/prism/languages/sass.js +51 -0
- package/dist/prism/languages/sass.js.map +1 -0
- package/dist/prism/languages/scala.d.ts +3 -0
- package/dist/prism/languages/scala.js +46 -0
- package/dist/prism/languages/scala.js.map +1 -0
- package/dist/prism/languages/scheme.d.ts +3 -0
- package/dist/prism/languages/scheme.js +69 -0
- package/dist/prism/languages/scheme.js.map +1 -0
- package/dist/prism/languages/scss.d.ts +3 -0
- package/dist/prism/languages/scss.js +64 -0
- package/dist/prism/languages/scss.js.map +1 -0
- package/dist/prism/languages/shell-session.d.ts +3 -0
- package/dist/prism/languages/shell-session.js +34 -0
- package/dist/prism/languages/shell-session.js.map +1 -0
- package/dist/prism/languages/smali.d.ts +3 -0
- package/dist/prism/languages/smali.js +75 -0
- package/dist/prism/languages/smali.js.map +1 -0
- package/dist/prism/languages/smalltalk.d.ts +3 -0
- package/dist/prism/languages/smalltalk.js +33 -0
- package/dist/prism/languages/smalltalk.js.map +1 -0
- package/dist/prism/languages/smarty.d.ts +3 -0
- package/dist/prism/languages/smarty.js +82 -0
- package/dist/prism/languages/smarty.js.map +1 -0
- package/dist/prism/languages/sml.d.ts +3 -0
- package/dist/prism/languages/sml.js +39 -0
- package/dist/prism/languages/sml.js.map +1 -0
- package/dist/prism/languages/solidity.d.ts +3 -0
- package/dist/prism/languages/solidity.js +27 -0
- package/dist/prism/languages/solidity.js.map +1 -0
- package/dist/prism/languages/solution-file.d.ts +3 -0
- package/dist/prism/languages/solution-file.js +34 -0
- package/dist/prism/languages/solution-file.js.map +1 -0
- package/dist/prism/languages/soy.d.ts +3 -0
- package/dist/prism/languages/soy.js +65 -0
- package/dist/prism/languages/soy.js.map +1 -0
- package/dist/prism/languages/sparql.d.ts +3 -0
- package/dist/prism/languages/sparql.js +16 -0
- package/dist/prism/languages/sparql.js.map +1 -0
- package/dist/prism/languages/splunk-spl.d.ts +3 -0
- package/dist/prism/languages/splunk-spl.js +25 -0
- package/dist/prism/languages/splunk-spl.js.map +1 -0
- package/dist/prism/languages/sqf.d.ts +3 -0
- package/dist/prism/languages/sqf.js +35 -0
- package/dist/prism/languages/sqf.js.map +1 -0
- package/dist/prism/languages/sql.d.ts +3 -0
- package/dist/prism/languages/sql.js +25 -0
- package/dist/prism/languages/sql.js.map +1 -0
- package/dist/prism/languages/squirrel.d.ts +3 -0
- package/dist/prism/languages/squirrel.js +37 -0
- package/dist/prism/languages/squirrel.js.map +1 -0
- package/dist/prism/languages/stan.d.ts +3 -0
- package/dist/prism/languages/stan.js +49 -0
- package/dist/prism/languages/stan.js.map +1 -0
- package/dist/prism/languages/stata.d.ts +3 -0
- package/dist/prism/languages/stata.js +62 -0
- package/dist/prism/languages/stata.js.map +1 -0
- package/dist/prism/languages/stylus.d.ts +3 -0
- package/dist/prism/languages/stylus.js +95 -0
- package/dist/prism/languages/stylus.js.map +1 -0
- package/dist/prism/languages/supercollider.d.ts +3 -0
- package/dist/prism/languages/supercollider.js +29 -0
- package/dist/prism/languages/supercollider.js.map +1 -0
- package/dist/prism/languages/svelte.d.ts +3 -0
- package/dist/prism/languages/svelte.js +47 -0
- package/dist/prism/languages/svelte.js.map +1 -0
- package/dist/prism/languages/swift.d.ts +3 -0
- package/dist/prism/languages/swift.js +93 -0
- package/dist/prism/languages/swift.js.map +1 -0
- package/dist/prism/languages/systemd.d.ts +3 -0
- package/dist/prism/languages/systemd.js +40 -0
- package/dist/prism/languages/systemd.js.map +1 -0
- package/dist/prism/languages/t4-cs.d.ts +3 -0
- package/dist/prism/languages/t4-cs.js +9 -0
- package/dist/prism/languages/t4-cs.js.map +1 -0
- package/dist/prism/languages/t4-vb.d.ts +3 -0
- package/dist/prism/languages/t4-vb.js +9 -0
- package/dist/prism/languages/t4-vb.js.map +1 -0
- package/dist/prism/languages/tap.d.ts +3 -0
- package/dist/prism/languages/tap.js +24 -0
- package/dist/prism/languages/tap.js.map +1 -0
- package/dist/prism/languages/tcl.d.ts +3 -0
- package/dist/prism/languages/tcl.js +36 -0
- package/dist/prism/languages/tcl.js.map +1 -0
- package/dist/prism/languages/textile.d.ts +3 -0
- package/dist/prism/languages/textile.js +203 -0
- package/dist/prism/languages/textile.js.map +1 -0
- package/dist/prism/languages/toml.d.ts +3 -0
- package/dist/prism/languages/toml.js +31 -0
- package/dist/prism/languages/toml.js.map +1 -0
- package/dist/prism/languages/tremor.d.ts +3 -0
- package/dist/prism/languages/tremor.js +49 -0
- package/dist/prism/languages/tremor.js.map +1 -0
- package/dist/prism/languages/tsx.d.ts +3 -0
- package/dist/prism/languages/tsx.js +26 -0
- package/dist/prism/languages/tsx.js.map +1 -0
- package/dist/prism/languages/tt2.d.ts +3 -0
- package/dist/prism/languages/tt2.js +36 -0
- package/dist/prism/languages/tt2.js.map +1 -0
- package/dist/prism/languages/turtle.d.ts +3 -0
- package/dist/prism/languages/turtle.js +41 -0
- package/dist/prism/languages/turtle.js.map +1 -0
- package/dist/prism/languages/twig.d.ts +3 -0
- package/dist/prism/languages/twig.js +39 -0
- package/dist/prism/languages/twig.js.map +1 -0
- package/dist/prism/languages/typescript.d.ts +3 -0
- package/dist/prism/languages/typescript.js +43 -0
- package/dist/prism/languages/typescript.js.map +1 -0
- package/dist/prism/languages/typoscript.d.ts +3 -0
- package/dist/prism/languages/typoscript.js +55 -0
- package/dist/prism/languages/typoscript.js.map +1 -0
- package/dist/prism/languages/unrealscript.d.ts +3 -0
- package/dist/prism/languages/unrealscript.js +39 -0
- package/dist/prism/languages/unrealscript.js.map +1 -0
- package/dist/prism/languages/uorazor.d.ts +3 -0
- package/dist/prism/languages/uorazor.js +37 -0
- package/dist/prism/languages/uorazor.js.map +1 -0
- package/dist/prism/languages/uri.d.ts +3 -0
- package/dist/prism/languages/uri.js +71 -0
- package/dist/prism/languages/uri.js.map +1 -0
- package/dist/prism/languages/v.d.ts +3 -0
- package/dist/prism/languages/v.js +72 -0
- package/dist/prism/languages/v.js.map +1 -0
- package/dist/prism/languages/vala.d.ts +3 -0
- package/dist/prism/languages/vala.js +67 -0
- package/dist/prism/languages/vala.js.map +1 -0
- package/dist/prism/languages/vbnet.d.ts +3 -0
- package/dist/prism/languages/vbnet.js +20 -0
- package/dist/prism/languages/vbnet.js.map +1 -0
- package/dist/prism/languages/velocity.d.ts +3 -0
- package/dist/prism/languages/velocity.js +61 -0
- package/dist/prism/languages/velocity.js.map +1 -0
- package/dist/prism/languages/verilog.d.ts +3 -0
- package/dist/prism/languages/verilog.js +22 -0
- package/dist/prism/languages/verilog.js.map +1 -0
- package/dist/prism/languages/vhdl.d.ts +3 -0
- package/dist/prism/languages/vhdl.js +29 -0
- package/dist/prism/languages/vhdl.js.map +1 -0
- package/dist/prism/languages/vim.d.ts +3 -0
- package/dist/prism/languages/vim.js +17 -0
- package/dist/prism/languages/vim.js.map +1 -0
- package/dist/prism/languages/visual-basic.d.ts +3 -0
- package/dist/prism/languages/visual-basic.js +26 -0
- package/dist/prism/languages/visual-basic.js.map +1 -0
- package/dist/prism/languages/vue.d.ts +3 -0
- package/dist/prism/languages/vue.js +60 -0
- package/dist/prism/languages/vue.js.map +1 -0
- package/dist/prism/languages/warpscript.d.ts +3 -0
- package/dist/prism/languages/warpscript.js +20 -0
- package/dist/prism/languages/warpscript.js.map +1 -0
- package/dist/prism/languages/wasm.d.ts +3 -0
- package/dist/prism/languages/wasm.js +25 -0
- package/dist/prism/languages/wasm.js.map +1 -0
- package/dist/prism/languages/web-idl.d.ts +3 -0
- package/dist/prism/languages/web-idl.js +50 -0
- package/dist/prism/languages/web-idl.js.map +1 -0
- package/dist/prism/languages/wgsl.d.ts +3 -0
- package/dist/prism/languages/wgsl.js +64 -0
- package/dist/prism/languages/wgsl.js.map +1 -0
- package/dist/prism/languages/wiki.d.ts +3 -0
- package/dist/prism/languages/wiki.js +69 -0
- package/dist/prism/languages/wiki.js.map +1 -0
- package/dist/prism/languages/wolfram.d.ts +3 -0
- package/dist/prism/languages/wolfram.js +28 -0
- package/dist/prism/languages/wolfram.js.map +1 -0
- package/dist/prism/languages/wren.d.ts +3 -0
- package/dist/prism/languages/wren.js +59 -0
- package/dist/prism/languages/wren.js.map +1 -0
- package/dist/prism/languages/xeora.d.ts +3 -0
- package/dist/prism/languages/xeora.js +76 -0
- package/dist/prism/languages/xeora.js.map +1 -0
- package/dist/prism/languages/xml-doc.d.ts +3 -0
- package/dist/prism/languages/xml-doc.js +31 -0
- package/dist/prism/languages/xml-doc.js.map +1 -0
- package/dist/prism/languages/xml.d.ts +3 -0
- package/dist/prism/languages/xml.js +32 -0
- package/dist/prism/languages/xml.js.map +1 -0
- package/dist/prism/languages/xojo.d.ts +3 -0
- package/dist/prism/languages/xojo.js +18 -0
- package/dist/prism/languages/xojo.js.map +1 -0
- package/dist/prism/languages/xquery.d.ts +3 -0
- package/dist/prism/languages/xquery.js +116 -0
- package/dist/prism/languages/xquery.js.map +1 -0
- package/dist/prism/languages/yaml.d.ts +3 -0
- package/dist/prism/languages/yaml.js +61 -0
- package/dist/prism/languages/yaml.js.map +1 -0
- package/dist/prism/languages/yang.d.ts +3 -0
- package/dist/prism/languages/yang.js +22 -0
- package/dist/prism/languages/yang.js.map +1 -0
- package/dist/prism/languages/zig.d.ts +3 -0
- package/dist/prism/languages/zig.js +59 -0
- package/dist/prism/languages/zig.js.map +1 -0
- package/dist/prism/tests/core-tests.d.ts +1 -0
- package/dist/prism/tests/coverage.d.ts +1 -0
- package/dist/prism/tests/helper/args.d.ts +3 -0
- package/dist/prism/tests/helper/lang-info.d.ts +4 -0
- package/dist/prism/tests/helper/prism-loader.d.ts +2 -0
- package/dist/prism/tests/helper/test-case.d.ts +124 -0
- package/dist/prism/tests/helper/test-discovery.d.ts +32 -0
- package/dist/prism/tests/helper/token-stream-transformer.d.ts +57 -0
- package/dist/prism/tests/helper/util.d.ts +48 -0
- package/dist/prism/tests/identifier-test.d.ts +9 -0
- package/dist/prism/tests/pattern-tests.d.ts +11 -0
- package/dist/prism/tests/run.d.ts +1 -0
- package/dist/prism/types.d.ts +65 -0
- package/dist/prism/utils/clike-class.d.ts +7 -0
- package/dist/prism/utils/data-uri.d.ts +46 -0
- package/dist/prism/utils/index.d.ts +5 -0
- package/dist/prism/utils/index.js +180 -0
- package/dist/prism/utils/index.js.map +1 -0
- package/dist/prism/utils/invisibles.d.ts +61 -0
- package/dist/prism/utils/jsx-shared.d.ts +8 -0
- package/dist/prism/utils/language.d.ts +86 -0
- package/dist/prism/utils/markup-shared.d.ts +51 -0
- package/dist/prism/utils/patterns.d.ts +8 -0
- package/dist/prism/utils/shared.d.ts +24 -0
- package/dist/prism/utils/t4-templating.d.ts +2 -0
- package/dist/prism/utils/templating.d.ts +13 -0
- package/dist/prism/utils/tokenize-strings.d.ts +11 -0
- package/dist/prism/utils/xml-shared.d.ts +35 -0
- package/dist/prism-DQfI9mbP.js.map +1 -0
- package/dist/prism-okaidia-D1j-vHMK.js.map +1 -0
- package/dist/prism-okaidia.js +6 -0
- package/dist/prism-solarized-light-BIHridZg.js.map +1 -0
- package/dist/prism-solarized-light.js +6 -0
- package/dist/prism-tomorrow-DE4zqA_q.js.map +1 -0
- package/dist/prism-tomorrow.js +6 -0
- package/dist/prism-twilight-C9c0bFwL.js.map +1 -0
- package/dist/prism-twilight.js +6 -0
- package/dist/prism.js +6 -0
- package/dist/readonly-GQzeUj3U.js +23 -0
- package/dist/readonly-GQzeUj3U.js.map +1 -0
- package/dist/replace-Dyz0WLX4.js +100 -0
- package/dist/replace-Dyz0WLX4.js.map +1 -0
- package/dist/rtl-layout.css +1 -0
- package/dist/scrollbar.css +1 -0
- package/dist/search-2QkWYhOj.js +78 -0
- package/dist/search-2QkWYhOj.js.map +1 -0
- package/dist/search.css +1 -0
- package/dist/selection-BXGGkB5o.js +78 -0
- package/dist/selection-BXGGkB5o.js.map +1 -0
- package/dist/setups/basic.d.ts +3 -0
- package/dist/setups/index.d.ts +36 -0
- package/dist/setups/index.js +81 -0
- package/dist/setups/index.js.map +1 -0
- package/dist/setups/readonly.d.ts +3 -0
- package/dist/setups/styles.d.ts +2 -0
- package/dist/shared-c_zHT_t0.js +59 -0
- package/dist/shared-c_zHT_t0.js.map +1 -0
- package/dist/shared-oTKIFAwH.js +32 -0
- package/dist/shared-oTKIFAwH.js.map +1 -0
- package/dist/ssr/brackets.d.ts +12 -0
- package/dist/ssr/code-block.d.ts +62 -0
- package/dist/ssr/guides.d.ts +9 -0
- package/dist/ssr/index.d.ts +33 -0
- package/dist/ssr/index.js +167 -0
- package/dist/ssr/index.js.map +1 -0
- package/dist/ssr/utils.d.ts +2 -0
- package/dist/styles-BtZC7KyZ.js +7 -0
- package/dist/styles-BtZC7KyZ.js.map +1 -0
- package/dist/t4-templating-CwQ1DEwN.js +36 -0
- package/dist/t4-templating-CwQ1DEwN.js.map +1 -0
- package/dist/templating-BJaqFF_t.js +60 -0
- package/dist/templating-BJaqFF_t.js.map +1 -0
- package/dist/testsite/index.d.ts +0 -0
- package/dist/themes/atom-one-dark.css +1 -0
- package/dist/themes/dracula.css +1 -0
- package/dist/themes/github-dark-dimmed.css +1 -0
- package/dist/themes/github-dark.css +1 -0
- package/dist/themes/github-light.css +1 -0
- package/dist/themes/index.d.ts +19 -0
- package/dist/themes/index.js +37 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/night-owl-light.css +1 -0
- package/dist/themes/night-owl.css +1 -0
- package/dist/themes/prism-okaidia.css +1 -0
- package/dist/themes/prism-solarized-light.css +1 -0
- package/dist/themes/prism-tomorrow.css +1 -0
- package/dist/themes/prism-twilight.css +1 -0
- package/dist/themes/prism.css +1 -0
- package/dist/themes/vs-code-dark.css +1 -0
- package/dist/themes/vs-code-light.css +1 -0
- package/dist/tooltip-CYiVU7WY.js +556 -0
- package/dist/tooltip-CYiVU7WY.js.map +1 -0
- package/dist/tooltips.d.ts +34 -0
- package/dist/tooltips.js +63 -0
- package/dist/tooltips.js.map +1 -0
- package/dist/types.d.ts +163 -0
- package/dist/utils/bracket.d.ts +2 -0
- package/dist/utils/index.d.ts +109 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/local.d.ts +19 -0
- package/dist/utils-DSQ-ulqQ.js +258 -0
- package/dist/utils-DSQ-ulqQ.js.map +1 -0
- package/dist/utils-umP5W0OV.js +213 -0
- package/dist/utils-umP5W0OV.js.map +1 -0
- package/dist/vs-code-dark-C6WLNHCv.js.map +1 -0
- package/dist/vs-code-dark.js +6 -0
- package/dist/vs-code-light-7gCe7xrJ.js.map +1 -0
- package/dist/vs-code-light.js +6 -0
- package/dist/webComponent.d.ts +37 -0
- package/dist/webComponent.js +108 -0
- package/dist/webComponent.js.map +1 -0
- package/dist/xml-shared-ONZRGEwv.js +33 -0
- package/dist/xml-shared-ONZRGEwv.js.map +1 -0
- package/package.json +136 -0
- package/readme.md +128 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands-HRCav5fj.js","names":[],"sources":["../src/extensions/commands/commands.ts","../src/extensions/commands/deprecated.ts","../src/extensions/commands/format.ts","../src/extensions/commands/index.ts"],"sourcesContent":["import { Language, languageMap } from \"../..\"\nimport { PrismEditor } from \"../../types.js\"\nimport {\n\tgetLanguage,\n\tgetLineBefore,\n\tgetLines,\n\tinsertText,\n\tisMac,\n\tregexEscape,\n} from \"../../utils/index.js\"\nimport { getLineEnd, getLineStart, getStyleValue } from \"../../utils/local\"\nimport { defaultCommands } from \"./deprecated.js\"\nimport { EditorHotkey } from \"./types.js\"\n\nlet ignoreTab = false\n\n/**\n * Sets whether editors should ignore tab or use it for indentation. Users can toggle\n * this using `Ctrl` + `M` / `Ctrl` + `Shift` + `M` (Mac) when the {@link defaultKeymap}\n * or {@link defaultCommands} extension is used.\n */\nconst setIgnoreTab = (newState: boolean) => (ignoreTab = newState)\nconst whitespaceEnd = (str: string) => str.search(/\\S|$/)\n\nconst getIndent = ({ options: { insertSpaces = true, tabSize } }: PrismEditor) =>\n\t[insertSpaces ? \" \" : \"\\t\", insertSpaces ? tabSize || 2 : 1] as const\n\nconst scroll = (editor: PrismEditor) =>\n\t!editor.options.readOnly && !editor.extensions.cursor?.scrollIntoView()\n\n/**\n * Inserts slightly altered lines while keeping the same selection.\n * Used when toggling comments and indenting.\n */\nconst insertLines = (\n\teditor: PrismEditor,\n\told: string[],\n\tnewL: string[],\n\tstart: number,\n\tend: number,\n\tselectionStart: number,\n\tselectionEnd: number,\n) => {\n\tlet newLines = newL.join(\"\\n\")\n\n\tif (newLines == old.join(\"\\n\")) return\n\n\tconst last = old.length - 1\n\tconst lastLine = newL[last]\n\tconst oldLastLine = old[last]\n\tconst lastDiff = oldLastLine.length - lastLine.length\n\tconst firstDiff = newL[0].length - old[0].length\n\tconst firstInsersion = start + whitespaceEnd((firstDiff < 0 ? newL : old)[0])\n\tconst lastInsersion =\n\t\tend - oldLastLine.length + whitespaceEnd(lastDiff > 0 ? lastLine : oldLastLine)\n\tconst offset = start - end + newLines.length + lastDiff\n\tconst newCursorStart =\n\t\tfirstInsersion > selectionStart\n\t\t\t? selectionStart\n\t\t\t: Math.max(firstInsersion, selectionStart + firstDiff)\n\tconst newCursorEnd = selectionEnd + start - end + newLines.length\n\n\tinsertText(\n\t\teditor,\n\t\tnewLines,\n\t\tstart,\n\t\tend,\n\t\tnewCursorStart,\n\t\tselectionEnd < lastInsersion\n\t\t\t? newCursorEnd + lastDiff\n\t\t\t: Math.max(lastInsersion + offset, newCursorEnd),\n\t)\n}\n\n/**\n * Command that indents or outdents all user-selected lines in the editor unless the\n * editor is `readOnly`.\n * @param editor Editor to execute the command on.\n * @param less By default lines are indented. By passing `true`, lines are outdented\n * instead.\n */\nconst indentSelectedLines = (editor: PrismEditor, less?: boolean) => {\n\tconst [start, end] = editor.getSelection()\n\tconst [lines, start1, end1] = getLines(editor.value, start, end)\n\tconst [indentChar, tabSize] = getIndent(editor)\n\n\tinsertLines(\n\t\teditor,\n\t\tlines,\n\t\tlines.map(\n\t\t\tless\n\t\t\t\t? str => str.slice(whitespaceEnd(str) ? tabSize - (whitespaceEnd(str) % tabSize) : 0)\n\t\t\t\t: str => str && indentChar.repeat(tabSize - (whitespaceEnd(str) % tabSize)) + str,\n\t\t),\n\t\tstart1,\n\t\tend1,\n\t\tstart,\n\t\tend,\n\t)\n\n\treturn scroll(editor)\n}\n\n/**\n * Command that inserts spaces if `insertSpaces` isn't `false` or a tab character\n * otherwise at the specified position unless the editor is `readOnly`.\n * @param editor Editor to execute the command on.\n * @param pos Position to insert the tab.\n */\nconst insertTab = (editor: PrismEditor, pos: number) => {\n\tconst [indentChar, tabSize] = getIndent(editor)\n\n\tinsertText(\n\t\teditor,\n\t\tindentChar.repeat(tabSize - ((pos - getLineStart(editor.value, pos)) % tabSize)),\n\t)\n\n\treturn scroll(editor)\n}\n\n/**\n * Command that inserts a new line replacing the current selection unless the editor is\n * `readOnly`. It uses the `autoIndent` behavior of the current language to determine\n * whether to preserve the indentation or increase it.\n * @param editor Editor to execute the command on.\n * @param eol If `true`, the new line is inserted at the end of the line instead of at\n * the cursor's position.\n */\nconst insertLineAndIndent = (editor: PrismEditor, eol?: boolean) => {\n\tlet selection = editor.getSelection()\n\tlet value = editor.value\n\n\tif (eol) selection[0] = selection[1] = getLineEnd(value, selection[1])\n\n\tconst [indentChar, tabSize] = getIndent(editor)\n\tconst [start, end] = selection\n\tconst autoIndent = languageMap[getLanguage(editor, start)]?.autoIndent\n\tconst indenationCount = Math.floor(whitespaceEnd(getLineBefore(value, start)) / tabSize) * tabSize\n\tconst extraIndent = autoIndent?.[0]?.(selection, value, editor) ? tabSize : 0\n\tconst extraLine = autoIndent?.[1]?.(selection, value, editor)\n\tconst newText =\n\t\t\"\\n\" +\n\t\tindentChar.repeat(indenationCount + extraIndent) +\n\t\t(extraLine ? \"\\n\" + indentChar.repeat(indenationCount) : \"\")\n\n\tif (newText[1] || value[end]) {\n\t\tinsertText(editor, newText, start, end, start + indenationCount + extraIndent + 1)\n\t\treturn scroll(editor)\n\t}\n}\n\n/**\n * Command that moves all selected lines unless the editor is `readOnly`.\n * @param editor Editor to execute the command on.\n * @param up Whether to move the lines up. Defaults to `false`.\n */\nconst moveSelectedLines = (editor: PrismEditor, up?: boolean) => {\n\tconst [start, end] = editor.getSelection()\n\tconst value = editor.value\n\tconst newStart = up ? getLineStart(value, start) - 1 : start\n\tconst newEnd = up ? end : value.indexOf(\"\\n\", end) + 1\n\n\tif (newStart > -1 && newEnd > 0) {\n\t\tconst [lines, start1, end1] = getLines(value, newStart, newEnd)\n\t\tconst line = lines[up ? \"shift\" : \"pop\"]()!\n\t\tconst offset = (line.length + 1) * (up ? -1 : 1)\n\n\t\tlines[up ? \"push\" : \"unshift\"](line)\n\t\tinsertText(editor, lines.join(\"\\n\"), start1, end1, start + offset, end + offset)\n\t}\n\n\treturn scroll(editor)\n}\n\n/**\n * Command that copies all selected lines unless the editor is `readOnly`.\n * @param editor Editor to execute the command on.\n * @param up Whether or not the selection should remain on the top copy. Defaults to\n * `false`.\n */\nconst copySelectedLines = (editor: PrismEditor, up?: boolean) => {\n\tconst [start, end] = editor.getSelection()\n\tconst value = editor.value\n\tconst [lines, start1, end1] = getLines(value, start, end)\n\tconst str = lines.join(\"\\n\")\n\tconst offset = up ? 0 : str.length + 1\n\n\tinsertText(editor, str + \"\\n\" + str, start1, end1, start + offset, end + offset)\n\treturn scroll(editor)\n}\n\n/**\n * Command that scrolls the editor by one line.\n * @param editor Editor to execute the command on.\n * @param up Whether to scroll up. Defaults to `false`.\n */\nconst scrollByOneLine = (editor: PrismEditor, up?: boolean) => {\n\teditor.container.scrollBy(0, getStyleValue(editor.container, \"lineHeight\") * (up ? -1 : 1))\n\treturn true\n}\n\n/**\n * Command that deletes all selected lines unless the editor is `readOnly`.\n * @param editor Editor to execute the command on.\n */\nconst deleteSelectedLines = (editor: PrismEditor) => {\n\tconst [start, end, dir] = editor.getSelection()\n\tconst value = editor.value\n\tconst [lines, start1, end1] = getLines(value, start, end)\n\tconst column = dir > \"f\" ? end - end1 + lines.pop()!.length : start - start1\n\tconst newLineLen = getLineEnd(value, end1 + 1) - end1 - 1\n\n\tinsertText(\n\t\teditor,\n\t\t\"\",\n\t\tstart1 - <any>!!start1,\n\t\tend1 + <any>!start1,\n\t\tstart1 + Math.min(column, newLineLen),\n\t)\n\treturn scroll(editor)\n}\n\n/**\n * Command that toggles the comment around the current selection unless the editor is\n * `readOnly`. Comment syntax is determined using the current {@link Language}. It will\n * use the `getComments()` method if present and the `comments` property otherwise.\n * @param editor Editor to execute the command on.\n * @param isBlock Whether or not to toggle the comment using block syntax.\n */\nconst toggleComment = (editor: PrismEditor, isBlock?: boolean) => {\n\tconst [start, end] = editor.getSelection()\n\tconst value = editor.value\n\tconst position = isBlock ? start : getLineStart(value, start)\n\tconst lang = languageMap[getLanguage(editor, position)] || {}\n\tconst { line, block } = lang.getComments?.(editor, position, value) || lang.comments || {}\n\tconst [lines, start1, end1] = getLines(value, start, end)\n\tconst last = lines.length - 1\n\n\tif (isBlock) {\n\t\tif (block) {\n\t\t\tconst [open, close] = block\n\t\t\tconst text = value.slice(start, end)\n\t\t\tconst pos = value.slice(0, start).search(regexEscape(open) + \" ?$\")\n\n\t\t\tif (pos + 1 && RegExp(\"^ ?\" + regexEscape(close)).test(value.slice(end))) {\n\t\t\t\tinsertText(\n\t\t\t\t\teditor,\n\t\t\t\t\ttext,\n\t\t\t\t\tpos,\n\t\t\t\t\tend + <any>(value[end] == \" \") + close.length,\n\t\t\t\t\tpos,\n\t\t\t\t\tpos + end - start,\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tinsertText(\n\t\t\t\t\teditor,\n\t\t\t\t\t`${open} ${text} ${close}`,\n\t\t\t\t\tstart,\n\t\t\t\t\tend,\n\t\t\t\t\tstart + open.length + 1,\n\t\t\t\t\tend + open.length + 1,\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (line) {\n\t\t\tconst escaped = regexEscape(line)\n\t\t\tconst regex = RegExp(`^\\\\s*(${escaped} ?|$)`)\n\t\t\tconst regex2 = RegExp(escaped + \" ?\")\n\t\t\tconst allWhiteSpace = !/\\S/.test(value.slice(start1, end1))\n\t\t\tconst newLines = lines.map(\n\t\t\t\t!allWhiteSpace && lines.every(line => regex.test(line))\n\t\t\t\t\t? str => str.replace(regex2, \"\")\n\t\t\t\t\t: str => (allWhiteSpace || /\\S/.test(str) ? str.replace(/(?!\\s)/, line + \" \") : str),\n\t\t\t)\n\t\t\tinsertLines(editor, lines, newLines, start1, end1, start, end)\n\t\t} else if (block) {\n\t\t\tconst [open, close] = block\n\t\t\tconst first = lines[0]\n\t\t\tconst insertionPoint = whitespaceEnd(first)\n\t\t\tconst hasComment = first.startsWith(open, insertionPoint) && lines[last].endsWith(close)\n\n\t\t\tlines[0] = first.replace(\n\t\t\t\thasComment ? RegExp(regexEscape(open) + \" ?\") : /(?!\\s)/,\n\t\t\t\thasComment ? \"\" : open + \" \",\n\t\t\t)\n\t\t\tlet diff = lines[0].length - first.length\n\t\t\tlines[last] = hasComment\n\t\t\t\t? lines[last].replace(RegExp(` ?${regexEscape(close)}$`), \"\")\n\t\t\t\t: lines[last] + \" \" + close\n\n\t\t\tlet newText = lines.join(\"\\n\")\n\t\t\tlet firstInsersion = insertionPoint + start1\n\t\t\tlet newStart = firstInsersion > start ? start : Math.max(start + diff, firstInsersion)\n\t\t\tlet newEnd =\n\t\t\t\tfirstInsersion > end - <any>(start != end)\n\t\t\t\t\t? end\n\t\t\t\t\t: Math.min(Math.max(firstInsersion, end + diff), start1 + newText.length)\n\t\t\tinsertText(editor, newText, start1, end1, newStart, Math.max(newStart, newEnd))\n\t\t}\n\t}\n\n\treturn block || (line && !isBlock) ? scroll(editor) : false\n}\n\n/**\n * Default keymapping that includes the following commands:\n *\n * - `Alt` + `ArrowUp`: Move line up\n * - `Alt` + `ArrowDown`: Move line down\n * - `Ctrl` + `ArrowUp`: Scroll one line up (Windows/Linux)\n * - `Ctrl` + `ArrowDown`: Scroll one line down (Windows/Linux)\n * - `Ctrl` + `PageUp`: Scroll one line up (Mac)\n * - `Ctrl` + `PageDown`: Scroll one line down (Mac)\n * - `Shift` + `Alt` + `ArrowUp`: Copy line up\n * - `Shift` + `Alt` + `ArrowDown`: Copy line down\n * - `Enter`: Insert line and indent\n * - `Shift` + `Enter`: Insert line and indent\n * - `Mod` + `Enter`: Insert blank line\n * - `Mod` + `]`: Indent line\n * - `Mod` + `[`: Outdent line\n * - `Tab`: Indent line (Tab capture enabled)\n * - `Shift` + `Tab`: Outdent line (Tab capture enabled)\n * - `Shift` + `Mod` + `K`: Delete line\n * - `Mod` + `/`: Toggle comment\n * - `Shift` + `Alt` + `A`: Toggle block comment\n * - `Ctrl` + `M`: Toggle tab capturing (Windows/Linux)\n * - `Ctrl` + `Shift` + `M`: Toggle tab capturing (Mac)\n *\n * Here, `Mod` refers to `Cmd` on Mac and `Ctrl` otherwise.\n */\nconst defaultKeymap: Record<string, EditorHotkey> = {\n\tTab(editor) {\n\t\tif (!ignoreTab) {\n\t\t\tconst [start, end] = editor.getSelection()\n\t\t\treturn start == end ? insertTab(editor, start) : indentSelectedLines(editor)\n\t\t}\n\t},\n\t\"8+Tab\": editor => !ignoreTab && indentSelectedLines(editor, true),\n\t\"1+ArrowDown\": editor => moveSelectedLines(editor),\n\t\"1+ArrowUp\": editor => moveSelectedLines(editor, true),\n\t\"9+ArrowDown\": editor => copySelectedLines(editor),\n\t\"9+ArrowUp\": editor => copySelectedLines(editor, true),\n\tEnter: editor => insertLineAndIndent(editor),\n\t\"8+Enter\": editor => insertLineAndIndent(editor),\n\t\"Mod+Enter\": editor => insertLineAndIndent(editor, true),\n\t\"Mod+]\": editor => indentSelectedLines(editor),\n\t\"Mod+[\": editor => indentSelectedLines(editor, true),\n\t\"8+Mod+k\": deleteSelectedLines,\n\t\"Mod+/\": editor => toggleComment(editor),\n\t\"9+a\": editor => toggleComment(editor, true),\n\t[isMac ? \"10+m\" : \"2+m\"]: () => ((ignoreTab = !ignoreTab), true),\n\t[`2+${isMac ? \"Page\" : \"Arrow\"}Down`]: editor => scrollByOneLine(editor),\n\t[`2+${isMac ? \"Page\" : \"Arrow\"}Up`]: editor => scrollByOneLine(editor, true),\n}\n\nexport {\n\twhitespaceEnd,\n\tscroll,\n\tindentSelectedLines,\n\tinsertTab,\n\tinsertLineAndIndent,\n\tmoveSelectedLines,\n\tcopySelectedLines,\n\tscrollByOneLine,\n\tdeleteSelectedLines,\n\ttoggleComment,\n\tsetIgnoreTab,\n\tdefaultKeymap,\n\tignoreTab,\n}\n","import { InputSelection, BasicExtension } from \"../../index.js\"\nimport { preventDefault, languageMap } from \"../../core.js\"\nimport {\n\tgetLanguage,\n\tinsertText,\n\tgetLineBefore,\n\tgetLines,\n\tregexEscape,\n\tgetModifierCode,\n\tsetSelection,\n\tisMac,\n} from \"../../utils/index.js\"\nimport { addTextareaListener, getLineEnd, getLineStart, getStyleValue } from \"../../utils/local.js\"\nimport { mod } from \"./utils.js\"\nimport { ignoreTab, setIgnoreTab, whitespaceEnd } from \"./commands.js\"\nimport { editorCommands } from \"./index.js\"\n\n/**\n * Extension that will add automatic indentation and closing of brackets, quotes, and\n * tags along with the commands presented later.\n *\n * ## Commands\n *\n * Here, `Mod` refers to `Cmd` on Mac and `Ctrl` otherwise.\n *\n * - `Alt` + `ArrowUp`: Move line up\n * - `Alt` + `ArrowDown`: Move line down\n * - `Ctrl` + `ArrowUp`: Scroll one line up (Windows/Linux only)\n * - `Ctrl` + `ArrowDown`: Scroll one line down (Windows/Linux only)\n * - `Shift` + `Alt` + `ArrowUp`: Copy line up\n * - `Shift` + `Alt` + `ArrowDown`: Copy line down\n * - `Mod` + `Enter`: Insert blank line\n * - `Mod` + `]`: Indent line\n * - `Mod` + `[`: Outdent line\n * - `Tab`: Indent line (Tab capture enabled)\n * - `Shift` + `Tab`: Outdent line (Tab capture enabled)\n * - `Shift` + `Mod` + `K`: Delete line\n * - `Mod` + `/`: Toggle comment\n * - `Shift` + `Alt` + `A`: Toggle block comment\n * - `Ctrl` + `M`: Toggle tab capturing (Windows/Linux)\n * - `Ctrl` + `Shift` + `M`: Toggle tab capturing (Mac)\n *\n * @param selfClosePairs Pairs of self-closing brackets and quotes.\n * Must be an array of strings with 2 characters each.\n * Defaults to `['\"\"', \"''\", '``', '()', '[]', '{}']`.\n * @param selfCloseRegex Regex controlling whether or not a bracket/quote should\n * automatically close based on the character before and after the cursor.\n * Defaults to ``/([^$\\w'\"`][\"'`]|.[[({])[.,:;\\])}>\\s]|.[[({]`/s``.\n *\n * @deprecated Consider using {@link editorCommands} instead. This will be removed in next\n * major release.\n */\nconst defaultCommands = (\n\tselfClosePairs = ['\"\"', \"''\", \"``\", \"()\", \"[]\", \"{}\"],\n\tselfCloseRegex = /([^$\\w'\"`][\"'`]|.[[({])[.,:;\\])}>\\s]|.[[({]`/s,\n): BasicExtension => {\n\treturn (editor, options) => {\n\t\tlet prevCopy: string\n\t\tconst { keyCommandMap, inputCommandMap, getSelection, container } = editor\n\n\t\tconst clipboard = navigator.clipboard\n\n\t\tconst getIndent = ({ insertSpaces = true, tabSize } = options) =>\n\t\t\t[insertSpaces ? \" \" : \"\\t\", insertSpaces ? tabSize || 2 : 1] as const\n\n\t\tconst scroll = () => !options.readOnly && !editor.extensions.cursor?.scrollIntoView()\n\n\t\t/**\n\t\t * Automatically closes quotes and brackets if text is selected,\n\t\t * or if the character before and after the cursor matches a regex\n\t\t * @param wrapOnly If true, the character will only be closed if text is selected.\n\t\t */\n\t\tconst selfClose = (\n\t\t\t[start, end]: InputSelection,\n\t\t\t[open, close]: string,\n\t\t\tvalue: string,\n\t\t\twrapOnly?: boolean,\n\t\t) =>\n\t\t\t(start < end ||\n\t\t\t\t(!wrapOnly && selfCloseRegex.test((value[end - 1] || \" \") + open + (value[end] || \" \")))) &&\n\t\t\t!insertText(editor, open + value.slice(start, end) + close, null, null, start + 1, end + 1)!\n\n\t\tconst skipIfEqual = ([start, end]: InputSelection, char: string, value: string) =>\n\t\t\tstart == end && value[end] == char && !setSelection(editor, start + 1)!\n\n\t\t/**\n\t\t * Inserts slightly altered lines while keeping the same selection.\n\t\t * Used when toggling comments and indenting.\n\t\t */\n\t\tconst insertLines = (\n\t\t\told: string[],\n\t\t\tnewL: string[],\n\t\t\tstart: number,\n\t\t\tend: number,\n\t\t\tselectionStart: number,\n\t\t\tselectionEnd: number,\n\t\t) => {\n\t\t\tlet newLines = newL.join(\"\\n\")\n\t\t\tif (newLines != old.join(\"\\n\")) {\n\t\t\t\tconst last = old.length - 1\n\t\t\t\tconst lastLine = newL[last]\n\t\t\t\tconst oldLastLine = old[last]\n\t\t\t\tconst lastDiff = oldLastLine.length - lastLine.length\n\t\t\t\tconst firstDiff = newL[0].length - old[0].length\n\t\t\t\tconst firstInsersion = start + whitespaceEnd((firstDiff < 0 ? newL : old)[0])\n\t\t\t\tconst lastInsersion =\n\t\t\t\t\tend - oldLastLine.length + whitespaceEnd(lastDiff > 0 ? lastLine : oldLastLine)\n\t\t\t\tconst offset = start - end + newLines.length + lastDiff\n\t\t\t\tconst newCursorStart =\n\t\t\t\t\tfirstInsersion > selectionStart\n\t\t\t\t\t\t? selectionStart\n\t\t\t\t\t\t: Math.max(firstInsersion, selectionStart + firstDiff)\n\t\t\t\tconst newCursorEnd = selectionEnd + start - end + newLines.length\n\t\t\t\tinsertText(\n\t\t\t\t\teditor,\n\t\t\t\t\tnewLines,\n\t\t\t\t\tstart,\n\t\t\t\t\tend,\n\t\t\t\t\tnewCursorStart,\n\t\t\t\t\tselectionEnd < lastInsersion\n\t\t\t\t\t\t? newCursorEnd + lastDiff\n\t\t\t\t\t\t: Math.max(lastInsersion + offset, newCursorEnd),\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\tconst indent = (\n\t\t\toutdent: boolean,\n\t\t\tlines: string[],\n\t\t\tstart1: number,\n\t\t\tend1: number,\n\t\t\tstart: number,\n\t\t\tend: number,\n\t\t\tindentChar: string,\n\t\t\ttabSize: number,\n\t\t) => {\n\t\t\tinsertLines(\n\t\t\t\tlines,\n\t\t\t\tlines.map(\n\t\t\t\t\toutdent\n\t\t\t\t\t\t? str => str.slice(whitespaceEnd(str) ? tabSize - (whitespaceEnd(str) % tabSize) : 0)\n\t\t\t\t\t\t: str => str && indentChar.repeat(tabSize - (whitespaceEnd(str) % tabSize)) + str,\n\t\t\t\t),\n\t\t\t\tstart1,\n\t\t\t\tend1,\n\t\t\t\tstart,\n\t\t\t\tend,\n\t\t\t)\n\t\t}\n\n\t\tinputCommandMap[\"<\"] = (_e, selection, value) => selfClose(selection, \"<>\", value, true)\n\n\t\tselfClosePairs.forEach(([open, close]) => {\n\t\t\tconst isQuote = open == close\n\t\t\tinputCommandMap[open] = (_e, selection, value) =>\n\t\t\t\t((isQuote && skipIfEqual(selection, close, value)) ||\n\t\t\t\t\tselfClose(selection, open + close, value)) &&\n\t\t\t\tscroll()\n\t\t\tif (!isQuote)\n\t\t\t\tinputCommandMap[close] = (_e, selection, value) =>\n\t\t\t\t\tskipIfEqual(selection, close, value) && scroll()\n\t\t})\n\n\t\tinputCommandMap[\">\"] = (e, selection, value) => {\n\t\t\tconst closingTag = languageMap[getLanguage(editor)]?.autoCloseTags?.(selection, value, editor)\n\t\t\tif (closingTag) {\n\t\t\t\tinsertText(editor, \">\" + closingTag, null, null, selection[0] + 1)\n\t\t\t\tpreventDefault(e)\n\t\t\t}\n\t\t}\n\n\t\tkeyCommandMap.Tab = (e, [start, end], value) => {\n\t\t\tif (ignoreTab || options.readOnly || getModifierCode(e) & 7) return\n\t\t\tconst [indentChar, tabSize] = getIndent()\n\t\t\tconst shiftKey = e.shiftKey\n\t\t\tconst [lines, start1, end1] = getLines(value, start, end)\n\t\t\tif (start < end || shiftKey) {\n\t\t\t\tindent(shiftKey, lines, start1, end1, start, end, indentChar, tabSize)\n\t\t\t} else insertText(editor, indentChar.repeat(tabSize - ((start - start1) % tabSize)))\n\t\t\treturn scroll()\n\t\t}\n\n\t\tkeyCommandMap.Enter = (e, selection, value) => {\n\t\t\tconst code = getModifierCode(e) & 7\n\t\t\tif (!code || code == mod) {\n\t\t\t\tif (code) selection[0] = selection[1] = getLines(value, selection[1])[2]\n\t\t\t\tconst [indentChar, tabSize] = getIndent()\n\t\t\t\tconst [start, end] = selection\n\t\t\t\tconst autoIndent = languageMap[getLanguage(editor, start)]?.autoIndent\n\t\t\t\tconst indenationCount =\n\t\t\t\t\tMath.floor(whitespaceEnd(getLineBefore(value, start)) / tabSize) * tabSize\n\t\t\t\tconst extraIndent = autoIndent?.[0]?.(selection, value, editor) ? tabSize : 0\n\t\t\t\tconst extraLine = autoIndent?.[1]?.(selection, value, editor)\n\t\t\t\tconst newText =\n\t\t\t\t\t\"\\n\" +\n\t\t\t\t\tindentChar.repeat(indenationCount + extraIndent) +\n\t\t\t\t\t(extraLine ? \"\\n\" + indentChar.repeat(indenationCount) : \"\")\n\n\t\t\t\tif (newText[1] || value[end]) {\n\t\t\t\t\tinsertText(editor, newText, start, end, start + indenationCount + extraIndent + 1)\n\t\t\t\t\treturn scroll()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tkeyCommandMap.Backspace = (_e, [start, end], value) => {\n\t\t\tif (start == end) {\n\t\t\t\tconst line = getLineBefore(value, start)\n\t\t\t\tconst tabSize = options.tabSize || 2\n\t\t\t\tconst isPair = selfClosePairs.includes(value.slice(start - 1, start + 1))\n\t\t\t\tconst indenationCount = /[^ ]/.test(line) ? 0 : ((line.length - 1) % tabSize) + 1\n\n\t\t\t\tif (isPair || indenationCount > 1) {\n\t\t\t\t\tinsertText(editor, \"\", start - (isPair ? 1 : indenationCount), start + <any>isPair)\n\t\t\t\t\treturn scroll()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < 2; i++) {\n\t\t\tkeyCommandMap[i ? \"ArrowDown\" : \"ArrowUp\"] = (e, [start, end], value) => {\n\t\t\t\tconst code = getModifierCode(e)\n\n\t\t\t\tif (code == 1) {\n\t\t\t\t\t// Moving lines\n\t\t\t\t\tconst newStart = i ? start : getLineStart(value, start) - 1\n\t\t\t\t\tconst newEnd = i ? value.indexOf(\"\\n\", end) + 1 : end\n\t\t\t\t\tif (newStart > -1 && newEnd > 0) {\n\t\t\t\t\t\tconst [lines, start1, end1] = getLines(value, newStart, newEnd)\n\t\t\t\t\t\tconst line = lines[i ? \"pop\" : \"shift\"]()!\n\t\t\t\t\t\tconst offset = (line.length + 1) * (i ? 1 : -1)\n\n\t\t\t\t\t\tlines[i ? \"unshift\" : \"push\"](line)\n\t\t\t\t\t\tinsertText(editor, lines.join(\"\\n\"), start1, end1, start + offset, end + offset)\n\t\t\t\t\t}\n\t\t\t\t\treturn scroll()\n\t\t\t\t} else if (code == 9) {\n\t\t\t\t\t// Copying lines\n\t\t\t\t\tconst [lines, start1, end1] = getLines(value, start, end)\n\t\t\t\t\tconst str = lines.join(\"\\n\")\n\t\t\t\t\tconst offset = i ? str.length + 1 : 0\n\t\t\t\t\tinsertText(editor, str + \"\\n\" + str, start1, end1, start + offset, end + offset)\n\t\t\t\t\treturn scroll()\n\t\t\t\t} else if (code == 2 && !isMac) {\n\t\t\t\t\tcontainer.scrollBy(0, getStyleValue(container, \"lineHeight\") * (i ? 1 : -1))\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\taddTextareaListener(editor, \"keydown\", e => {\n\t\t\tconst code = getModifierCode(e)\n\t\t\tconst keyCode = e.keyCode\n\t\t\tconst [start, end, dir] = getSelection()\n\n\t\t\tif (code == mod && (keyCode == 221 || keyCode == 219)) {\n\t\t\t\tindent(keyCode == 219, ...getLines(editor.value, start, end), start, end, ...getIndent())\n\t\t\t\tscroll()\n\t\t\t\tpreventDefault(e)\n\t\t\t} else if (code == (isMac ? 0b1010 : 0b0010) && keyCode == 77) {\n\t\t\t\tsetIgnoreTab(!ignoreTab)\n\t\t\t\tpreventDefault(e)\n\t\t\t} else if ((keyCode == 191 && code == mod) || (keyCode == 65 && code == 9)) {\n\t\t\t\tconst value = editor.value\n\t\t\t\tconst isBlock = code == 9\n\t\t\t\tconst position = isBlock ? start : getLineStart(value, start)\n\t\t\t\tconst language = languageMap[getLanguage(editor, position)] || {}\n\t\t\t\tconst { line, block } =\n\t\t\t\t\tlanguage.getComments?.(editor, position, value) || language.comments || {}\n\t\t\t\tconst [lines, start1, end1] = getLines(value, start, end)\n\t\t\t\tconst last = lines.length - 1\n\n\t\t\t\tif (isBlock) {\n\t\t\t\t\tif (block) {\n\t\t\t\t\t\tconst [open, close] = block\n\t\t\t\t\t\tconst text = value.slice(start, end)\n\t\t\t\t\t\tconst pos = value.slice(0, start).search(regexEscape(open) + \" ?$\")\n\n\t\t\t\t\t\tif (pos + 1 && RegExp(\"^ ?\" + regexEscape(close)).test(value.slice(end)))\n\t\t\t\t\t\t\tinsertText(\n\t\t\t\t\t\t\t\teditor,\n\t\t\t\t\t\t\t\ttext,\n\t\t\t\t\t\t\t\tpos,\n\t\t\t\t\t\t\t\tend + <any>(value[end] == \" \") + close.length,\n\t\t\t\t\t\t\t\tpos,\n\t\t\t\t\t\t\t\tpos + end - start,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tinsertText(\n\t\t\t\t\t\t\t\teditor,\n\t\t\t\t\t\t\t\t`${open} ${text} ${close}`,\n\t\t\t\t\t\t\t\tstart,\n\t\t\t\t\t\t\t\tend,\n\t\t\t\t\t\t\t\tstart + open.length + 1,\n\t\t\t\t\t\t\t\tend + open.length + 1,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\tscroll()\n\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (line) {\n\t\t\t\t\t\tconst escaped = regexEscape(line)\n\t\t\t\t\t\tconst regex = RegExp(`^\\\\s*(${escaped} ?|$)`)\n\t\t\t\t\t\tconst regex2 = RegExp(escaped + \" ?\")\n\t\t\t\t\t\tconst allWhiteSpace = !/\\S/.test(value.slice(start1, end1))\n\t\t\t\t\t\tconst newLines = lines.map(\n\t\t\t\t\t\t\t!allWhiteSpace && lines.every(line => regex.test(line))\n\t\t\t\t\t\t\t\t? str => str.replace(regex2, \"\")\n\t\t\t\t\t\t\t\t: str =>\n\t\t\t\t\t\t\t\t\t\tallWhiteSpace || /\\S/.test(str) ? str.replace(/(?!\\s)/, line + \" \") : str,\n\t\t\t\t\t\t)\n\t\t\t\t\t\tinsertLines(lines, newLines, start1, end1, start, end)\n\t\t\t\t\t\tscroll()\n\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t} else if (block) {\n\t\t\t\t\t\tconst [open, close] = block\n\t\t\t\t\t\tconst first = lines[0]\n\t\t\t\t\t\tconst insertionPoint = whitespaceEnd(first)\n\t\t\t\t\t\tconst hasComment = first.startsWith(open, insertionPoint) && lines[last].endsWith(close)\n\n\t\t\t\t\t\tlines[0] = first.replace(\n\t\t\t\t\t\t\thasComment ? RegExp(regexEscape(open) + \" ?\") : /(?!\\s)/,\n\t\t\t\t\t\t\thasComment ? \"\" : open + \" \",\n\t\t\t\t\t\t)\n\t\t\t\t\t\tlet diff = lines[0].length - first.length\n\t\t\t\t\t\tlines[last] = hasComment\n\t\t\t\t\t\t\t? lines[last].replace(RegExp(` ?${regexEscape(close)}$`), \"\")\n\t\t\t\t\t\t\t: lines[last] + \" \" + close\n\n\t\t\t\t\t\tlet newText = lines.join(\"\\n\")\n\t\t\t\t\t\tlet firstInsersion = insertionPoint + start1\n\t\t\t\t\t\tlet newStart = firstInsersion > start ? start : Math.max(start + diff, firstInsersion)\n\t\t\t\t\t\tlet newEnd =\n\t\t\t\t\t\t\tfirstInsersion > end - <any>(start != end)\n\t\t\t\t\t\t\t\t? end\n\t\t\t\t\t\t\t\t: Math.min(Math.max(firstInsersion, end + diff), start1 + newText.length)\n\t\t\t\t\t\tinsertText(editor, newText, start1, end1, newStart, Math.max(newStart, newEnd))\n\t\t\t\t\t\tscroll()\n\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (code == 8 + mod && keyCode == 75) {\n\t\t\t\tconst value = editor.value\n\t\t\t\tconst [lines, start1, end1] = getLines(value, start, end)\n\t\t\t\tconst column = dir > \"f\" ? end - end1 + lines.pop()!.length : start - start1\n\t\t\t\tconst newLineLen = getLineEnd(value, end1 + 1) - end1 - 1\n\t\t\t\tinsertText(\n\t\t\t\t\teditor,\n\t\t\t\t\t\"\",\n\t\t\t\t\tstart1 - <any>!!start1,\n\t\t\t\t\tend1 + <any>!start1,\n\t\t\t\t\tstart1 + Math.min(column, newLineLen),\n\t\t\t\t)\n\t\t\t\tscroll()\n\t\t\t\tpreventDefault(e)\n\t\t\t}\n\t\t})\n\t\t;([\"copy\", \"cut\", \"paste\"] as const).forEach(type =>\n\t\t\taddTextareaListener(editor, type, e => {\n\t\t\t\tconst [start, end] = getSelection()\n\t\t\t\tif (start == end && clipboard) {\n\t\t\t\t\tconst [[line], start1, end1] = getLines(editor.value, start, end)\n\t\t\t\t\tif (type == \"paste\") {\n\t\t\t\t\t\tif (e.clipboardData!.getData(\"text/plain\") == prevCopy) {\n\t\t\t\t\t\t\tinsertText(editor, prevCopy + \"\\n\", start1, start1, start + prevCopy.length + 1)\n\t\t\t\t\t\t\tscroll()\n\t\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclipboard.writeText((prevCopy = line))\n\t\t\t\t\t\tif (type == \"cut\") insertText(editor, \"\", start1, end1 + 1), scroll()\n\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n}\n\nexport { defaultCommands }\n","import { isMac } from \"../../utils/index.js\"\nimport { autoComplete } from \"../autocomplete/tooltip.js\"\nimport { searchWidget } from \"../search/widget.js\"\nimport { defaultKeymap } from \"./commands.js\"\nimport { normalizeKey } from \"./utils.js\"\n\nconst macModifiers: Record<number, string> = {\n\t2: \"⌃\",\n\t1: \"⌥\",\n\t8: \"⇧\",\n\t4: \"⌘\",\n}\n\nconst winModifiers: Record<number, string> = {\n\t2: \"Ctrl\",\n\t1: \"Alt\",\n\t8: \"Shift\",\n\t4: \"Win\",\n}\n\nconst keyDisplay: Record<string, string | undefined> = {\n\tarrowdown: \"↓\",\n\tarrowleft: \"←\",\n\tarrowright: \"→\",\n\tarrowup: \"↑\",\n\tdelete: \"Del\",\n\tescape: \"Esc\",\n\tpagedown: \"PageDown\",\n\tpageup: \"PageUp\",\n\t\" \": \"Space\",\n}\n\n/**\n * Utility that formats a hotkey to display in a user interface. Modifier keys use symbols\n * on Mac and labels otherwise.\n *\n * @param hotkey Hotkey to format for display.\n * @param separator String to join the segments together with. Defaults to `\" \"` on Mac\n * and `\"+\"` otherwise.\n * @returns Formatted key for display.\n *\n * @example\n * // On Mac\n * formatHotkey(\"mod+s\") // \"⌘ S\"\n * formatHotkey(\"12+escape\") // \"⇧ ⌘ Esc\"\n * formatHotkey(\"arrowup\") // \"↑\"\n *\n * // On Windows/Linux\n * formatHotkey(\"mod+s\") // \"Ctrl+S\"\n * formatHotkey(\"12+escape\") // \"Shift+Win+Esc\"\n * formatHotkey(\"arrowup\") // \"↑\"\n */\nconst formatHotkey = (hotkey: string, separator = isMac ? \" \" : \"+\") => {\n\tconst [code, key] = normalizeKey(hotkey).split(\"+\")\n\tconst result: string[] = []\n\tconst modifiers = isMac ? macModifiers : winModifiers\n\n\tfor (let c in modifiers) {\n\t\tif (+code & +c) result.push(modifiers[c])\n\t}\n\n\tresult.push(key ? keyDisplay[key] || key[0].toUpperCase() + key.slice(1) : \"+\")\n\n\treturn result.join(separator)\n}\n\n/**\n * Array of keyboard shortcuts and descriptions for {@link defaultKeymap}. Useful for\n * documenting key bindings to users. It consists of tuples containing two string each\n * where the first string is the key binding and the second is the description.\n *\n * @example\n * for (const [key, description] of defaultKeymapLabels) {\n * console.log(formatHotkey(key), description)\n * }\n */\nconst defaultKeymapLabels: [string, string][] = [\n\t[\"1+ArrowDown\", \"Move lines down\"],\n\t[\"1+ArrowUp\", \"Move lines up\"],\n\t[\"9+ArrowDown\", \"Copy lines down\"],\n\t[\"9+ArrowUp\", \"Copy lines up\"],\n\t[`2+${isMac ? \"Page\" : \"Arrow\"}Down`, \"Scroll one line down\"],\n\t[`2+${isMac ? \"Page\" : \"Arrow\"}Up`, \"Scroll one line up\"],\n\t[\"Enter\", \"Insert line and indent\"],\n\t[\"Mod+Enter\", \"Insert blank line\"],\n\t[\"Mod+]\", \"Indent lines\"],\n\t[\"Mod+[\", \"Outdent lines\"],\n\t[\"8+Mod+k\", \"Delete lines\"],\n\t[\"Mod+/\", \"Toggle line comment\"],\n\t[\"9+a\", \"Toggle block comment\"],\n\t[isMac ? \"10+m\" : \"2+m\", \"Toggle tab capturing\"],\n\t[\"Tab\", \"Indent lines\"],\n\t[\"8+Tab\", \"Outdent lines\"],\n]\n\n/**\n * Array of keyboard shortcuts and descriptions for the {@link autoComplete} extension.\n * Useful for documenting key bindings to users. It consists of tuples containing two\n * string each where the first string is the key binding and the second is the description.\n *\n * @example\n * for (const [key, description] of autoCompleteShortcutLabels) {\n * console.log(formatHotkey(key), description)\n * }\n */\nconst autoCompleteShortcutLabels: [string, string][] = [\n\t[\"2+ \", \"Trigger suggestion\"],\n\t[\"mod+i\", \"Trigger suggestion\"],\n\t...(isMac ? ([[\"1+Escape\", \"Trigger suggestion\"]] satisfies [string, string][]) : []),\n\t[\"2+ \", \"Toggle suggestion documentation\"],\n\t[\"mod+i\", \"Toggle suggestion documentation\"],\n\t[\"Tab\", \"Insert suggestion\"],\n\t[\"Enter\", \"Insert suggestion\"],\n\t[\"Escape\", \"Close completion widget\"],\n\t[\"Escape\", \"Clear tab stops\"],\n\t[\"Tab\", \"Select next tab stop\"],\n\t[\"8+Tab\", \"Select previous tab stop\"],\n\t[\"ArrowUp\", \"Select previous suggestion\"],\n\t[\"ArrowDown\", \"Select next suggestion\"],\n\t[\"PageUp\", \"Select first visible suggestion\"],\n\t[\"PageDown\", \"Select last visible suggestion\"],\n]\n\nconst modifiers = isMac ? 5 : 1\n\n/**\n * Array of keyboard shortcuts and descriptions for the {@link searchWidget} extension.\n * Useful for documenting key bindings to users. It consists of tuples containing two\n * string each where the first string is the key binding and the second is the description.\n *\n * @example\n * for (const [key, description] of searchShortcutLabels) {\n * console.log(formatHotkey(key), description)\n * }\n */\nconst searchShortcutLabels: [string, string][] = [\n\t[\"mod+f\", \"Start search\"],\n\t[\"mod+g\", \"Find next match\"],\n\t[\"mod+8+g\", \"Find previous match\"],\n\t[\"f3\", \"Find next match\"],\n\t[\"8+f3\", \"Find previous match\"],\n\t[\"Enter\", \"Select next match\"],\n\t[\"8+Enter\", \"Select previous match\"],\n\t[\"Escape\", \"Close search widget\"],\n\t[\"Enter\", \"Replace match\"],\n\t[`${isMac ? 4 : 3}+Enter`, \"Replace all matches\"],\n\t[modifiers + \"+r\", \"Toggle regex search\"],\n\t[modifiers + \"+p\", \"Toggle case preservation\"],\n\t[modifiers + \"+w\", \"Toggle whole word search\"],\n\t[modifiers + \"+l\", \"Toggle find in selection\"],\n]\n\nexport { formatHotkey, defaultKeymapLabels, autoCompleteShortcutLabels, searchShortcutLabels }\n","/** @module commands */\n\nimport { InputSelection, BasicExtension, PrismEditor } from \"../../index.js\"\nimport { preventDefault, languageMap } from \"../../core.js\"\nimport {\n\tgetLanguage,\n\tinsertText,\n\tgetLines,\n\tgetModifierCode,\n\tprevSelection,\n\tsetSelection,\n\tisMac,\n\tgetLineBefore,\n} from \"../../utils/index.js\"\nimport { addTextareaListener } from \"../../utils/local.js\"\nimport { EditHistory, EditorHotkey } from \"./types.js\"\nimport { mod, addEditorHotkey } from \"./utils.js\"\nimport { scroll } from \"./commands.js\"\n\n/**\n * Extension that will add automatic closing of brackets, quotes, and tags along\n * with the specified commands.\n *\n * @param hotkeyMap Commands that will be added to the editor.\n * @param selfClosePairs Pairs of self-closing brackets and quotes.\n * Must be an array of strings with 2 characters each.\n * Defaults to `['\"\"', \"''\", '``', '()', '[]', '{}']`.\n * @param selfCloseRegex Regex controlling whether or not a bracket/quote should\n * automatically close based on the character before and after the cursor.\n * Defaults to ``/([^$\\w'\"`][\"'`]|.[[({])[.,:;\\])}>\\s]|.[[({]`/s``.\n */\nconst editorCommands = (\n\thotkeyMap: Record<string, EditorHotkey>,\n\tselfClosePairs = ['\"\"', \"''\", \"``\", \"()\", \"[]\", \"{}\"],\n\tselfCloseRegex = /([^$\\w'\"`][\"'`]|.[[({])[.,:;\\])}>\\s]|.[[({]`/s,\n): BasicExtension => {\n\treturn (editor, options) => {\n\t\tlet prevCopy: string\n\t\tconst inputCommandMap = editor.inputCommandMap\n\t\tconst clipboard = navigator.clipboard\n\n\t\t/**\n\t\t * Automatically closes quotes and brackets if text is selected,\n\t\t * or if the character before and after the cursor matches a regex\n\t\t * @param wrapOnly If true, the character will only be closed if text is selected.\n\t\t */\n\t\tconst selfClose = (\n\t\t\t[start, end]: InputSelection,\n\t\t\t[open, close]: string,\n\t\t\tvalue: string,\n\t\t\twrapOnly?: boolean,\n\t\t) =>\n\t\t\t(start < end ||\n\t\t\t\t(!wrapOnly && selfCloseRegex.test((value[end - 1] || \" \") + open + (value[end] || \" \")))) &&\n\t\t\t!insertText(editor, open + value.slice(start, end) + close, null, null, start + 1, end + 1)!\n\n\t\tconst skipIfEqual = ([start, end]: InputSelection, char: string, value: string) =>\n\t\t\tstart == end && value[end] == char && !setSelection(editor, start + 1)!\n\n\t\tconst backspaceCommand = () => {\n\t\t\tconst [start, end] = editor.getSelection()\n\n\t\t\tif (start == end) {\n\t\t\t\tconst value = editor.value\n\t\t\t\tconst line = getLineBefore(value, start)\n\t\t\t\tconst tabSize = options.tabSize || 2\n\t\t\t\tconst isPair = selfClosePairs.includes(value.slice(start - 1, start + 1))\n\t\t\t\tconst indenationCount = /[^ ]/.test(line) ? 0 : ((line.length - 1) % tabSize) + 1\n\n\t\t\t\tif ((isPair || indenationCount > 1) && start == end) {\n\t\t\t\t\tinsertText(editor, \"\", start - (isPair ? 1 : indenationCount), start + <any>isPair)\n\t\t\t\t\treturn scroll(editor)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tinputCommandMap[\"<\"] = (_e, selection, value) => selfClose(selection, \"<>\", value, true)\n\n\t\tselfClosePairs.forEach(([open, close]) => {\n\t\t\tconst isQuote = open == close\n\t\t\tinputCommandMap[open] = (_e, selection, value) =>\n\t\t\t\t((isQuote && skipIfEqual(selection, close, value)) ||\n\t\t\t\t\tselfClose(selection, open + close, value)) &&\n\t\t\t\tscroll(editor)\n\t\t\tif (!isQuote)\n\t\t\t\tinputCommandMap[close] = (_e, selection, value) =>\n\t\t\t\t\tskipIfEqual(selection, close, value) && scroll(editor)\n\t\t})\n\n\t\tinputCommandMap[\">\"] = (e, selection, value) => {\n\t\t\tconst closingTag = languageMap[getLanguage(editor)]?.autoCloseTags?.(selection, value, editor)\n\t\t\tif (closingTag) {\n\t\t\t\tinsertText(editor, \">\" + closingTag, null, null, selection[0] + 1)\n\t\t\t\tpreventDefault(e)\n\t\t\t}\n\t\t}\n\n\t\taddEditorHotkey(editor, \"Backspace\", backspaceCommand)\n\t\taddEditorHotkey(editor, \"8+Backspace\", backspaceCommand)\n\n\t\tfor (const key in hotkeyMap) {\n\t\t\taddEditorHotkey(editor, key, hotkeyMap[key])\n\t\t}\n\n\t\t;([\"copy\", \"cut\", \"paste\"] as const).forEach(type =>\n\t\t\taddTextareaListener(editor, type, e => {\n\t\t\t\tconst [start, end] = editor.getSelection()\n\t\t\t\tif (start == end && clipboard) {\n\t\t\t\t\tconst [[line], start1, end1] = getLines(editor.value, start, end)\n\t\t\t\t\tif (type == \"paste\") {\n\t\t\t\t\t\tif (e.clipboardData!.getData(\"text/plain\") == prevCopy) {\n\t\t\t\t\t\t\tinsertText(editor, prevCopy + \"\\n\", start1, start1, start + prevCopy.length + 1)\n\t\t\t\t\t\t\tscroll(editor)\n\t\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclipboard.writeText((prevCopy = line))\n\t\t\t\t\t\tif (type == \"cut\") insertText(editor, \"\", start1, end1 + 1), scroll(editor)\n\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n}\n\n/**\n * History extension that overrides the undo/redo behavior of the browser.\n *\n * Without this extension, the browser's native undo/redo is used, which can be sufficient\n * in some cases.\n *\n * Once added to an editor, this extension can be accessed from `editor.extensions.history`.\n *\n * If you want to create a new editor with different extensions while keeping the undo/redo\n * history of an old editor, you can! Just add the old editor's history extension instance\n * to the new editor. Keep in mind that this will fully break the undo/redo behavior of the\n * old editor.\n *\n * @param historyLimit The maximum size of the history stack. Defaults to 999.\n */\nconst editHistory = (historyLimit = 999) => {\n\tlet sp = 0\n\tlet currentEditor: PrismEditor\n\tlet allowMerge: boolean\n\tlet isTyping = false\n\tlet prevInputType: string\n\tlet prevData: string | null\n\tlet prevTime: number\n\tlet isMerge: boolean\n\tlet textarea: HTMLTextAreaElement\n\tlet getSelection: PrismEditor[\"getSelection\"]\n\n\tconst stack: [string, InputSelection, InputSelection][] = []\n\tconst update = (index: number) => {\n\t\tif (index >= historyLimit) {\n\t\t\tindex--\n\t\t\tstack.shift()\n\t\t}\n\t\tstack.splice((sp = index), historyLimit, [currentEditor.value, getSelection(), getSelection()])\n\t}\n\tconst setEditorState = (index: number) => {\n\t\tif (stack[index]) {\n\t\t\ttextarea.value = stack[index][0]\n\t\t\ttextarea.setSelectionRange(...stack[index][index < sp ? 2 : 1])\n\t\t\tcurrentEditor.update()\n\t\t\tcurrentEditor.extensions.cursor?.scrollIntoView()\n\t\t\tsp = index\n\t\t\tallowMerge = false\n\t\t}\n\t}\n\n\tconst self: EditHistory = (editor, options) => {\n\t\teditor.extensions.history = self\n\t\tcurrentEditor = editor\n\t\tgetSelection = editor.getSelection\n\t\ttextarea || update(0)\n\t\ttextarea = editor.textarea\n\n\t\teditor.on(\"selectionChange\", () => {\n\t\t\tallowMerge = isTyping\n\t\t\tisTyping = false\n\t\t})\n\n\t\taddTextareaListener(editor, \"beforeinput\", e => {\n\t\t\tlet data = e.data\n\t\t\tlet inputType = e.inputType\n\t\t\tlet time = e.timeStamp\n\n\t\t\tif (/history/.test(inputType)) {\n\t\t\t\tsetEditorState(sp + (inputType[7] == \"U\" ? -1 : 1))\n\t\t\t\tpreventDefault(e)\n\t\t\t} else if (\n\t\t\t\t!(isMerge =\n\t\t\t\t\tallowMerge &&\n\t\t\t\t\t(prevInputType == inputType || (time - prevTime < 99 && inputType.slice(-4) == \"Drop\")) &&\n\t\t\t\t\t!prevSelection &&\n\t\t\t\t\t(data != \" \" || prevData == data))\n\t\t\t) {\n\t\t\t\tstack[sp][2] = prevSelection || getSelection()\n\t\t\t}\n\t\t\tisTyping = true\n\t\t\tprevData = data\n\t\t\tprevTime = time\n\t\t\tprevInputType = inputType\n\t\t})\n\t\taddTextareaListener(editor, \"input\", () => update(sp + <any>!isMerge))\n\t\taddTextareaListener(editor, \"keydown\", e => {\n\t\t\tif (!options.readOnly) {\n\t\t\t\tconst code = getModifierCode(e)\n\t\t\t\tconst keyCode = e.keyCode\n\t\t\t\tconst isUndo = code == mod && keyCode == 90\n\t\t\t\tconst isRedo =\n\t\t\t\t\t(code == mod + 8 && keyCode == 90) || (!isMac && code == mod && keyCode == 89)\n\t\t\t\tif (isUndo) {\n\t\t\t\t\tsetEditorState(sp - 1)\n\t\t\t\t\tpreventDefault(e)\n\t\t\t\t} else if (isRedo) {\n\t\t\t\t\tsetEditorState(sp + 1)\n\t\t\t\t\tpreventDefault(e)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\teditor.addExtensions({\n\t\t\tupdate() {\n\t\t\t\tif (editor.value != textarea.value) reset()\n\t\t\t},\n\t\t})\n\t}\n\n\tconst reset = (self.clear = () => {\n\t\tupdate(0)\n\t\tallowMerge = false\n\t})\n\n\tself.has = offset => sp + offset in stack\n\tself.go = offset => setEditorState(sp + offset)\n\n\treturn self\n}\n\nexport { editorCommands, editHistory }\nexport {\n\tnormalizeKey,\n\tgetKeysFromEvent,\n\taddEditorHotkey,\n\taddHotkey,\n\taddEditorHotkeySequence,\n\taddHotkeySequence,\n\trunHotkeys,\n\tisModifierKey,\n} from \"./utils.js\"\nexport {\n\tindentSelectedLines,\n\tinsertTab,\n\tinsertLineAndIndent,\n\tmoveSelectedLines,\n\tcopySelectedLines,\n\tscrollByOneLine,\n\tdeleteSelectedLines,\n\ttoggleComment,\n\tsetIgnoreTab,\n\tdefaultKeymap,\n\tignoreTab,\n} from \"./commands.js\"\nexport * from \"./deprecated.js\"\nexport * from \"./types.js\"\nexport * from \"./format.js\"\n"],"mappings":"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"}
|
package/dist/copy.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.pce-copy{all:unset;cursor:pointer;position:sticky;right:.5em;top:.5em;left:.5em;box-shadow:inset 0 0 0 1px var(--pce-widget-border);margin:-9in 0 0;padding:.5em;background:var(--pce-widget-bg);z-index:3;color:var(--pce-widget-color-options);pointer-events:auto;display:grid!important;align-items:center;font:400 1em/1.5 Arial,Helvetica,sans-serif}.pce-copy,.pce-copy:after,.pce-copy:before{opacity:0;border-radius:.3em;transition:opacity .1s ease-out}.pce-copy:after{content:attr(aria-label);position:absolute;right:calc(100% + .5em);background:#000000b3;color:#fff;text-align:center;width:8ch;font-size:80%;padding:.2em 0;pointer-events:none}.pce-copy:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background:#9992;box-shadow:inset 0 0 0 1px #999}.prism-code-editor:hover .pce-copy,.pce-copy:hover:before,.pce-copy:hover:after{opacity:1}.pce-copy:focus-visible:before,.pce-copy:focus-visible,.pce-copy:focus-visible:after{opacity:1}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
//#region src/prism/core.js
|
|
2
|
+
var plainTextGrammar = {};
|
|
3
|
+
var rest = Symbol();
|
|
4
|
+
var tokenize = Symbol();
|
|
5
|
+
/** @param {*} id */
|
|
6
|
+
var resolve = (id) => typeof id == "string" ? languages[id] : id;
|
|
7
|
+
/** @type {Record<string, any>} */
|
|
8
|
+
var languages = {
|
|
9
|
+
plain: plainTextGrammar,
|
|
10
|
+
plaintext: plainTextGrammar,
|
|
11
|
+
text: plainTextGrammar,
|
|
12
|
+
txt: plainTextGrammar
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* @param {string} text
|
|
16
|
+
* @param {any} grammar
|
|
17
|
+
*/
|
|
18
|
+
var tokenizeText = (text, grammar) => (grammar[tokenize] || withoutTokenizer)(text, grammar);
|
|
19
|
+
/**
|
|
20
|
+
* @param {string} text
|
|
21
|
+
* @param {any} grammar
|
|
22
|
+
*/
|
|
23
|
+
var withoutTokenizer = (text, grammar) => {
|
|
24
|
+
/** @type {LinkedListNode} */
|
|
25
|
+
var startNode = [text];
|
|
26
|
+
var restGrammar;
|
|
27
|
+
/** @type {(string | Token)[]} */
|
|
28
|
+
var array = [], i = 0;
|
|
29
|
+
while (restGrammar = resolve(grammar[rest])) {
|
|
30
|
+
delete grammar[rest];
|
|
31
|
+
Object.assign(grammar, restGrammar);
|
|
32
|
+
}
|
|
33
|
+
matchGrammar(text, grammar, startNode, 0);
|
|
34
|
+
while (array[i++] = startNode[0], startNode = startNode[1]);
|
|
35
|
+
return array;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* @param {string} string
|
|
39
|
+
* @param {RegExp} pattern
|
|
40
|
+
* @param {string} replacement
|
|
41
|
+
*/
|
|
42
|
+
var escapeHtml = (string, pattern, replacement) => {
|
|
43
|
+
return string.replace(/&/g, "&").replace(pattern, replacement);
|
|
44
|
+
};
|
|
45
|
+
var closingTag = "</span>";
|
|
46
|
+
var openingTags = "";
|
|
47
|
+
var closingTags = "";
|
|
48
|
+
/** @param {(string | Token)[]} tokens */
|
|
49
|
+
var highlightTokens = (tokens) => {
|
|
50
|
+
var str = "", token, i = 0;
|
|
51
|
+
while (token = tokens[i++]) str += stringify(token);
|
|
52
|
+
return str;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* @param {string | Token | (string | Token)[]} token
|
|
56
|
+
* @returns {string}
|
|
57
|
+
*/
|
|
58
|
+
var stringify = (token) => {
|
|
59
|
+
if (token instanceof Token) {
|
|
60
|
+
var { type, alias, content } = token;
|
|
61
|
+
var prevOpening = openingTags;
|
|
62
|
+
var prevClosing = closingTags;
|
|
63
|
+
var opening = `<span class="token ${type + (alias ? " " + alias : "") + (type == "keyword" && typeof content == "string" ? " keyword-" + content : "")}">`;
|
|
64
|
+
closingTags += closingTag;
|
|
65
|
+
openingTags += opening;
|
|
66
|
+
var contentStr = stringify(content);
|
|
67
|
+
openingTags = prevOpening;
|
|
68
|
+
closingTags = prevClosing;
|
|
69
|
+
return opening + contentStr + closingTag;
|
|
70
|
+
}
|
|
71
|
+
if (typeof token != "string") return highlightTokens(token);
|
|
72
|
+
token = escapeHtml(token, /</g, "<");
|
|
73
|
+
if (closingTags && token.includes("\n")) return token.replace(/\n/g, closingTags + "\n" + openingTags);
|
|
74
|
+
return token;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* @param {string} text
|
|
78
|
+
* @param {*} ref
|
|
79
|
+
*/
|
|
80
|
+
var highlightText = (text, ref) => highlightTokens(tokenizeText(text, resolve(ref)));
|
|
81
|
+
/**
|
|
82
|
+
* @param {string} text
|
|
83
|
+
* @param {any} grammar
|
|
84
|
+
* @param {LinkedListNode} startNode
|
|
85
|
+
* @param {number} startPos
|
|
86
|
+
* @param {[string, number, number]} [rematch]
|
|
87
|
+
*
|
|
88
|
+
* @typedef {[string | Token, LinkedListNode?]} LinkedListNode
|
|
89
|
+
*/
|
|
90
|
+
var matchGrammar = (text, grammar, startNode, startPos, rematch) => {
|
|
91
|
+
for (var token in grammar) if (grammar[token]) for (var j = 0, p = grammar[token], patternObj, patterns = Array.isArray(p) ? p : [p]; patternObj = patterns[j]; j++) {
|
|
92
|
+
if (rematch && rematch[0] == token && rematch[1] == j) return;
|
|
93
|
+
/** @type {RegExp} */
|
|
94
|
+
var pattern = patternObj.pattern || patternObj;
|
|
95
|
+
var inside = resolve(patternObj.inside);
|
|
96
|
+
var lookbehind = patternObj.lookbehind;
|
|
97
|
+
var greedy = pattern.global;
|
|
98
|
+
var alias = patternObj.alias;
|
|
99
|
+
for (var currentNode = startNode, pos = startPos; currentNode && (!rematch || pos < rematch[2]); pos += currentNode[0].length, currentNode = currentNode[1]) {
|
|
100
|
+
var str = currentNode[0];
|
|
101
|
+
var removeCount = 0;
|
|
102
|
+
var match;
|
|
103
|
+
if (str instanceof Token) continue;
|
|
104
|
+
pattern.lastIndex = greedy ? pos : 0;
|
|
105
|
+
match = pattern.exec(greedy ? text : str);
|
|
106
|
+
if (!match && greedy) break;
|
|
107
|
+
if (!(match && match[0])) continue;
|
|
108
|
+
var lookbehindLength = lookbehind && match[1] ? match[1].length : 0;
|
|
109
|
+
var from = match.index + lookbehindLength;
|
|
110
|
+
var matchStr = match[0].slice(lookbehindLength);
|
|
111
|
+
var to = from + matchStr.length;
|
|
112
|
+
var k, p;
|
|
113
|
+
if (greedy) {
|
|
114
|
+
for (; p = pos + currentNode[0].length, from >= p; currentNode = currentNode[1], pos = p);
|
|
115
|
+
if (currentNode[0] instanceof Token) continue;
|
|
116
|
+
for (k = currentNode, p = pos; (p += k[0].length) < to; k = k[1], removeCount++);
|
|
117
|
+
str = text.slice(pos, p);
|
|
118
|
+
from -= pos;
|
|
119
|
+
to -= pos;
|
|
120
|
+
}
|
|
121
|
+
var after = str.slice(to);
|
|
122
|
+
var reach = pos + str.length;
|
|
123
|
+
var newToken = new Token(token, inside ? tokenizeText(matchStr, inside) : matchStr, matchStr, alias);
|
|
124
|
+
var next = currentNode, i = 0;
|
|
125
|
+
var nestedRematch;
|
|
126
|
+
while (next = next[1], i++ < removeCount);
|
|
127
|
+
if (after) if (!next || next[0] instanceof Token) next = [after, next];
|
|
128
|
+
else next[0] = after + next[0];
|
|
129
|
+
pos += from;
|
|
130
|
+
currentNode[0] = from ? str.slice(0, from) : newToken;
|
|
131
|
+
if (from) currentNode = currentNode[1] = [newToken, next];
|
|
132
|
+
else currentNode[1] = next;
|
|
133
|
+
if (removeCount) {
|
|
134
|
+
matchGrammar(text, grammar, currentNode, pos, nestedRematch = [
|
|
135
|
+
token,
|
|
136
|
+
j,
|
|
137
|
+
reach
|
|
138
|
+
]);
|
|
139
|
+
reach = nestedRematch[2];
|
|
140
|
+
}
|
|
141
|
+
if (rematch && reach > rematch[2]) rematch[2] = reach;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Creates a new token.
|
|
147
|
+
*
|
|
148
|
+
* @param {string} type
|
|
149
|
+
* @param {string | any[]} content
|
|
150
|
+
* @param {string} matchedStr
|
|
151
|
+
* @param {string} alias
|
|
152
|
+
* @class
|
|
153
|
+
*/
|
|
154
|
+
function Token(type, content, matchedStr, alias) {
|
|
155
|
+
this.type = type;
|
|
156
|
+
this.content = content;
|
|
157
|
+
this.alias = alias;
|
|
158
|
+
this.length = matchedStr.length;
|
|
159
|
+
}
|
|
160
|
+
//#endregion
|
|
161
|
+
export { languages as a, tokenize as c, highlightTokens as i, tokenizeText as l, escapeHtml as n, resolve as o, highlightText as r, rest as s, Token as t, withoutTokenizer as u };
|
|
162
|
+
|
|
163
|
+
//# sourceMappingURL=core-DpDyJ-7r.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-DpDyJ-7r.js","names":[],"sources":["../src/prism/core.js"],"sourcesContent":["// Slimmed down Prism core with most high level functions removed\n\nvar plainTextGrammar = {};\nvar rest = Symbol();\nvar tokenize = Symbol();\n\n/** @param {*} id */\nvar resolve = id => typeof id == 'string' ? languages[id] : id;\n\n/** @type {Record<string, any>} */\nvar languages = {\n\tplain: plainTextGrammar,\n\tplaintext: plainTextGrammar,\n\ttext: plainTextGrammar,\n\ttxt: plainTextGrammar,\n};\n\n/**\n * @param {string} text\n * @param {any} grammar\n */\nvar tokenizeText = (text, grammar) => (grammar[tokenize] || withoutTokenizer)(text, grammar);\n\n/**\n * @param {string} text\n * @param {any} grammar\n */\nvar withoutTokenizer = (text, grammar) => {\n\t/** @type {LinkedListNode} */\n\tvar startNode = [text];\n\tvar restGrammar;\n\t/** @type {(string | Token)[]} */\n\tvar array = [], i = 0;\n\twhile (restGrammar = resolve(grammar[rest])) {\n\t\tdelete grammar[rest];\n\t\tObject.assign(grammar, restGrammar);\n\t}\n\n\tmatchGrammar(text, grammar, startNode, 0);\n\n\twhile (array[i++] = startNode[0], startNode = startNode[1]);\n\treturn array;\n};\n\n/**\n * @param {string} string\n * @param {RegExp} pattern\n * @param {string} replacement\n */\nvar escapeHtml = (string, pattern, replacement) => {\n\treturn string.replace(/&/g, '&').replace(pattern, replacement);\n};\n\nvar closingTag = '</span>';\nvar openingTags = '';\nvar closingTags = '';\n\n/** @param {(string | Token)[]} tokens */\nvar highlightTokens = tokens => {\n\tvar str = '', token, i = 0;\n\twhile (token = tokens[i++]) str += stringify(token);\n\treturn str;\n};\n\n/**\n * @param {string | Token | (string | Token)[]} token\n * @returns {string}\n */\nvar stringify = token => {\n\tif (token instanceof Token) {\n\t\tvar { type, alias, content } = token;\n\t\tvar prevOpening = openingTags;\n\t\tvar prevClosing = closingTags;\n\t\tvar opening = `<span class=\"token ${\n\t\t\ttype + (alias ? ' ' + alias : '') +\n\t\t\t(type == 'keyword' && typeof content == 'string' ? ' keyword-' + content : '')\n\t\t}\">`;\n\n\t\tclosingTags += closingTag;\n\t\topeningTags += opening;\n\t\tvar contentStr = stringify(content);\n\t\topeningTags = prevOpening;\n\t\tclosingTags = prevClosing;\n\t\treturn opening + contentStr + closingTag;\n\t}\n\n\tif (typeof token != 'string') return highlightTokens(token);\n\n\ttoken = escapeHtml(token, /</g, '<');\n\tif (closingTags && token.includes('\\n')) {\n\t\treturn token.replace(/\\n/g, closingTags + '\\n' + openingTags);\n\t}\n\treturn token;\n};\n\n/**\n * @param {string} text\n * @param {*} ref\n */\nvar highlightText = (text, ref) => highlightTokens(tokenizeText(text, resolve(ref)));\n\n/**\n * @param {string} text\n * @param {any} grammar\n * @param {LinkedListNode} startNode\n * @param {number} startPos\n * @param {[string, number, number]} [rematch]\n *\n * @typedef {[string | Token, LinkedListNode?]} LinkedListNode\n */\nvar matchGrammar = (text, grammar, startNode, startPos, rematch) => {\n\tfor (var token in grammar) {\n\t\tif (grammar[token]) for (var j = 0, p = grammar[token], patternObj, patterns = Array.isArray(p) ? p : [p]; patternObj = patterns[j]; j++) {\n\t\t\tif (rematch && rematch[0] == token && rematch[1] == j) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/** @type {RegExp} */\n\t\t\tvar pattern = patternObj.pattern || patternObj;\n\t\t\tvar inside = resolve(patternObj.inside);\n\t\t\tvar lookbehind = patternObj.lookbehind;\n\t\t\tvar greedy = pattern.global;\n\t\t\tvar alias = patternObj.alias;\n\n\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\tvar currentNode = startNode, pos = startPos;\n\t\t\t\tcurrentNode && (!rematch || pos < rematch[2]);\n\t\t\t\tpos += currentNode[0].length, currentNode = currentNode[1]\n\t\t\t) {\n\t\t\t\tvar str = currentNode[0];\n\t\t\t\tvar removeCount = 0;\n\t\t\t\tvar match;\n\n\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tpattern.lastIndex = greedy ? pos : 0;\n\t\t\t\tmatch = pattern.exec(greedy ? text : str);\n\n\t\t\t\tif (!match && greedy) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!(match && match[0])) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\t\tvar lookbehindLength = lookbehind && match[1] ? match[1].length : 0;\n\t\t\t\tvar from = match.index + lookbehindLength;\n\t\t\t\tvar matchStr = match[0].slice(lookbehindLength);\n\t\t\t\tvar to = from + matchStr.length;\n\t\t\t\tvar k, p;\n\n\t\t\t\tif (greedy) {\n\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\tfor (\n\t\t\t\t\t\t;\n\t\t\t\t\t\tp = pos + currentNode[0].length, from >= p;\n\t\t\t\t\t\tcurrentNode = currentNode[1], pos = p\n\t\t\t\t\t);\n\n\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\tif (currentNode[0] instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\tfor (\n\t\t\t\t\t\tk = currentNode, p = pos;\n\t\t\t\t\t\t(p += k[0].length) < to;\n\t\t\t\t\t\tk = k[1], removeCount++\n\t\t\t\t\t);\n\n\t\t\t\t\t// replace with the new match\n\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\tfrom -= pos;\n\t\t\t\t\tto -= pos;\n\t\t\t\t}\n\n\t\t\t\tvar after = str.slice(to);\n\t\t\t\tvar reach = pos + str.length;\n\t\t\t\tvar newToken = new Token(token, inside ? tokenizeText(matchStr, inside) : matchStr, matchStr, alias);\n\t\t\t\tvar next = currentNode, i = 0;\n\t\t\t\tvar nestedRematch;\n\n\t\t\t\twhile (next = next[1], i++ < removeCount);\n\n\t\t\t\tif (after) {\n\t\t\t\t\tif (!next || next[0] instanceof Token) next = [after, next];\n\t\t\t\t\telse next[0] = after + next[0];\n\t\t\t\t};\n\n\t\t\t\tpos += from;\n\t\t\t\tcurrentNode[0] = from ? str.slice(0, from) : newToken;\n\n\t\t\t\tif (from) currentNode = currentNode[1] = [newToken, next];\n\t\t\t\telse currentNode[1] = next;\n\n\t\t\t\tif (removeCount) {\n\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\tmatchGrammar(text, grammar, currentNode, pos, nestedRematch = [token, j, reach]);\n\t\t\t\t\treach = nestedRematch[2];\n\t\t\t\t}\n\n\t\t\t\tif (rematch && reach > rematch[2]) rematch[2] = reach;\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * Creates a new token.\n *\n * @param {string} type\n * @param {string | any[]} content\n * @param {string} matchedStr\n * @param {string} alias\n * @class\n */\nfunction Token(type, content, matchedStr, alias) {\n\tthis.type = type;\n\tthis.content = content;\n\tthis.alias = alias;\n\tthis.length = matchedStr.length;\n}\n\nexport {\n\trest,\n\ttokenize,\n\tToken,\n\tlanguages,\n\ttokenizeText,\n\twithoutTokenizer,\n\tresolve,\n\tescapeHtml,\n\thighlightTokens,\n\thighlightText\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { a as languages, i as highlightTokens, l as tokenizeText } from "./core-DpDyJ-7r.js";
|
|
2
|
+
//#region src/core.ts
|
|
3
|
+
/**
|
|
4
|
+
* Creates a code editor using the specified container and options.
|
|
5
|
+
* @param container Element to append the editor to or a selector.
|
|
6
|
+
* This can also be a `ShadowRoot` or `DocumentFragment` for example.
|
|
7
|
+
* If omitted, you must manually append `editor.container` to the DOM.
|
|
8
|
+
* @param options Options the editor is initialized with.
|
|
9
|
+
* If omitted, the editor won't function until you call `editor.setOptions`.
|
|
10
|
+
* @param extensions Extensions added before the first render. You can still add extensions later.
|
|
11
|
+
* @returns Object to interact with the created editor.
|
|
12
|
+
*/
|
|
13
|
+
var createEditor = (container, options, ...extensions) => {
|
|
14
|
+
let language;
|
|
15
|
+
let prevLines = [];
|
|
16
|
+
let activeLine;
|
|
17
|
+
let value = "";
|
|
18
|
+
let activeLineNumber;
|
|
19
|
+
let focused = false;
|
|
20
|
+
let handleSelectionChange = true;
|
|
21
|
+
let tokens = [];
|
|
22
|
+
let readOnly;
|
|
23
|
+
let lineCount = 0;
|
|
24
|
+
const scrollContainer = editorTemplate();
|
|
25
|
+
const wrapper = scrollContainer.firstChild;
|
|
26
|
+
const lines = wrapper.children;
|
|
27
|
+
const overlays = lines[0];
|
|
28
|
+
const textarea = overlays.firstChild;
|
|
29
|
+
const currentOptions = {
|
|
30
|
+
language: "text",
|
|
31
|
+
value
|
|
32
|
+
};
|
|
33
|
+
const currentExtensions = new Set(extensions);
|
|
34
|
+
const listeners = {};
|
|
35
|
+
const setOptions = (options) => {
|
|
36
|
+
Object.assign(currentOptions, options);
|
|
37
|
+
let isNewVal = value != (value = options.value ?? value);
|
|
38
|
+
let isNewLang = language != (language = currentOptions.language);
|
|
39
|
+
readOnly = !!currentOptions.readOnly;
|
|
40
|
+
scrollContainer.style.tabSize = currentOptions.tabSize || 2;
|
|
41
|
+
textarea.inputMode = readOnly ? "none" : "";
|
|
42
|
+
textarea.setAttribute("aria-readonly", readOnly);
|
|
43
|
+
updateClassName();
|
|
44
|
+
updateExtensions();
|
|
45
|
+
if (isNewVal) {
|
|
46
|
+
if (!focused) textarea.remove();
|
|
47
|
+
textarea.value = value;
|
|
48
|
+
textarea.selectionEnd = 0;
|
|
49
|
+
if (!focused) overlays.prepend(textarea);
|
|
50
|
+
}
|
|
51
|
+
if (isNewVal || isNewLang) update();
|
|
52
|
+
};
|
|
53
|
+
const update = () => {
|
|
54
|
+
tokens = tokenizeText(value = textarea.value, languages[language] || {});
|
|
55
|
+
dispatchEvent("tokenize", tokens, language, value);
|
|
56
|
+
let newLines = highlightTokens(tokens).split("\n");
|
|
57
|
+
let start = 0;
|
|
58
|
+
let end2 = lineCount;
|
|
59
|
+
let end1 = lineCount = newLines.length;
|
|
60
|
+
while (newLines[start] == prevLines[start] && start < end1) ++start;
|
|
61
|
+
while (end1 && newLines[--end1] == prevLines[--end2]);
|
|
62
|
+
if (start == end1 && start == end2) lines[start + 1].innerHTML = newLines[start] + "\n";
|
|
63
|
+
else {
|
|
64
|
+
let insertStart = end2 < start ? end2 : start - 1;
|
|
65
|
+
let i = insertStart;
|
|
66
|
+
let newHTML = "";
|
|
67
|
+
while (i < end1) newHTML += `<div class=pce-line aria-hidden=true>${newLines[++i]}\n</div>`;
|
|
68
|
+
for (i = end1 < start ? end1 : start - 1; i < end2; i++) lines[start + 1].remove();
|
|
69
|
+
if (newHTML) lines[insertStart + 1].insertAdjacentHTML("afterend", newHTML);
|
|
70
|
+
scrollContainer.style.setProperty("--number-width", (0 | Math.log10(lineCount)) + 1 + ".001ch");
|
|
71
|
+
}
|
|
72
|
+
dispatchEvent("update", value);
|
|
73
|
+
dispatchSelection(true);
|
|
74
|
+
if (handleSelectionChange) setTimeout(setTimeout, 0, () => handleSelectionChange = true);
|
|
75
|
+
prevLines = newLines;
|
|
76
|
+
handleSelectionChange = false;
|
|
77
|
+
};
|
|
78
|
+
const updateExtensions = (newExtensions) => {
|
|
79
|
+
(newExtensions || currentExtensions).forEach((extension) => {
|
|
80
|
+
if (typeof extension == "object") {
|
|
81
|
+
extension.update(self, currentOptions);
|
|
82
|
+
if (newExtensions) currentExtensions.add(extension);
|
|
83
|
+
} else {
|
|
84
|
+
extension(self, currentOptions);
|
|
85
|
+
if (!newExtensions) currentExtensions.delete(extension);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
const updateClassName = ([start, end] = getInputSelection()) => {
|
|
90
|
+
scrollContainer.className = `prism-code-editor language-${language}${currentOptions.lineNumbers == false ? "" : " show-line-numbers"} pce-${currentOptions.wordWrap ? "" : "no"}wrap${currentOptions.rtl ? " pce-rtl" : ""} pce-${start < end ? "has" : "no"}-selection${focused ? " pce-focus" : ""}${readOnly ? " pce-readonly" : ""}${currentOptions.class ? " " + currentOptions.class : ""}`;
|
|
91
|
+
};
|
|
92
|
+
const getInputSelection = () => [
|
|
93
|
+
textarea.selectionStart,
|
|
94
|
+
textarea.selectionEnd,
|
|
95
|
+
textarea.selectionDirection
|
|
96
|
+
];
|
|
97
|
+
const keyCommandMap = { Escape() {
|
|
98
|
+
textarea.blur();
|
|
99
|
+
} };
|
|
100
|
+
const inputCommandMap = {};
|
|
101
|
+
const dispatchEvent = (name, ...args) => {
|
|
102
|
+
listeners[name]?.forEach((handler) => handler.apply(self, args));
|
|
103
|
+
currentOptions["on" + name[0].toUpperCase() + name.slice(1)]?.(...args, self);
|
|
104
|
+
};
|
|
105
|
+
const dispatchSelection = (force) => {
|
|
106
|
+
if (force || handleSelectionChange) {
|
|
107
|
+
const selection = getInputSelection();
|
|
108
|
+
const newLine = lines[activeLineNumber = numLines(value, 0, selection[selection[2] < "f" ? 0 : 1])];
|
|
109
|
+
if (newLine != activeLine) {
|
|
110
|
+
activeLine?.classList.remove("active-line");
|
|
111
|
+
newLine.classList.add("active-line");
|
|
112
|
+
activeLine = newLine;
|
|
113
|
+
}
|
|
114
|
+
updateClassName(selection);
|
|
115
|
+
dispatchEvent("selectionChange", selection, value);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
const self = {
|
|
119
|
+
container: scrollContainer,
|
|
120
|
+
wrapper,
|
|
121
|
+
lines,
|
|
122
|
+
textarea,
|
|
123
|
+
get activeLine() {
|
|
124
|
+
return activeLineNumber;
|
|
125
|
+
},
|
|
126
|
+
get value() {
|
|
127
|
+
return value;
|
|
128
|
+
},
|
|
129
|
+
options: currentOptions,
|
|
130
|
+
get focused() {
|
|
131
|
+
return focused;
|
|
132
|
+
},
|
|
133
|
+
get tokens() {
|
|
134
|
+
return tokens;
|
|
135
|
+
},
|
|
136
|
+
inputCommandMap,
|
|
137
|
+
keyCommandMap,
|
|
138
|
+
extensions: {},
|
|
139
|
+
setOptions,
|
|
140
|
+
update,
|
|
141
|
+
getSelection: getInputSelection,
|
|
142
|
+
addExtensions(...extensions) {
|
|
143
|
+
updateExtensions(extensions);
|
|
144
|
+
},
|
|
145
|
+
on: (name, handler) => {
|
|
146
|
+
(listeners[name] ||= /* @__PURE__ */ new Set()).add(handler);
|
|
147
|
+
return () => listeners[name].delete(handler);
|
|
148
|
+
},
|
|
149
|
+
remove() {
|
|
150
|
+
scrollContainer.remove();
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
addListener(textarea, "keydown", (e) => {
|
|
154
|
+
keyCommandMap[e.key]?.(e, getInputSelection(), value) && preventDefault(e);
|
|
155
|
+
});
|
|
156
|
+
addListener(textarea, "beforeinput", (e) => {
|
|
157
|
+
if (readOnly || e.inputType == "insertText" && inputCommandMap[e.data]?.(e, getInputSelection(), value)) preventDefault(e);
|
|
158
|
+
});
|
|
159
|
+
addListener(textarea, "input", update);
|
|
160
|
+
addListener(textarea, "blur", () => {
|
|
161
|
+
selectionChange = null;
|
|
162
|
+
focused = false;
|
|
163
|
+
updateClassName();
|
|
164
|
+
});
|
|
165
|
+
addListener(textarea, "focus", () => {
|
|
166
|
+
selectionChange = dispatchSelection;
|
|
167
|
+
focused = true;
|
|
168
|
+
updateClassName();
|
|
169
|
+
});
|
|
170
|
+
addListener(textarea, "selectionchange", (e) => {
|
|
171
|
+
dispatchSelection(!e.isTrusted);
|
|
172
|
+
preventDefault(e);
|
|
173
|
+
});
|
|
174
|
+
getElement(container)?.append(scrollContainer);
|
|
175
|
+
options && setOptions(options);
|
|
176
|
+
return self;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Almost identical to {@link createEditor}, but instead of appending the editor to your
|
|
180
|
+
* element, the editor replaces it.
|
|
181
|
+
*
|
|
182
|
+
* The `textContent` of the placeholder will be the code in the editor unless `options.value` is defined.
|
|
183
|
+
* @param placeholder Node or selector which will be replaced by the editor.
|
|
184
|
+
* @param options Options the editor is initialized with.
|
|
185
|
+
* @param extensions Extensions added before the first render. You can still add extensions later.
|
|
186
|
+
* @returns Object to interact with the created editor.
|
|
187
|
+
*/
|
|
188
|
+
var editorFromPlaceholder = (placeholder, options, ...extensions) => {
|
|
189
|
+
const el = getElement(placeholder);
|
|
190
|
+
const editor = createEditor(null, Object.assign({ value: el.textContent }, options), ...extensions);
|
|
191
|
+
el.replaceWith(editor.container);
|
|
192
|
+
return editor;
|
|
193
|
+
};
|
|
194
|
+
/** Equivalent to `document` in a browser setting, `null` otherwise. */
|
|
195
|
+
var doc = "u" > typeof window ? document : null;
|
|
196
|
+
var templateEl = /* @__PURE__ */ doc?.createElement("div");
|
|
197
|
+
var createTemplate = (html, node) => {
|
|
198
|
+
if (templateEl) {
|
|
199
|
+
templateEl.innerHTML = html;
|
|
200
|
+
node = templateEl.firstChild;
|
|
201
|
+
}
|
|
202
|
+
return () => node.cloneNode(true);
|
|
203
|
+
};
|
|
204
|
+
var addListener = (target, type, listener, options) => target.addEventListener(type, listener, options);
|
|
205
|
+
var getElement = (el) => typeof el == "string" ? doc.querySelector(el) : el;
|
|
206
|
+
/**
|
|
207
|
+
* Counts number of lines in the string between `start` and `end`.
|
|
208
|
+
* If start and end are omitted, the whole string is searched.
|
|
209
|
+
*/
|
|
210
|
+
var numLines = (str, start = 0, end = Infinity) => {
|
|
211
|
+
let count = 1;
|
|
212
|
+
for (; (start = str.indexOf("\n", start) + 1) && start <= end; count++);
|
|
213
|
+
return count;
|
|
214
|
+
};
|
|
215
|
+
/** Object storing all language specific behavior. */
|
|
216
|
+
var languageMap = {};
|
|
217
|
+
var editorTemplate = /* @__PURE__ */ createTemplate("<div><div class=pce-wrapper><div class=pce-overlays><textarea class=pce-textarea spellcheck=false autocapitalize=off autocomplete=off>");
|
|
218
|
+
var preventDefault = (e) => {
|
|
219
|
+
e.preventDefault();
|
|
220
|
+
e.stopImmediatePropagation();
|
|
221
|
+
};
|
|
222
|
+
var setSelectionChange = (f) => selectionChange = f;
|
|
223
|
+
var selectionChange;
|
|
224
|
+
if (doc) addListener(doc, "selectionchange", () => selectionChange?.());
|
|
225
|
+
//#endregion
|
|
226
|
+
export { editorFromPlaceholder as a, numLines as c, doc as i, preventDefault as l, createEditor as n, getElement as o, createTemplate as r, languageMap as s, addListener as t, setSelectionChange as u };
|
|
227
|
+
|
|
228
|
+
//# sourceMappingURL=core-fngiDtt5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-fngiDtt5.js","names":[],"sources":["../src/core.ts"],"sourcesContent":["import type {\r\n\tEditorOptions,\r\n\tPrismEditor,\r\n\tKeyCommandCallback,\r\n\tLanguage,\r\n\tInputCommandCallback,\r\n\tEditorEventMap,\r\n\tInputSelection,\r\n\tEditorExtension,\r\n} from \"./types.js\"\r\nimport { highlightTokens, languages, tokenizeText, TokenStream } from \"./prism/index.js\"\r\n\r\n/**\r\n * Creates a code editor using the specified container and options.\r\n * @param container Element to append the editor to or a selector.\r\n * This can also be a `ShadowRoot` or `DocumentFragment` for example.\r\n * If omitted, you must manually append `editor.container` to the DOM.\r\n * @param options Options the editor is initialized with.\r\n * If omitted, the editor won't function until you call `editor.setOptions`.\r\n * @param extensions Extensions added before the first render. You can still add extensions later.\r\n * @returns Object to interact with the created editor.\r\n */\r\nconst createEditor = <T extends {} = {}>(\r\n\tcontainer?: ParentNode | string | null,\r\n\toptions?: (Partial<EditorOptions<T>> & Omit<T, keyof EditorOptions>) | null,\r\n\t...extensions: EditorExtension<T>[]\r\n): PrismEditor<T> => {\r\n\tlet language: string\r\n\tlet prevLines: string[] = []\r\n\tlet activeLine: HTMLDivElement\r\n\tlet value = \"\"\r\n\tlet activeLineNumber: number\r\n\tlet focused = false\r\n\tlet handleSelectionChange = true\r\n\tlet tokens: TokenStream = []\r\n\tlet readOnly: boolean\r\n\tlet lineCount = 0\r\n\r\n\tconst scrollContainer = editorTemplate()\r\n\tconst wrapper = <HTMLDivElement>scrollContainer.firstChild\r\n\tconst lines = <HTMLCollectionOf<HTMLDivElement>>wrapper.children\r\n\tconst overlays = lines[0]\r\n\tconst textarea = <HTMLTextAreaElement>overlays.firstChild\r\n\tconst currentOptions = { language: \"text\", value } as EditorOptions & T\r\n\tconst currentExtensions = new Set(extensions)\r\n\tconst listeners: {\r\n\t\t[P in keyof EditorEventMap]?: Set<EditorEventMap<T>[P]>\r\n\t} = {}\r\n\r\n\tconst setOptions = (options: Partial<EditorOptions> & Partial<Omit<T, keyof EditorOptions>>) => {\r\n\t\tObject.assign(currentOptions, options)\r\n\t\tlet isNewVal = value != (value = options.value ?? value)\r\n\t\tlet isNewLang = language != (language = currentOptions.language)\r\n\r\n\t\treadOnly = !!currentOptions.readOnly\r\n\t\tscrollContainer.style.tabSize = <any>currentOptions.tabSize || 2\r\n\t\ttextarea.inputMode = readOnly ? \"none\" : \"\"\r\n\t\ttextarea.setAttribute(\"aria-readonly\", <any>readOnly)\r\n\t\tupdateClassName()\r\n\t\tupdateExtensions()\r\n\r\n\t\tif (isNewVal) {\r\n\t\t\tif (!focused) textarea.remove()\r\n\t\t\ttextarea.value = value\r\n\t\t\ttextarea.selectionEnd = 0\r\n\t\t\tif (!focused) overlays.prepend(textarea)\r\n\t\t}\r\n\r\n\t\tif (isNewVal || isNewLang) {\r\n\t\t\tupdate()\r\n\t\t}\r\n\t}\r\n\r\n\tconst update = () => {\r\n\t\ttokens = tokenizeText((value = textarea.value), languages[language] || {})\r\n\t\tdispatchEvent(\"tokenize\", tokens, language, value)\r\n\r\n\t\tlet newLines = highlightTokens(tokens).split(\"\\n\")\r\n\t\tlet start = 0\r\n\t\tlet end2 = lineCount\r\n\t\tlet end1 = (lineCount = newLines.length)\r\n\r\n\t\twhile (newLines[start] == prevLines[start] && start < end1) ++start\r\n\t\twhile (end1 && newLines[--end1] == prevLines[--end2]);\r\n\r\n\t\tif (start == end1 && start == end2) lines[start + 1].innerHTML = newLines[start] + \"\\n\"\r\n\t\telse {\r\n\t\t\tlet insertStart = end2 < start ? end2 : start - 1\r\n\t\t\tlet i = insertStart\r\n\t\t\tlet newHTML = \"\"\r\n\r\n\t\t\twhile (i < end1) newHTML += `<div class=pce-line aria-hidden=true>${newLines[++i]}\\n</div>`\r\n\t\t\tfor (i = end1 < start ? end1 : start - 1; i < end2; i++) lines[start + 1].remove()\r\n\t\t\tif (newHTML) lines[insertStart + 1].insertAdjacentHTML(\"afterend\", newHTML)\r\n\t\t\tscrollContainer.style.setProperty(\r\n\t\t\t\t\"--number-width\",\r\n\t\t\t\t(0 | Math.log10(lineCount)) + 1 + \".001ch\",\r\n\t\t\t)\r\n\t\t}\r\n\r\n\t\tdispatchEvent(\"update\", value)\r\n\t\tdispatchSelection(true)\r\n\t\tif (handleSelectionChange) setTimeout(setTimeout, 0, () => (handleSelectionChange = true))\r\n\r\n\t\tprevLines = newLines\r\n\t\thandleSelectionChange = false\r\n\t}\r\n\r\n\tconst updateExtensions = (newExtensions?: EditorExtension<T>[]) => {\r\n\t\t;(newExtensions || currentExtensions).forEach(extension => {\r\n\t\t\tif (typeof extension == \"object\") {\r\n\t\t\t\textension.update(self, currentOptions)\r\n\t\t\t\tif (newExtensions) currentExtensions.add(extension)\r\n\t\t\t} else {\r\n\t\t\t\textension(self, currentOptions)\r\n\t\t\t\tif (!newExtensions) currentExtensions.delete(extension)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tconst updateClassName = ([start, end] = getInputSelection()) => {\r\n\t\tscrollContainer.className = `prism-code-editor language-${language}${\r\n\t\t\tcurrentOptions.lineNumbers == false ? \"\" : \" show-line-numbers\"\r\n\t\t} pce-${currentOptions.wordWrap ? \"\" : \"no\"}wrap${currentOptions.rtl ? \" pce-rtl\" : \"\"} pce-${\r\n\t\t\tstart < end ? \"has\" : \"no\"\r\n\t\t}-selection${focused ? \" pce-focus\" : \"\"}${readOnly ? \" pce-readonly\" : \"\"}${\r\n\t\t\tcurrentOptions.class ? \" \" + currentOptions.class : \"\"\r\n\t\t}`\r\n\t}\r\n\r\n\tconst getInputSelection = (): InputSelection => [\r\n\t\ttextarea.selectionStart,\r\n\t\ttextarea.selectionEnd,\r\n\t\ttextarea.selectionDirection,\r\n\t]\r\n\r\n\tconst keyCommandMap: Record<string, KeyCommandCallback | null> = {\r\n\t\tEscape() {\r\n\t\t\ttextarea.blur()\r\n\t\t},\r\n\t}\r\n\r\n\tconst inputCommandMap: Record<string, InputCommandCallback | null> = {}\r\n\r\n\tconst dispatchEvent = <T extends keyof EditorEventMap>(\r\n\t\tname: T,\r\n\t\t...args: Parameters<EditorEventMap[T]>\r\n\t) => {\r\n\t\t// @ts-expect-error\r\n\t\tlisteners[name]?.forEach(handler => handler.apply(self, args))\r\n\t\t// @ts-expect-error\r\n\t\tcurrentOptions[\"on\" + name[0].toUpperCase() + name.slice(1)]?.(...args, self)\r\n\t}\r\n\r\n\tconst dispatchSelection = (force?: boolean) => {\r\n\t\tif (force || handleSelectionChange) {\r\n\t\t\tconst selection = getInputSelection()\r\n\t\t\tconst newLine =\r\n\t\t\t\tlines[(activeLineNumber = numLines(value, 0, selection[selection[2] < \"f\" ? 0 : 1]))]\r\n\r\n\t\t\tif (newLine != activeLine) {\r\n\t\t\t\tactiveLine?.classList.remove(\"active-line\")\r\n\t\t\t\tnewLine.classList.add(\"active-line\")\r\n\t\t\t\tactiveLine = newLine\r\n\t\t\t}\r\n\t\t\tupdateClassName(selection)\r\n\t\t\tdispatchEvent(\"selectionChange\", selection, value)\r\n\t\t}\r\n\t}\r\n\r\n\tconst self: PrismEditor<T> = {\r\n\t\tcontainer: scrollContainer,\r\n\t\twrapper,\r\n\t\tlines,\r\n\t\ttextarea,\r\n\t\tget activeLine() {\r\n\t\t\treturn activeLineNumber\r\n\t\t},\r\n\t\tget value() {\r\n\t\t\treturn value\r\n\t\t},\r\n\t\toptions: currentOptions,\r\n\t\tget focused() {\r\n\t\t\treturn focused\r\n\t\t},\r\n\t\tget tokens() {\r\n\t\t\treturn tokens\r\n\t\t},\r\n\t\tinputCommandMap,\r\n\t\tkeyCommandMap,\r\n\t\textensions: {},\r\n\t\tsetOptions,\r\n\t\tupdate,\r\n\t\tgetSelection: getInputSelection,\r\n\t\taddExtensions(...extensions) {\r\n\t\t\tupdateExtensions(extensions)\r\n\t\t},\r\n\t\ton: (name, handler) => {\r\n\t\t\t;(listeners[name] ||= new Set<any>()).add(handler)\r\n\t\t\treturn () => listeners[name]!.delete(handler)\r\n\t\t},\r\n\t\tremove() {\r\n\t\t\tscrollContainer.remove()\r\n\t\t},\r\n\t}\r\n\r\n\taddListener(textarea, \"keydown\", e => {\r\n\t\tkeyCommandMap[e.key]?.(e, getInputSelection(), value) && preventDefault(e)\r\n\t})\r\n\r\n\taddListener(textarea, \"beforeinput\", e => {\r\n\t\tif (\r\n\t\t\treadOnly ||\r\n\t\t\t(e.inputType == \"insertText\" && inputCommandMap[e.data!]?.(e, getInputSelection(), value))\r\n\t\t)\r\n\t\t\tpreventDefault(e)\r\n\t})\r\n\taddListener(textarea, \"input\", update)\r\n\taddListener(textarea, \"blur\", () => {\r\n\t\tselectionChange = null\r\n\t\tfocused = false\r\n\t\tupdateClassName()\r\n\t})\r\n\taddListener(textarea, \"focus\", () => {\r\n\t\tselectionChange = dispatchSelection\r\n\t\tfocused = true\r\n\t\tupdateClassName()\r\n\t})\r\n\t// For browsers that support selectionchange on textareas\r\n\taddListener(textarea, \"selectionchange\", e => {\r\n\t\tdispatchSelection(!e.isTrusted)\r\n\t\tpreventDefault(e)\r\n\t})\r\n\r\n\tgetElement(container)?.append(scrollContainer)\r\n\toptions && setOptions(options)\r\n\treturn self\r\n}\r\n\r\n/**\r\n * Almost identical to {@link createEditor}, but instead of appending the editor to your\r\n * element, the editor replaces it.\r\n *\r\n * The `textContent` of the placeholder will be the code in the editor unless `options.value` is defined.\r\n * @param placeholder Node or selector which will be replaced by the editor.\r\n * @param options Options the editor is initialized with.\r\n * @param extensions Extensions added before the first render. You can still add extensions later.\r\n * @returns Object to interact with the created editor.\r\n */\r\nconst editorFromPlaceholder = <T extends {} = {}>(\r\n\tplaceholder: string | ChildNode,\r\n\toptions: Partial<EditorOptions<T>> & Omit<T, keyof EditorOptions>,\r\n\t...extensions: EditorExtension<T>[]\r\n) => {\r\n\tconst el = getElement(placeholder)!\r\n\tconst editor = createEditor<T>(\r\n\t\tnull,\r\n\t\tObject.assign({ value: el.textContent }, options),\r\n\t\t...extensions,\r\n\t)\r\n\tel.replaceWith(editor.container)\r\n\treturn editor\r\n}\r\n\r\n/** Equivalent to `document` in a browser setting, `null` otherwise. */\r\nconst doc = \"u\" > typeof window ? document : null\r\n\r\nconst templateEl = /* @__PURE__ */ doc?.createElement(\"div\")\r\n\r\nconst createTemplate = <T extends Element = HTMLDivElement>(html: string, node?: Node) => {\r\n\tif (templateEl) {\r\n\t\ttemplateEl.innerHTML = html\r\n\t\tnode = templateEl.firstChild!\r\n\t}\r\n\treturn () => <T>node!.cloneNode(true)\r\n}\r\n\r\nconst addListener = <T extends keyof HTMLElementEventMap>(\r\n\ttarget: HTMLElement,\r\n\ttype: T,\r\n\tlistener: (this: HTMLElement, ev: HTMLElementEventMap[T]) => any,\r\n\toptions?: boolean | AddEventListenerOptions,\r\n) => target.addEventListener(type, listener, options)\r\n\r\nconst getElement = <T extends Node>(el?: T | string | null) =>\r\n\ttypeof el == \"string\" ? doc!.querySelector<HTMLElement>(el) : el\r\n\r\n/**\r\n * Counts number of lines in the string between `start` and `end`.\r\n * If start and end are omitted, the whole string is searched.\r\n */\r\nconst numLines = (str: string, start = 0, end = Infinity) => {\r\n\tlet count = 1\r\n\tfor (; (start = str.indexOf(\"\\n\", start) + 1) && start <= end; count++);\r\n\treturn count\r\n}\r\n\r\n/** Object storing all language specific behavior. */\r\nconst languageMap: Record<string, Language> = {}\r\n\r\nconst editorTemplate = /* @__PURE__ */ createTemplate(\r\n\t\"<div><div class=pce-wrapper><div class=pce-overlays><textarea class=pce-textarea spellcheck=false autocapitalize=off autocomplete=off>\",\r\n)\r\n\r\nconst preventDefault = (e: Event) => {\r\n\te.preventDefault()\r\n\te.stopImmediatePropagation()\r\n}\r\n\r\nconst setSelectionChange = (f?: (force?: boolean) => void) => (selectionChange = f)\r\n\r\nlet selectionChange: null | undefined | ((force?: boolean) => void)\r\n\r\n// @ts-expect-error Allow adding listener to document\r\nif (doc) addListener(doc, \"selectionchange\", () => selectionChange?.())\r\n\r\nexport {\r\n\tcreateEditor,\r\n\tlanguageMap,\r\n\tnumLines,\r\n\tcreateTemplate,\r\n\tgetElement,\r\n\tpreventDefault,\r\n\teditorFromPlaceholder,\r\n\taddListener,\r\n\tsetSelectionChange,\r\n\tdoc,\r\n}\r\n"],"mappings":"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"}
|