prosemirror-codemirror-block 0.3.0 → 0.4.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/README.md CHANGED
@@ -19,7 +19,7 @@ Try it out at <https://emergence-engineering.com/blog/prosemirror-codemirror-blo
19
19
  # How to use
20
20
 
21
21
  ```typescript
22
- import { schema } from "prosemirror-schema-basic";
22
+ import { schema as BasicSchema } from "prosemirror-schema-basic";
23
23
  import { EditorState } from "prosemirror-state";
24
24
  import { EditorView } from "prosemirror-view";
25
25
  import { exampleSetup } from "prosemirror-example-setup";
@@ -27,20 +27,23 @@ import {
27
27
  codeMirrorBlockPlugin,
28
28
  defaultSettings,
29
29
  languageLoaders,
30
- codeBlockArrowHandlers,
30
+ codeBlockKeymap,
31
31
  legacyLanguageLoaders,
32
+ CodeBlockNodeName,
32
33
  } from "prosemirror-codemirror-block";
33
34
  import { undo, redo } from "prosemirror-history";
35
+ import { Schema } from "prosemirror-model";
36
+ import { keymap } from "prosemirror-keymap";
34
37
 
35
38
 
36
- const codeBlockSpec = schema.spec.nodes.get("code_block");
39
+ const codeBlockSpec = BasicSchema.spec.nodes.get(CodeBlockNodeName);
37
40
 
38
- export default new Schema({
39
- nodes: schema.spec.nodes.update("code_block", {
41
+ export const schema = new Schema({
42
+ nodes: BasicSchema.spec.nodes.update(CodeBlockNodeName, {
40
43
  ...(codeBlockSpec || {}),
41
44
  attrs: { ...codeBlockSpec?.attrs, lang: { default: null } },
42
45
  }),
43
- marks: schema.spec.marks,
46
+ marks: BasicSchema.spec.marks,
44
47
  });
45
48
 
46
49
 
@@ -65,14 +68,14 @@ const codeBlockDoc = {
65
68
  attrs: {
66
69
  lang: "javascript",
67
70
  },
68
- type: "code_block",
71
+ type: CodeBlockNodeName,
69
72
  },
70
73
  ],
71
74
  type: "doc",
72
75
  };
73
76
 
74
77
 
75
- const state = EditorState.create<typeof schema>({
78
+ const state = EditorState.create({
76
79
  doc: schema.nodeFromJSON(codeBlockDoc),
77
80
  plugins: [
78
81
  ...exampleSetup({
@@ -84,7 +87,7 @@ const state = EditorState.create<typeof schema>({
84
87
  undo,
85
88
  redo,
86
89
  }),
87
- keymap(codeBlockArrowHandlers),
90
+ keymap(codeBlockKeymap),
88
91
  ],
89
92
  });
90
93
 
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { Plugin, PluginKey } from "prosemirror-state";
2
2
  import { CodeBlockSettings, LanguageLoaders } from "./types";
3
3
  import { codeMirrorBlockNodeView } from "./codeMirrorBlockNodeView";
4
- import { codeBlockArrowHandlers } from "./utils";
4
+ import { CodeBlockNodeName, codeBlockArrowHandlers, createCodeBlock, removeCodeBlock, toggleCodeBlock, codeBlockToggleShortcut, codeBlockKeymap } from "./utils";
5
5
  import { CodeBlockLanguages, LegacyLanguages } from "./languages";
6
6
  import { defaultSettings } from "./defaults";
7
7
  import languageLoaders, { legacyLanguageLoaders } from "./languageLoaders";
8
8
  export declare const codeMirrorBlockKey: PluginKey<any>;
9
9
  declare const codeMirrorBlockPlugin: (settings: CodeBlockSettings) => Plugin<any>;
10
10
  export default codeMirrorBlockPlugin;
11
- export { codeMirrorBlockNodeView, codeBlockArrowHandlers, codeMirrorBlockPlugin, CodeBlockSettings, LanguageLoaders, CodeBlockLanguages, LegacyLanguages, defaultSettings, languageLoaders, legacyLanguageLoaders, };
11
+ export { CodeBlockNodeName, codeMirrorBlockNodeView, codeBlockArrowHandlers, codeMirrorBlockPlugin, CodeBlockSettings, LanguageLoaders, CodeBlockLanguages, LegacyLanguages, defaultSettings, languageLoaders, legacyLanguageLoaders, createCodeBlock, removeCodeBlock, toggleCodeBlock, codeBlockToggleShortcut, codeBlockKeymap, };
package/dist/index.es.js CHANGED
@@ -1 +1 @@
1
- import{Selection as e,TextSelection as o,PluginKey as r,Plugin as t}from"prosemirror-state";import{EditorView as i,lineNumbers as m,highlightActiveLineGutter as d,rectangularSelection as n,drawSelection as c,highlightActiveLine as a,keymap as l}from"@codemirror/view";import{highlightSelectionMatches as s,selectNextOccurrence as p}from"@codemirror/search";import{foldGutter as f,bracketMatching as h,syntaxHighlighting as g,defaultHighlightStyle as y,indentOnInput as u,foldKeymap as v,StreamLanguage as k}from"@codemirror/language";import{closeBrackets as b,autocompletion as x,closeBracketsKeymap as w,completionKeymap as j}from"@codemirror/autocomplete";import{defaultKeymap as q,indentWithTab as S}from"@codemirror/commands";import{Compartment as z,EditorState as A}from"@codemirror/state";import{setBlockType as E,selectAll as M,exitCode as C}from"prosemirror-commands";function L(e,o,r,t){return new(r||(r=Promise))((function(i,m){function d(e){try{c(t.next(e))}catch(e){m(e)}}function n(e){try{c(t.throw(e))}catch(e){m(e)}}function c(e){var o;e.done?i(e.value):(o=e.value,o instanceof r?o:new r((function(e){e(o)}))).then(d,n)}c((t=t.apply(e,o||[])).next())}))}function O(e,o){if(e===o)return null;let r=0,t=e.length,i=o.length;for(;r<t&&e.charCodeAt(r)===o.charCodeAt(r);)r+=1;for(;t>r&&i>r&&e.charCodeAt(t-1)===o.charCodeAt(i-1);)t-=1,i-=1;return{from:r,to:t,text:o.slice(r,i)}}const N=(e,r,t)=>{if(!e.hasFocus)return;const i=((e,r,t)=>{const i=("function"==typeof t&&t()||0)+1,m=r.state.selection.main.from+i,d=r.state.selection.main.to+i;return o.create(e,m,d)})(r.state.doc,e,t);i.eq(r.state.selection)||r.dispatch(r.state.tr.setSelection(i))},D=(o,r,t,i,m)=>{const d=t.state.selection.main,n=t.state.doc.lineAt(d.from),c=t.state.doc.lines;if(d.to!==d.from||n.number!==(r<0?1:c)||"char"===o&&d.from!==(r<0?0:n.to)||"function"!=typeof m)return!1;i.focus();const a=i.state.doc.nodeAt(m());if(!a)return!1;const l=m()+(r<0?0:a.nodeSize),s=e.near(i.state.doc.resolve(l),r);return i.dispatch(i.state.tr.setSelection(s).scrollIntoView()),i.focus(),!0},T=(e,o)=>{const{selection:r}=o.state;return!(!r.main.empty||0!==r.main.from)&&(E(e.state.schema.nodes.paragraph)(e.state,e.dispatch),setTimeout((()=>e.focus()),20),!0)},W=(e,o,r,t)=>L(void 0,void 0,void 0,(function*(){var i,m;const d=yield null===(m=null===(i=r.languageLoaders)||void 0===i?void 0:i[e])||void 0===m?void 0:m.call(i);d&&o.dispatch({effects:t.reconfigure(d)})})),B=o=>(r,t,i)=>{if(r.selection.empty&&(null==i?void 0:i.endOfTextblock(o))){const i="left"===o||"up"===o?-1:1,{$head:m}=r.selection,d=e.near(r.doc.resolve(i>0?m.after():m.before()),i);if(d.$head&&"code_block"===d.$head.parent.type.name)return null==t||t(r.tr.setSelection(d)),!0}return!1},H={ArrowLeft:B("left"),ArrowRight:B("right"),ArrowUp:B("up"),ArrowDown:B("down")},R=e=>(o,r,t)=>{let k=o,E=!1;const L=document.createElement("div");L.className="codeblock-root";const B=new z,H=A.create({extensions:[A.readOnly.of(e.readOnly),i.editable.of(!e.readOnly),m(),d(),f(),h(),b(),s(),x(),n(),c({cursorBlinkRate:1e3}),A.allowMultipleSelections.of(!0),a(),g(y,{fallback:!0}),B.of([]),u(),i.domEventHandlers({blur(e,o){o.dispatch({selection:{anchor:0}})}}),l.of([{key:"Mod-d",run:p,preventDefault:!0},{key:"ArrowUp",run:e=>D("line",-1,e,r,t)},{key:"ArrowLeft",run:e=>D("char",-1,e,r,t)},{key:"ArrowDown",run:e=>D("line",1,e,r,t)},{key:"ArrowRight",run:e=>D("char",1,e,r,t)},{key:"Mod-z",run:()=>{var o;return(null===(o=e.undo)||void 0===o?void 0:o.call(e,r.state,r.dispatch))||!0},shift:()=>{var o;return(null===(o=e.redo)||void 0===o?void 0:o.call(e,r.state,r.dispatch))||!0}},{key:"Mod-y",run:()=>{var o;return(null===(o=e.redo)||void 0===o?void 0:o.call(e,r.state,r.dispatch))||!0}},{key:"Backspace",run:e=>T(r,e)},{key:"Mod-Backspace",run:e=>T(r,e)},{key:"Mod-a",run:()=>{const e=M(r.state,r.dispatch);return r.focus(),e}},{key:"Enter",run:e=>{const o=e.state.selection.main;return""===e.state.doc.line(e.state.doc.lines).text&&o.from===o.to&&o.from===e.state.doc.length&&(C(r.state,r.dispatch),r.focus(),!0)}},...q,...v,...w,...j,S]),...e.theme?e.theme:[]],doc:k.textContent}),R=new i({state:H,dispatch:e=>{if(R.update([e]),!E){((e,o,r,t)=>{const i=O(o.textContent,e);if(i&&"function"==typeof r){const e=r()+1;let o=t.state.tr;i.text&&(o=o.replaceWith(e+i.from,e+i.to,t.state.schema.text(i.text))),t.dispatch(o)}})(e.state.toJSON().doc,k,t,r),N(R,r,t)}}});L.append(R.dom);const $=e.createSelect(e,L,k,r,t);return W(k.attrs.lang,R,e,B),{dom:L,selectNode(){R.focus()},stopEvent:o=>e.stopEvent(o,k,t,r,L),setSelection:(e,o)=>{R.focus(),N(R,r,t),E=!0,"function"==typeof t&&t(),R.dispatch({selection:{anchor:e,head:o}}),E=!1},update:o=>{if(o.type.name!==k.type.name)return!1;o.attrs.lang!==k.attrs.lang&&W(o.attrs.lang,R,e,B);const i=k;k=o;const m=O(R.state.doc.toString(),k.textContent);return m&&(E=!0,R.dispatch({changes:{from:m.from,to:m.to,insert:m.text},selection:{anchor:m.from+m.text.length}}),E=!1),e.updateSelect(e,L,o,r,t,i),!0},ignoreMutation:()=>!0,destroy:()=>{$()}}};var $,F;!function(e){e.javascript="javascript",e.html="html",e.css="css",e.sql="sql",e.python="python",e.rust="rust",e.xml="xml",e.json="json",e.markdown="markdown",e.java="java",e.cpp="cpp",e.lezer="lezer",e.php="php",e.wast="wast"}($||($={})),function(e){e.apl="apl",e.asciiarmor="asciiarmor",e.asn1="asn1",e.asterisk="asterisk",e.brainfuck="brainfuck",e.clike="clike",e.clojure="clojure",e.cmake="cmake",e.cobol="cobol",e.coffeescript="coffeescript",e.commonlisp="commonlisp",e.crystal="crystal",e.cypher="cypher",e.d="d",e.diff="diff",e.dockerfile="dockerfile",e.dtd="dtd",e.dylan="dylan",e.ebnf="ebnf",e.ecl="ecl",e.eiffel="eiffel",e.elm="elm",e.erlang="erlang",e.factor="factor",e.fcl="fcl",e.forth="forth",e.fortran="fortran",e.gas="gas",e.gherkin="gherkin",e.go="go",e.groovy="groovy",e.haskell="haskell",e.haxe="haxe",e.http="http",e.idl="idl",e.jinja2="jinja2",e.julia="julia",e.livescript="livescript",e.lua="lua",e.mathematica="mathematica",e.mbox="mbox",e.mirc="mirc",e.mllike="mllike",e.modelica="modelica",e.mscgen="mscgen",e.mumps="mumps",e.nginx="nginx",e.nsis="nsis",e.ntriples="ntriples",e.octave="octave",e.oz="oz",e.pascal="pascal",e.perl="perl",e.pig="pig",e.powershell="powershell",e.properties="properties",e.protobuf="protobuf",e.puppet="puppet",e.q="q",e.r="r",e.rpm="rpm",e.ruby="ruby",e.sas="sas",e.scheme="scheme",e.shell="shell",e.smalltalk="smalltalk",e.solr="solr",e.sparql="sparql",e.spreadsheet="spreadsheet",e.stex="stex",e.stylus="stylus",e.swift="swift",e.tcl="tcl",e.textile="textile",e.tiddlywiki="tiddlywiki",e.tiki="tiki",e.toml="toml",e.troff="troff",e.ttcn="ttcn",e.turtle="turtle",e.vb="vb",e.vbscript="vbscript",e.velocity="velocity",e.verilog="verilog",e.vhdl="vhdl",e.webidl="webidl",e.xquery="xquery",e.yacas="yacas",e.yaml="yaml",e.z80="z80"}(F||(F={}));const I={createSelect:(e,o,r,t,i)=>{var m;if(!e.languageLoaders)return()=>{};const{languageLoaders:d}=e,n=document.createElement("select");n.className="codeblock-select";const c=document.createElement("option");return c.value="none",c.textContent=(null===(m=e.languageNameMap)||void 0===m?void 0:m.none)||"none",n.append(c),Object.keys(d).sort().forEach((o=>{var r;if(e.languageWhitelist&&!e.languageWhitelist.includes(o))return;const t=document.createElement("option");t.value=o,t.textContent=(null===(r=e.languageNameMap)||void 0===r?void 0:r[o])||o,n.append(t)})),n.value=r.attrs.lang||"none",o.prepend(n),n.onchange=e=>L(void 0,void 0,void 0,(function*(){if(!(e.target instanceof HTMLSelectElement))return;const o=e.target.value;"function"==typeof i&&t.dispatch(t.state.tr.setNodeMarkup(i(),void 0,Object.assign(Object.assign({},r.attrs),{lang:o})))})),()=>{}},updateSelect:(e,o,r,t,i,m)=>{if(m.attrs.lang!==r.attrs.lang){const e=o.querySelector(".codeblock-select");if(!(e instanceof HTMLSelectElement))return;e.value=r.attrs.lang||"none"}},stopEvent:()=>!0,readOnly:!1},U={[$.cpp]:()=>import("@codemirror/lang-cpp").then((e=>e.cpp())),[$.css]:()=>import("@codemirror/lang-css").then((e=>e.css())),[$.html]:()=>import("@codemirror/lang-html").then((e=>e.html())),[$.php]:()=>import("@codemirror/lang-php").then((e=>e.php())),[$.sql]:()=>import("@codemirror/lang-sql").then((e=>e.sql())),[$.xml]:()=>import("@codemirror/lang-xml").then((e=>e.xml())),[$.javascript]:()=>import("@codemirror/lang-javascript").then((e=>e.javascript())),[$.java]:()=>import("@codemirror/lang-java").then((e=>e.java())),[$.json]:()=>import("@codemirror/lang-json").then((e=>e.json())),[$.lezer]:()=>import("@codemirror/lang-lezer").then((e=>e.lezer())),[$.markdown]:()=>import("@codemirror/lang-markdown").then((e=>e.markdown())),[$.python]:()=>import("@codemirror/lang-python").then((e=>e.python())),[$.rust]:()=>import("@codemirror/lang-rust").then((e=>e.rust())),[$.wast]:()=>import("@codemirror/lang-wast").then((e=>e.wast()))},V={[F.apl]:()=>import("@codemirror/legacy-modes/mode/apl").then((({apl:e})=>k.define(e))),[F.asciiarmor]:()=>import("@codemirror/legacy-modes/mode/asciiarmor").then((({asciiArmor:e})=>k.define(e))),[F.asn1]:()=>import("@codemirror/legacy-modes/mode/asn1").then((({asn1:e})=>k.define(e))),[F.asterisk]:()=>import("@codemirror/legacy-modes/mode/asterisk").then((({asterisk:e})=>k.define(e))),[F.brainfuck]:()=>import("@codemirror/legacy-modes/mode/brainfuck").then((({brainfuck:e})=>k.define(e))),[F.clike]:()=>import("@codemirror/legacy-modes/mode/clike").then((({clike:e})=>k.define(e))),[F.clojure]:()=>import("@codemirror/legacy-modes/mode/clojure").then((({clojure:e})=>k.define(e))),[F.cmake]:()=>import("@codemirror/legacy-modes/mode/cmake").then((({cmake:e})=>k.define(e))),[F.cobol]:()=>import("@codemirror/legacy-modes/mode/cobol").then((({cobol:e})=>k.define(e))),[F.coffeescript]:()=>import("@codemirror/legacy-modes/mode/coffeescript").then((({coffeeScript:e})=>k.define(e))),[F.commonlisp]:()=>import("@codemirror/legacy-modes/mode/commonlisp").then((({commonLisp:e})=>k.define(e))),[F.crystal]:()=>import("@codemirror/legacy-modes/mode/crystal").then((({crystal:e})=>k.define(e))),[F.cypher]:()=>import("@codemirror/legacy-modes/mode/cypher").then((({cypher:e})=>k.define(e))),[F.d]:()=>import("@codemirror/legacy-modes/mode/d").then((({d:e})=>k.define(e))),[F.diff]:()=>import("@codemirror/legacy-modes/mode/diff").then((({diff:e})=>k.define(e))),[F.dockerfile]:()=>import("@codemirror/legacy-modes/mode/dockerfile").then((({dockerFile:e})=>k.define(e))),[F.dtd]:()=>import("@codemirror/legacy-modes/mode/dtd").then((({dtd:e})=>k.define(e))),[F.dylan]:()=>import("@codemirror/legacy-modes/mode/dylan").then((({dylan:e})=>k.define(e))),[F.ebnf]:()=>import("@codemirror/legacy-modes/mode/ebnf").then((({ebnf:e})=>k.define(e))),[F.ecl]:()=>import("@codemirror/legacy-modes/mode/ecl").then((({ecl:e})=>k.define(e))),[F.eiffel]:()=>import("@codemirror/legacy-modes/mode/eiffel").then((({eiffel:e})=>k.define(e))),[F.elm]:()=>import("@codemirror/legacy-modes/mode/elm").then((({elm:e})=>k.define(e))),[F.erlang]:()=>import("@codemirror/legacy-modes/mode/erlang").then((({erlang:e})=>k.define(e))),[F.factor]:()=>import("@codemirror/legacy-modes/mode/factor").then((({factor:e})=>k.define(e))),[F.fcl]:()=>import("@codemirror/legacy-modes/mode/fcl").then((({fcl:e})=>k.define(e))),[F.forth]:()=>import("@codemirror/legacy-modes/mode/forth").then((({forth:e})=>k.define(e))),[F.fortran]:()=>import("@codemirror/legacy-modes/mode/fortran").then((({fortran:e})=>k.define(e))),[F.gas]:()=>import("@codemirror/legacy-modes/mode/gas").then((({gas:e})=>k.define(e))),[F.gherkin]:()=>import("@codemirror/legacy-modes/mode/gherkin").then((({gherkin:e})=>k.define(e))),[F.go]:()=>import("@codemirror/legacy-modes/mode/go").then((({go:e})=>k.define(e))),[F.groovy]:()=>import("@codemirror/legacy-modes/mode/groovy").then((({groovy:e})=>k.define(e))),[F.haskell]:()=>import("@codemirror/legacy-modes/mode/haskell").then((({haskell:e})=>k.define(e))),[F.haxe]:()=>import("@codemirror/legacy-modes/mode/haxe").then((({haxe:e})=>k.define(e))),[F.http]:()=>import("@codemirror/legacy-modes/mode/http").then((({http:e})=>k.define(e))),[F.idl]:()=>import("@codemirror/legacy-modes/mode/idl").then((({idl:e})=>k.define(e))),[F.jinja2]:()=>import("@codemirror/legacy-modes/mode/jinja2").then((({jinja2:e})=>k.define(e))),[F.julia]:()=>import("@codemirror/legacy-modes/mode/julia").then((({julia:e})=>k.define(e))),[F.livescript]:()=>import("@codemirror/legacy-modes/mode/livescript").then((({liveScript:e})=>k.define(e))),[F.lua]:()=>import("@codemirror/legacy-modes/mode/lua").then((({lua:e})=>k.define(e))),[F.mathematica]:()=>import("@codemirror/legacy-modes/mode/mathematica").then((({mathematica:e})=>k.define(e))),[F.mbox]:()=>import("@codemirror/legacy-modes/mode/mbox").then((({mbox:e})=>k.define(e))),[F.mirc]:()=>import("@codemirror/legacy-modes/mode/mirc").then((({mirc:e})=>k.define(e))),[F.mllike]:()=>import("@codemirror/legacy-modes/mode/mllike").then((({oCaml:e})=>k.define(e))),[F.modelica]:()=>import("@codemirror/legacy-modes/mode/modelica").then((({modelica:e})=>k.define(e))),[F.mscgen]:()=>import("@codemirror/legacy-modes/mode/mscgen").then((({mscgen:e})=>k.define(e))),[F.mumps]:()=>import("@codemirror/legacy-modes/mode/mumps").then((({mumps:e})=>k.define(e))),[F.nginx]:()=>import("@codemirror/legacy-modes/mode/nginx").then((({nginx:e})=>k.define(e))),[F.nsis]:()=>import("@codemirror/legacy-modes/mode/nsis").then((({nsis:e})=>k.define(e))),[F.ntriples]:()=>import("@codemirror/legacy-modes/mode/ntriples").then((({ntriples:e})=>k.define(e))),[F.octave]:()=>import("@codemirror/legacy-modes/mode/octave").then((({octave:e})=>k.define(e))),[F.oz]:()=>import("@codemirror/legacy-modes/mode/oz").then((({oz:e})=>k.define(e))),[F.pascal]:()=>import("@codemirror/legacy-modes/mode/pascal").then((({pascal:e})=>k.define(e))),[F.perl]:()=>import("@codemirror/legacy-modes/mode/perl").then((({perl:e})=>k.define(e))),[F.pig]:()=>import("@codemirror/legacy-modes/mode/pig").then((({pig:e})=>k.define(e))),[F.powershell]:()=>import("@codemirror/legacy-modes/mode/powershell").then((({powerShell:e})=>k.define(e))),[F.properties]:()=>import("@codemirror/legacy-modes/mode/properties").then((({properties:e})=>k.define(e))),[F.protobuf]:()=>import("@codemirror/legacy-modes/mode/protobuf").then((({protobuf:e})=>k.define(e))),[F.puppet]:()=>import("@codemirror/legacy-modes/mode/puppet").then((({puppet:e})=>k.define(e))),[F.q]:()=>import("@codemirror/legacy-modes/mode/q").then((({q:e})=>k.define(e))),[F.r]:()=>import("@codemirror/legacy-modes/mode/r").then((({r:e})=>k.define(e))),[F.rpm]:()=>import("@codemirror/legacy-modes/mode/rpm").then((({rpmSpec:e})=>k.define(e))),[F.ruby]:()=>import("@codemirror/legacy-modes/mode/ruby").then((({ruby:e})=>k.define(e))),[F.sas]:()=>import("@codemirror/legacy-modes/mode/sas").then((({sas:e})=>k.define(e))),[F.scheme]:()=>import("@codemirror/legacy-modes/mode/scheme").then((({scheme:e})=>k.define(e))),[F.shell]:()=>import("@codemirror/legacy-modes/mode/shell").then((({shell:e})=>k.define(e))),[F.smalltalk]:()=>import("@codemirror/legacy-modes/mode/smalltalk").then((({smalltalk:e})=>k.define(e))),[F.solr]:()=>import("@codemirror/legacy-modes/mode/solr").then((({solr:e})=>k.define(e))),[F.sparql]:()=>import("@codemirror/legacy-modes/mode/sparql").then((({sparql:e})=>k.define(e))),[F.spreadsheet]:()=>import("@codemirror/legacy-modes/mode/spreadsheet").then((({spreadsheet:e})=>k.define(e))),[F.stex]:()=>import("@codemirror/legacy-modes/mode/stex").then((({stex:e})=>k.define(e))),[F.stylus]:()=>import("@codemirror/legacy-modes/mode/stylus").then((({stylus:e})=>k.define(e))),[F.swift]:()=>import("@codemirror/legacy-modes/mode/swift").then((({swift:e})=>k.define(e))),[F.tcl]:()=>import("@codemirror/legacy-modes/mode/tcl").then((({tcl:e})=>k.define(e))),[F.textile]:()=>import("@codemirror/legacy-modes/mode/textile").then((({textile:e})=>k.define(e))),[F.tiddlywiki]:()=>import("@codemirror/legacy-modes/mode/tiddlywiki").then((({tiddlyWiki:e})=>k.define(e))),[F.tiki]:()=>import("@codemirror/legacy-modes/mode/tiki").then((({tiki:e})=>k.define(e))),[F.toml]:()=>import("@codemirror/legacy-modes/mode/toml").then((({toml:e})=>k.define(e))),[F.troff]:()=>import("@codemirror/legacy-modes/mode/troff").then((({troff:e})=>k.define(e))),[F.ttcn]:()=>import("@codemirror/legacy-modes/mode/ttcn").then((({ttcn:e})=>k.define(e))),[F.turtle]:()=>import("@codemirror/legacy-modes/mode/turtle").then((({turtle:e})=>k.define(e))),[F.vb]:()=>import("@codemirror/legacy-modes/mode/vb").then((({vb:e})=>k.define(e))),[F.vbscript]:()=>import("@codemirror/legacy-modes/mode/vbscript").then((({vbScript:e})=>k.define(e))),[F.velocity]:()=>import("@codemirror/legacy-modes/mode/velocity").then((({velocity:e})=>k.define(e))),[F.verilog]:()=>import("@codemirror/legacy-modes/mode/verilog").then((({verilog:e})=>k.define(e))),[F.vhdl]:()=>import("@codemirror/legacy-modes/mode/vhdl").then((({vhdl:e})=>k.define(e))),[F.webidl]:()=>import("@codemirror/legacy-modes/mode/webidl").then((({webIDL:e})=>k.define(e))),[F.xquery]:()=>import("@codemirror/legacy-modes/mode/xquery").then((({xQuery:e})=>k.define(e))),[F.yacas]:()=>import("@codemirror/legacy-modes/mode/yacas").then((({yacas:e})=>k.define(e))),[F.yaml]:()=>import("@codemirror/legacy-modes/mode/yaml").then((({yaml:e})=>k.define(e))),[F.z80]:()=>import("@codemirror/legacy-modes/mode/z80").then((({z80:e})=>k.define(e)))},_=new r("codemirror-block"),J=e=>new t({key:_,props:{nodeViews:{code_block:R(e)}}});export{$ as CodeBlockLanguages,F as LegacyLanguages,H as codeBlockArrowHandlers,_ as codeMirrorBlockKey,R as codeMirrorBlockNodeView,J as codeMirrorBlockPlugin,J as default,I as defaultSettings,U as languageLoaders,V as legacyLanguageLoaders};
1
+ import{TextSelection as e,Selection as o,PluginKey as r,Plugin as t}from"prosemirror-state";import{EditorView as i,lineNumbers as n,highlightActiveLineGutter as d,rectangularSelection as m,drawSelection as c,highlightActiveLine as a,keymap as l}from"@codemirror/view";import{highlightSelectionMatches as s,selectNextOccurrence as p}from"@codemirror/search";import{foldGutter as f,bracketMatching as h,syntaxHighlighting as g,defaultHighlightStyle as y,indentOnInput as u,foldKeymap as v,StreamLanguage as k}from"@codemirror/language";import{closeBrackets as b,autocompletion as x,closeBracketsKeymap as w,completionKeymap as j}from"@codemirror/autocomplete";import{defaultKeymap as S,indentWithTab as q}from"@codemirror/commands";import{Compartment as z,EditorState as A}from"@codemirror/state";import{setBlockType as E,selectAll as M,exitCode as O}from"prosemirror-commands";function C(e,o,r,t){return new(r||(r=Promise))((function(i,n){function d(e){try{c(t.next(e))}catch(e){n(e)}}function m(e){try{c(t.throw(e))}catch(e){n(e)}}function c(e){var o;e.done?i(e.value):(o=e.value,o instanceof r?o:new r((function(e){e(o)}))).then(d,m)}c((t=t.apply(e,o||[])).next())}))}const L="code_block";function N(e){return null!=e}function $(e,o){if(e===o)return null;let r=0,t=e.length,i=o.length;for(;r<t&&e.charCodeAt(r)===o.charCodeAt(r);)r+=1;for(;t>r&&i>r&&e.charCodeAt(t-1)===o.charCodeAt(i-1);)t-=1,i-=1;return{from:r,to:t,text:o.slice(r,i)}}const F=(o,r,t)=>{if(!o.hasFocus)return;const i=((o,r,t)=>{const i=("function"==typeof t&&t()||0)+1,n=r.state.selection.main.from+i,d=r.state.selection.main.to+i;return e.create(o,n,d)})(r.state.doc,o,t);i.eq(r.state.selection)||r.dispatch(r.state.tr.setSelection(i))},B=(e,r,t,i,n)=>{const d=t.state.selection.main,m=t.state.doc.lineAt(d.from),c=t.state.doc.lines;if(d.to!==d.from||m.number!==(r<0?1:c)||"char"===e&&d.from!==(r<0?0:m.to)||"function"!=typeof n)return!1;i.focus();const a=i.state.doc.nodeAt(n());if(!a)return!1;const l=n()+(r<0?0:a.nodeSize),s=o.near(i.state.doc.resolve(l),r);return i.dispatch(i.state.tr.setSelection(s).scrollIntoView()),i.focus(),!0},D=(e,o)=>{const{selection:r}=o.state;return!(!r.main.empty||0!==r.main.from)&&(E(e.state.schema.nodes.paragraph)(e.state,e.dispatch),setTimeout((()=>e.focus()),20),!0)},T=(e,o,r,t)=>C(void 0,void 0,void 0,(function*(){var i,n;const d=yield null===(n=null===(i=r.languageLoaders)||void 0===i?void 0:i[e])||void 0===n?void 0:n.call(i);d&&o.dispatch({effects:t.reconfigure(d)})})),W=e=>(r,t,i)=>{if(r.selection.empty&&(null==i?void 0:i.endOfTextblock(e))){const i="left"===e||"up"===e?-1:1,{$head:n}=r.selection,d=o.near(r.doc.resolve(i>0?n.after():n.before()),i);if(d.$head&&d.$head.parent.type.name===L)return null==t||t(r.tr.setSelection(d)),!0}return!1},H=(o,r,t)=>{const{$from:i,$to:n}=o.selection,d=i.node(i.depth-1);if(d&&d.type.name===L)return!1;if(i.parentOffset===n.parentOffset&&"paragraph"===i.parent.type.name){const n=i.parent.textContent,d=o.tr,m=o.schema.nodes[L].createAndFill(t,n?[o.schema.text(i.parent.textContent)]:[]);if(m&&r){const o=i.before(i.depth);d.delete(o,o+i.parent.nodeSize-1),d.insert(o,m),d.setSelection(e.create(d.doc,i.pos)),r(d)}return!0}if(r){const d=o.tr,m=o.doc.slice(i.before(i.depth),n.after(n.depth),!0),c=m.content.textBetween(0,m.content.size,"\n"),a=o.schema.nodes[L].createAndFill(t,o.schema.text(c));a&&(d.delete(i.before(m.openStart+1),n.after(m.openEnd+1)),d.insert(i.before(m.openStart+1),a),d.setSelection(e.create(d.doc,i.pos,n.pos)),r(d))}return!0},I=(o,r)=>{const{$from:t}=o.selection,i=t.node(t.depth-1);if(i&&i.type.name===L){const n=[];i.child(1).forEach((e=>{n.push(e)}));const d=n.map((e=>o.schema.nodes.paragraph.createAndFill({},[e]))).filter(N),m=o.tr,c=t.before(t.depth-1);m.delete(c,c+i.nodeSize-1),m.insert(c,d),m.setSelection(e.create(m.doc,t.pos-1)),r&&r(m.scrollIntoView())}return!1},R=(e,o,r)=>{const{$from:t}=e.selection,i=t.node(t.depth-1);return i&&i.type.name===L?I(e,o):H(e,o,r)},V={ArrowLeft:W("left"),ArrowRight:W("right"),ArrowUp:W("up"),ArrowDown:W("down")},U={"Mod-Alt-c":R},_=Object.assign(Object.assign({},U),V),J=e=>(o,r,t)=>{let k=o,E=!1;const C=document.createElement("div");C.className="codeblock-root";const L=new z,N=A.create({extensions:[A.readOnly.of(e.readOnly),i.editable.of(!e.readOnly),n(),d(),f(),h(),b(),s(),x(),m(),c({cursorBlinkRate:1e3}),A.allowMultipleSelections.of(!0),a(),g(y,{fallback:!0}),L.of([]),u(),i.domEventHandlers({blur(e,o){o.dispatch({selection:{anchor:0}})}}),l.of([{key:"Mod-d",run:p,preventDefault:!0},{key:"ArrowUp",run:e=>B("line",-1,e,r,t)},{key:"ArrowLeft",run:e=>B("char",-1,e,r,t)},{key:"ArrowDown",run:e=>B("line",1,e,r,t)},{key:"ArrowRight",run:e=>B("char",1,e,r,t)},{key:"Mod-z",run:()=>{var o;return(null===(o=e.undo)||void 0===o?void 0:o.call(e,r.state,r.dispatch))||!0},shift:()=>{var o;return(null===(o=e.redo)||void 0===o?void 0:o.call(e,r.state,r.dispatch))||!0}},{key:"Mod-y",run:()=>{var o;return(null===(o=e.redo)||void 0===o?void 0:o.call(e,r.state,r.dispatch))||!0}},{key:"Backspace",run:e=>D(r,e)},{key:"Mod-Backspace",run:e=>D(r,e)},{key:"Mod-a",run:()=>{const e=M(r.state,r.dispatch);return r.focus(),e}},{key:"Enter",run:e=>{const o=e.state.selection.main;return""===e.state.doc.line(e.state.doc.lines).text&&o.from===o.to&&o.from===e.state.doc.length&&(O(r.state,r.dispatch),r.focus(),!0)}},...S,...v,...w,...j,q]),...e.theme?e.theme:[]],doc:k.textContent}),W=new i({state:N,dispatch:e=>{if(W.update([e]),!E){((e,o,r,t)=>{const i=$(o.textContent,e);if(i&&"function"==typeof r){const e=r()+1;let o=t.state.tr;o=o.replaceWith(e+i.from,e+i.to,i.text?t.state.schema.text(i.text):[]),t.dispatch(o)}})(e.state.toJSON().doc,k,t,r),F(W,r,t)}}});C.append(W.dom);const H=e.createSelect(e,C,k,r,t);return T(k.attrs.lang,W,e,L),{dom:C,selectNode(){W.focus()},stopEvent:o=>e.stopEvent(o,k,t,r,C),setSelection:(e,o)=>{W.focus(),F(W,r,t),E=!0,"function"==typeof t&&t(),W.dispatch({selection:{anchor:e,head:o}}),E=!1},update:o=>{if(o.type.name!==k.type.name)return!1;o.attrs.lang!==k.attrs.lang&&T(o.attrs.lang,W,e,L);const i=k;k=o;const n=$(W.state.doc.toString(),k.textContent);return n&&(E=!0,W.dispatch({changes:{from:n.from,to:n.to,insert:n.text},selection:{anchor:n.from+n.text.length}}),E=!1),e.updateSelect(e,C,o,r,t,i),!0},ignoreMutation:()=>!0,destroy:()=>{H()}}};var P,Q;!function(e){e.javascript="javascript",e.html="html",e.css="css",e.sql="sql",e.python="python",e.rust="rust",e.xml="xml",e.json="json",e.markdown="markdown",e.java="java",e.cpp="cpp",e.lezer="lezer",e.php="php",e.wast="wast"}(P||(P={})),function(e){e.apl="apl",e.asciiarmor="asciiarmor",e.asn1="asn1",e.asterisk="asterisk",e.brainfuck="brainfuck",e.clike="clike",e.clojure="clojure",e.cmake="cmake",e.cobol="cobol",e.coffeescript="coffeescript",e.commonlisp="commonlisp",e.crystal="crystal",e.cypher="cypher",e.d="d",e.diff="diff",e.dockerfile="dockerfile",e.dtd="dtd",e.dylan="dylan",e.ebnf="ebnf",e.ecl="ecl",e.eiffel="eiffel",e.elm="elm",e.erlang="erlang",e.factor="factor",e.fcl="fcl",e.forth="forth",e.fortran="fortran",e.gas="gas",e.gherkin="gherkin",e.go="go",e.groovy="groovy",e.haskell="haskell",e.haxe="haxe",e.http="http",e.idl="idl",e.jinja2="jinja2",e.julia="julia",e.livescript="livescript",e.lua="lua",e.mathematica="mathematica",e.mbox="mbox",e.mirc="mirc",e.mllike="mllike",e.modelica="modelica",e.mscgen="mscgen",e.mumps="mumps",e.nginx="nginx",e.nsis="nsis",e.ntriples="ntriples",e.octave="octave",e.oz="oz",e.pascal="pascal",e.perl="perl",e.pig="pig",e.powershell="powershell",e.properties="properties",e.protobuf="protobuf",e.puppet="puppet",e.q="q",e.r="r",e.rpm="rpm",e.ruby="ruby",e.sas="sas",e.scheme="scheme",e.shell="shell",e.smalltalk="smalltalk",e.solr="solr",e.sparql="sparql",e.spreadsheet="spreadsheet",e.stex="stex",e.stylus="stylus",e.swift="swift",e.tcl="tcl",e.textile="textile",e.tiddlywiki="tiddlywiki",e.tiki="tiki",e.toml="toml",e.troff="troff",e.ttcn="ttcn",e.turtle="turtle",e.vb="vb",e.vbscript="vbscript",e.velocity="velocity",e.verilog="verilog",e.vhdl="vhdl",e.webidl="webidl",e.xquery="xquery",e.yacas="yacas",e.yaml="yaml",e.z80="z80"}(Q||(Q={}));const G={createSelect:(e,o,r,t,i)=>{var n;if(!e.languageLoaders)return()=>{};const{languageLoaders:d}=e,m=document.createElement("select");m.className="codeblock-select";const c=document.createElement("option");return c.value="none",c.textContent=(null===(n=e.languageNameMap)||void 0===n?void 0:n.none)||"none",m.append(c),Object.keys(d).sort().forEach((o=>{var r;if(e.languageWhitelist&&!e.languageWhitelist.includes(o))return;const t=document.createElement("option");t.value=o,t.textContent=(null===(r=e.languageNameMap)||void 0===r?void 0:r[o])||o,m.append(t)})),m.value=r.attrs.lang||"none",o.prepend(m),m.onchange=e=>C(void 0,void 0,void 0,(function*(){if(!(e.target instanceof HTMLSelectElement))return;const o=e.target.value;"function"==typeof i&&t.dispatch(t.state.tr.setNodeMarkup(i(),void 0,Object.assign(Object.assign({},r.attrs),{lang:o})))})),()=>{}},updateSelect:(e,o,r,t,i,n)=>{if(n.attrs.lang!==r.attrs.lang){const e=o.querySelector(".codeblock-select");if(!(e instanceof HTMLSelectElement))return;e.value=r.attrs.lang||"none"}},stopEvent:()=>!0,readOnly:!1},K={[P.cpp]:()=>import("@codemirror/lang-cpp").then((e=>e.cpp())),[P.css]:()=>import("@codemirror/lang-css").then((e=>e.css())),[P.html]:()=>import("@codemirror/lang-html").then((e=>e.html())),[P.php]:()=>import("@codemirror/lang-php").then((e=>e.php())),[P.sql]:()=>import("@codemirror/lang-sql").then((e=>e.sql())),[P.xml]:()=>import("@codemirror/lang-xml").then((e=>e.xml())),[P.javascript]:()=>import("@codemirror/lang-javascript").then((e=>e.javascript())),[P.java]:()=>import("@codemirror/lang-java").then((e=>e.java())),[P.json]:()=>import("@codemirror/lang-json").then((e=>e.json())),[P.lezer]:()=>import("@codemirror/lang-lezer").then((e=>e.lezer())),[P.markdown]:()=>import("@codemirror/lang-markdown").then((e=>e.markdown())),[P.python]:()=>import("@codemirror/lang-python").then((e=>e.python())),[P.rust]:()=>import("@codemirror/lang-rust").then((e=>e.rust())),[P.wast]:()=>import("@codemirror/lang-wast").then((e=>e.wast()))},X={[Q.apl]:()=>import("@codemirror/legacy-modes/mode/apl").then((({apl:e})=>k.define(e))),[Q.asciiarmor]:()=>import("@codemirror/legacy-modes/mode/asciiarmor").then((({asciiArmor:e})=>k.define(e))),[Q.asn1]:()=>import("@codemirror/legacy-modes/mode/asn1").then((({asn1:e})=>k.define(e))),[Q.asterisk]:()=>import("@codemirror/legacy-modes/mode/asterisk").then((({asterisk:e})=>k.define(e))),[Q.brainfuck]:()=>import("@codemirror/legacy-modes/mode/brainfuck").then((({brainfuck:e})=>k.define(e))),[Q.clike]:()=>import("@codemirror/legacy-modes/mode/clike").then((({clike:e})=>k.define(e))),[Q.clojure]:()=>import("@codemirror/legacy-modes/mode/clojure").then((({clojure:e})=>k.define(e))),[Q.cmake]:()=>import("@codemirror/legacy-modes/mode/cmake").then((({cmake:e})=>k.define(e))),[Q.cobol]:()=>import("@codemirror/legacy-modes/mode/cobol").then((({cobol:e})=>k.define(e))),[Q.coffeescript]:()=>import("@codemirror/legacy-modes/mode/coffeescript").then((({coffeeScript:e})=>k.define(e))),[Q.commonlisp]:()=>import("@codemirror/legacy-modes/mode/commonlisp").then((({commonLisp:e})=>k.define(e))),[Q.crystal]:()=>import("@codemirror/legacy-modes/mode/crystal").then((({crystal:e})=>k.define(e))),[Q.cypher]:()=>import("@codemirror/legacy-modes/mode/cypher").then((({cypher:e})=>k.define(e))),[Q.d]:()=>import("@codemirror/legacy-modes/mode/d").then((({d:e})=>k.define(e))),[Q.diff]:()=>import("@codemirror/legacy-modes/mode/diff").then((({diff:e})=>k.define(e))),[Q.dockerfile]:()=>import("@codemirror/legacy-modes/mode/dockerfile").then((({dockerFile:e})=>k.define(e))),[Q.dtd]:()=>import("@codemirror/legacy-modes/mode/dtd").then((({dtd:e})=>k.define(e))),[Q.dylan]:()=>import("@codemirror/legacy-modes/mode/dylan").then((({dylan:e})=>k.define(e))),[Q.ebnf]:()=>import("@codemirror/legacy-modes/mode/ebnf").then((({ebnf:e})=>k.define(e))),[Q.ecl]:()=>import("@codemirror/legacy-modes/mode/ecl").then((({ecl:e})=>k.define(e))),[Q.eiffel]:()=>import("@codemirror/legacy-modes/mode/eiffel").then((({eiffel:e})=>k.define(e))),[Q.elm]:()=>import("@codemirror/legacy-modes/mode/elm").then((({elm:e})=>k.define(e))),[Q.erlang]:()=>import("@codemirror/legacy-modes/mode/erlang").then((({erlang:e})=>k.define(e))),[Q.factor]:()=>import("@codemirror/legacy-modes/mode/factor").then((({factor:e})=>k.define(e))),[Q.fcl]:()=>import("@codemirror/legacy-modes/mode/fcl").then((({fcl:e})=>k.define(e))),[Q.forth]:()=>import("@codemirror/legacy-modes/mode/forth").then((({forth:e})=>k.define(e))),[Q.fortran]:()=>import("@codemirror/legacy-modes/mode/fortran").then((({fortran:e})=>k.define(e))),[Q.gas]:()=>import("@codemirror/legacy-modes/mode/gas").then((({gas:e})=>k.define(e))),[Q.gherkin]:()=>import("@codemirror/legacy-modes/mode/gherkin").then((({gherkin:e})=>k.define(e))),[Q.go]:()=>import("@codemirror/legacy-modes/mode/go").then((({go:e})=>k.define(e))),[Q.groovy]:()=>import("@codemirror/legacy-modes/mode/groovy").then((({groovy:e})=>k.define(e))),[Q.haskell]:()=>import("@codemirror/legacy-modes/mode/haskell").then((({haskell:e})=>k.define(e))),[Q.haxe]:()=>import("@codemirror/legacy-modes/mode/haxe").then((({haxe:e})=>k.define(e))),[Q.http]:()=>import("@codemirror/legacy-modes/mode/http").then((({http:e})=>k.define(e))),[Q.idl]:()=>import("@codemirror/legacy-modes/mode/idl").then((({idl:e})=>k.define(e))),[Q.jinja2]:()=>import("@codemirror/legacy-modes/mode/jinja2").then((({jinja2:e})=>k.define(e))),[Q.julia]:()=>import("@codemirror/legacy-modes/mode/julia").then((({julia:e})=>k.define(e))),[Q.livescript]:()=>import("@codemirror/legacy-modes/mode/livescript").then((({liveScript:e})=>k.define(e))),[Q.lua]:()=>import("@codemirror/legacy-modes/mode/lua").then((({lua:e})=>k.define(e))),[Q.mathematica]:()=>import("@codemirror/legacy-modes/mode/mathematica").then((({mathematica:e})=>k.define(e))),[Q.mbox]:()=>import("@codemirror/legacy-modes/mode/mbox").then((({mbox:e})=>k.define(e))),[Q.mirc]:()=>import("@codemirror/legacy-modes/mode/mirc").then((({mirc:e})=>k.define(e))),[Q.mllike]:()=>import("@codemirror/legacy-modes/mode/mllike").then((({oCaml:e})=>k.define(e))),[Q.modelica]:()=>import("@codemirror/legacy-modes/mode/modelica").then((({modelica:e})=>k.define(e))),[Q.mscgen]:()=>import("@codemirror/legacy-modes/mode/mscgen").then((({mscgen:e})=>k.define(e))),[Q.mumps]:()=>import("@codemirror/legacy-modes/mode/mumps").then((({mumps:e})=>k.define(e))),[Q.nginx]:()=>import("@codemirror/legacy-modes/mode/nginx").then((({nginx:e})=>k.define(e))),[Q.nsis]:()=>import("@codemirror/legacy-modes/mode/nsis").then((({nsis:e})=>k.define(e))),[Q.ntriples]:()=>import("@codemirror/legacy-modes/mode/ntriples").then((({ntriples:e})=>k.define(e))),[Q.octave]:()=>import("@codemirror/legacy-modes/mode/octave").then((({octave:e})=>k.define(e))),[Q.oz]:()=>import("@codemirror/legacy-modes/mode/oz").then((({oz:e})=>k.define(e))),[Q.pascal]:()=>import("@codemirror/legacy-modes/mode/pascal").then((({pascal:e})=>k.define(e))),[Q.perl]:()=>import("@codemirror/legacy-modes/mode/perl").then((({perl:e})=>k.define(e))),[Q.pig]:()=>import("@codemirror/legacy-modes/mode/pig").then((({pig:e})=>k.define(e))),[Q.powershell]:()=>import("@codemirror/legacy-modes/mode/powershell").then((({powerShell:e})=>k.define(e))),[Q.properties]:()=>import("@codemirror/legacy-modes/mode/properties").then((({properties:e})=>k.define(e))),[Q.protobuf]:()=>import("@codemirror/legacy-modes/mode/protobuf").then((({protobuf:e})=>k.define(e))),[Q.puppet]:()=>import("@codemirror/legacy-modes/mode/puppet").then((({puppet:e})=>k.define(e))),[Q.q]:()=>import("@codemirror/legacy-modes/mode/q").then((({q:e})=>k.define(e))),[Q.r]:()=>import("@codemirror/legacy-modes/mode/r").then((({r:e})=>k.define(e))),[Q.rpm]:()=>import("@codemirror/legacy-modes/mode/rpm").then((({rpmSpec:e})=>k.define(e))),[Q.ruby]:()=>import("@codemirror/legacy-modes/mode/ruby").then((({ruby:e})=>k.define(e))),[Q.sas]:()=>import("@codemirror/legacy-modes/mode/sas").then((({sas:e})=>k.define(e))),[Q.scheme]:()=>import("@codemirror/legacy-modes/mode/scheme").then((({scheme:e})=>k.define(e))),[Q.shell]:()=>import("@codemirror/legacy-modes/mode/shell").then((({shell:e})=>k.define(e))),[Q.smalltalk]:()=>import("@codemirror/legacy-modes/mode/smalltalk").then((({smalltalk:e})=>k.define(e))),[Q.solr]:()=>import("@codemirror/legacy-modes/mode/solr").then((({solr:e})=>k.define(e))),[Q.sparql]:()=>import("@codemirror/legacy-modes/mode/sparql").then((({sparql:e})=>k.define(e))),[Q.spreadsheet]:()=>import("@codemirror/legacy-modes/mode/spreadsheet").then((({spreadsheet:e})=>k.define(e))),[Q.stex]:()=>import("@codemirror/legacy-modes/mode/stex").then((({stex:e})=>k.define(e))),[Q.stylus]:()=>import("@codemirror/legacy-modes/mode/stylus").then((({stylus:e})=>k.define(e))),[Q.swift]:()=>import("@codemirror/legacy-modes/mode/swift").then((({swift:e})=>k.define(e))),[Q.tcl]:()=>import("@codemirror/legacy-modes/mode/tcl").then((({tcl:e})=>k.define(e))),[Q.textile]:()=>import("@codemirror/legacy-modes/mode/textile").then((({textile:e})=>k.define(e))),[Q.tiddlywiki]:()=>import("@codemirror/legacy-modes/mode/tiddlywiki").then((({tiddlyWiki:e})=>k.define(e))),[Q.tiki]:()=>import("@codemirror/legacy-modes/mode/tiki").then((({tiki:e})=>k.define(e))),[Q.toml]:()=>import("@codemirror/legacy-modes/mode/toml").then((({toml:e})=>k.define(e))),[Q.troff]:()=>import("@codemirror/legacy-modes/mode/troff").then((({troff:e})=>k.define(e))),[Q.ttcn]:()=>import("@codemirror/legacy-modes/mode/ttcn").then((({ttcn:e})=>k.define(e))),[Q.turtle]:()=>import("@codemirror/legacy-modes/mode/turtle").then((({turtle:e})=>k.define(e))),[Q.vb]:()=>import("@codemirror/legacy-modes/mode/vb").then((({vb:e})=>k.define(e))),[Q.vbscript]:()=>import("@codemirror/legacy-modes/mode/vbscript").then((({vbScript:e})=>k.define(e))),[Q.velocity]:()=>import("@codemirror/legacy-modes/mode/velocity").then((({velocity:e})=>k.define(e))),[Q.verilog]:()=>import("@codemirror/legacy-modes/mode/verilog").then((({verilog:e})=>k.define(e))),[Q.vhdl]:()=>import("@codemirror/legacy-modes/mode/vhdl").then((({vhdl:e})=>k.define(e))),[Q.webidl]:()=>import("@codemirror/legacy-modes/mode/webidl").then((({webIDL:e})=>k.define(e))),[Q.xquery]:()=>import("@codemirror/legacy-modes/mode/xquery").then((({xQuery:e})=>k.define(e))),[Q.yacas]:()=>import("@codemirror/legacy-modes/mode/yacas").then((({yacas:e})=>k.define(e))),[Q.yaml]:()=>import("@codemirror/legacy-modes/mode/yaml").then((({yaml:e})=>k.define(e))),[Q.z80]:()=>import("@codemirror/legacy-modes/mode/z80").then((({z80:e})=>k.define(e)))},Y=new r("codemirror-block"),Z=e=>new t({key:Y,props:{nodeViews:{code_block:J(e)}}});export{P as CodeBlockLanguages,L as CodeBlockNodeName,Q as LegacyLanguages,V as codeBlockArrowHandlers,_ as codeBlockKeymap,U as codeBlockToggleShortcut,Y as codeMirrorBlockKey,J as codeMirrorBlockNodeView,Z as codeMirrorBlockPlugin,H as createCodeBlock,Z as default,G as defaultSettings,K as languageLoaders,X as legacyLanguageLoaders,I as removeCodeBlock,R as toggleCodeBlock};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("prosemirror-state"),a=require("@codemirror/view"),o=require("@codemirror/search"),r=require("@codemirror/language"),t=require("@codemirror/autocomplete"),n=require("@codemirror/commands"),g=require("@codemirror/state"),s=require("prosemirror-commands");function i(e,a,o,r){return new(o||(o=Promise))((function(t,n){function g(e){try{i(r.next(e))}catch(e){n(e)}}function s(e){try{i(r.throw(e))}catch(e){n(e)}}function i(e){var a;e.done?t(e.value):(a=e.value,a instanceof o?a:new o((function(e){e(a)}))).then(g,s)}i((r=r.apply(e,a||[])).next())}))}function c(e,a){if(e===a)return null;let o=0,r=e.length,t=a.length;for(;o<r&&e.charCodeAt(o)===a.charCodeAt(o);)o+=1;for(;r>o&&t>o&&e.charCodeAt(r-1)===a.charCodeAt(t-1);)r-=1,t-=1;return{from:o,to:r,text:a.slice(o,t)}}const m=(a,o,r)=>{if(!a.hasFocus)return;const t=((a,o,r)=>{const t=("function"==typeof r&&r()||0)+1,n=o.state.selection.main.from+t,g=o.state.selection.main.to+t;return e.TextSelection.create(a,n,g)})(o.state.doc,a,r);t.eq(o.state.selection)||o.dispatch(o.state.tr.setSelection(t))},d=(a,o,r,t,n)=>{const g=r.state.selection.main,s=r.state.doc.lineAt(g.from),i=r.state.doc.lines;if(g.to!==g.from||s.number!==(o<0?1:i)||"char"===a&&g.from!==(o<0?0:s.to)||"function"!=typeof n)return!1;t.focus();const c=t.state.doc.nodeAt(n());if(!c)return!1;const m=n()+(o<0?0:c.nodeSize),d=e.Selection.near(t.state.doc.resolve(m),o);return t.dispatch(t.state.tr.setSelection(d).scrollIntoView()),t.focus(),!0},l=(e,a)=>{const{selection:o}=a.state;return!(!o.main.empty||0!==o.main.from)&&(s.setBlockType(e.state.schema.nodes.paragraph)(e.state,e.dispatch),setTimeout((()=>e.focus()),20),!0)},p=(e,a,o,r)=>i(void 0,void 0,void 0,(function*(){var t,n;const g=yield null===(n=null===(t=o.languageLoaders)||void 0===t?void 0:t[e])||void 0===n?void 0:n.call(t);g&&a.dispatch({effects:r.reconfigure(g)})})),u=a=>(o,r,t)=>{if(o.selection.empty&&(null==t?void 0:t.endOfTextblock(a))){const t="left"===a||"up"===a?-1:1,{$head:n}=o.selection,g=e.Selection.near(o.doc.resolve(t>0?n.after():n.before()),t);if(g.$head&&"code_block"===g.$head.parent.type.name)return null==r||r(o.tr.setSelection(g)),!0}return!1},L={ArrowLeft:u("left"),ArrowRight:u("right"),ArrowUp:u("up"),ArrowDown:u("down")},y=e=>(i,u,L)=>{let y=i,f=!1;const h=document.createElement("div");h.className="codeblock-root";const x=new g.Compartment,S=g.EditorState.create({extensions:[g.EditorState.readOnly.of(e.readOnly),a.EditorView.editable.of(!e.readOnly),a.lineNumbers(),a.highlightActiveLineGutter(),r.foldGutter(),r.bracketMatching(),t.closeBrackets(),o.highlightSelectionMatches(),t.autocompletion(),a.rectangularSelection(),a.drawSelection({cursorBlinkRate:1e3}),g.EditorState.allowMultipleSelections.of(!0),a.highlightActiveLine(),r.syntaxHighlighting(r.defaultHighlightStyle,{fallback:!0}),x.of([]),r.indentOnInput(),a.EditorView.domEventHandlers({blur(e,a){a.dispatch({selection:{anchor:0}})}}),a.keymap.of([{key:"Mod-d",run:o.selectNextOccurrence,preventDefault:!0},{key:"ArrowUp",run:e=>d("line",-1,e,u,L)},{key:"ArrowLeft",run:e=>d("char",-1,e,u,L)},{key:"ArrowDown",run:e=>d("line",1,e,u,L)},{key:"ArrowRight",run:e=>d("char",1,e,u,L)},{key:"Mod-z",run:()=>{var a;return(null===(a=e.undo)||void 0===a?void 0:a.call(e,u.state,u.dispatch))||!0},shift:()=>{var a;return(null===(a=e.redo)||void 0===a?void 0:a.call(e,u.state,u.dispatch))||!0}},{key:"Mod-y",run:()=>{var a;return(null===(a=e.redo)||void 0===a?void 0:a.call(e,u.state,u.dispatch))||!0}},{key:"Backspace",run:e=>l(u,e)},{key:"Mod-Backspace",run:e=>l(u,e)},{key:"Mod-a",run:()=>{const e=s.selectAll(u.state,u.dispatch);return u.focus(),e}},{key:"Enter",run:e=>{const a=e.state.selection.main;return""===e.state.doc.line(e.state.doc.lines).text&&a.from===a.to&&a.from===e.state.doc.length&&(s.exitCode(u.state,u.dispatch),u.focus(),!0)}},...n.defaultKeymap,...r.foldKeymap,...t.closeBracketsKeymap,...t.completionKeymap,n.indentWithTab]),...e.theme?e.theme:[]],doc:y.textContent}),k=new a.EditorView({state:S,dispatch:e=>{if(k.update([e]),!f){((e,a,o,r)=>{const t=c(a.textContent,e);if(t&&"function"==typeof o){const e=o()+1;let a=r.state.tr;t.text&&(a=a.replaceWith(e+t.from,e+t.to,r.state.schema.text(t.text))),r.dispatch(a)}})(e.state.toJSON().doc,y,L,u),m(k,u,L)}}});h.append(k.dom);const v=e.createSelect(e,h,y,u,L);return p(y.attrs.lang,k,e,x),{dom:h,selectNode(){k.focus()},stopEvent:a=>e.stopEvent(a,y,L,u,h),setSelection:(e,a)=>{k.focus(),m(k,u,L),f=!0,"function"==typeof L&&L(),k.dispatch({selection:{anchor:e,head:a}}),f=!1},update:a=>{if(a.type.name!==y.type.name)return!1;a.attrs.lang!==y.attrs.lang&&p(a.attrs.lang,k,e,x);const o=y;y=a;const r=c(k.state.doc.toString(),y.textContent);return r&&(f=!0,k.dispatch({changes:{from:r.from,to:r.to,insert:r.text},selection:{anchor:r.from+r.text.length}}),f=!1),e.updateSelect(e,h,a,u,L,o),!0},ignoreMutation:()=>!0,destroy:()=>{v()}}};var f,h;exports.CodeBlockLanguages=void 0,(f=exports.CodeBlockLanguages||(exports.CodeBlockLanguages={})).javascript="javascript",f.html="html",f.css="css",f.sql="sql",f.python="python",f.rust="rust",f.xml="xml",f.json="json",f.markdown="markdown",f.java="java",f.cpp="cpp",f.lezer="lezer",f.php="php",f.wast="wast",exports.LegacyLanguages=void 0,(h=exports.LegacyLanguages||(exports.LegacyLanguages={})).apl="apl",h.asciiarmor="asciiarmor",h.asn1="asn1",h.asterisk="asterisk",h.brainfuck="brainfuck",h.clike="clike",h.clojure="clojure",h.cmake="cmake",h.cobol="cobol",h.coffeescript="coffeescript",h.commonlisp="commonlisp",h.crystal="crystal",h.cypher="cypher",h.d="d",h.diff="diff",h.dockerfile="dockerfile",h.dtd="dtd",h.dylan="dylan",h.ebnf="ebnf",h.ecl="ecl",h.eiffel="eiffel",h.elm="elm",h.erlang="erlang",h.factor="factor",h.fcl="fcl",h.forth="forth",h.fortran="fortran",h.gas="gas",h.gherkin="gherkin",h.go="go",h.groovy="groovy",h.haskell="haskell",h.haxe="haxe",h.http="http",h.idl="idl",h.jinja2="jinja2",h.julia="julia",h.livescript="livescript",h.lua="lua",h.mathematica="mathematica",h.mbox="mbox",h.mirc="mirc",h.mllike="mllike",h.modelica="modelica",h.mscgen="mscgen",h.mumps="mumps",h.nginx="nginx",h.nsis="nsis",h.ntriples="ntriples",h.octave="octave",h.oz="oz",h.pascal="pascal",h.perl="perl",h.pig="pig",h.powershell="powershell",h.properties="properties",h.protobuf="protobuf",h.puppet="puppet",h.q="q",h.r="r",h.rpm="rpm",h.ruby="ruby",h.sas="sas",h.scheme="scheme",h.shell="shell",h.smalltalk="smalltalk",h.solr="solr",h.sparql="sparql",h.spreadsheet="spreadsheet",h.stex="stex",h.stylus="stylus",h.swift="swift",h.tcl="tcl",h.textile="textile",h.tiddlywiki="tiddlywiki",h.tiki="tiki",h.toml="toml",h.troff="troff",h.ttcn="ttcn",h.turtle="turtle",h.vb="vb",h.vbscript="vbscript",h.velocity="velocity",h.verilog="verilog",h.vhdl="vhdl",h.webidl="webidl",h.xquery="xquery",h.yacas="yacas",h.yaml="yaml",h.z80="z80";const x={createSelect:(e,a,o,r,t)=>{var n;if(!e.languageLoaders)return()=>{};const{languageLoaders:g}=e,s=document.createElement("select");s.className="codeblock-select";const c=document.createElement("option");return c.value="none",c.textContent=(null===(n=e.languageNameMap)||void 0===n?void 0:n.none)||"none",s.append(c),Object.keys(g).sort().forEach((a=>{var o;if(e.languageWhitelist&&!e.languageWhitelist.includes(a))return;const r=document.createElement("option");r.value=a,r.textContent=(null===(o=e.languageNameMap)||void 0===o?void 0:o[a])||a,s.append(r)})),s.value=o.attrs.lang||"none",a.prepend(s),s.onchange=e=>i(void 0,void 0,void 0,(function*(){if(!(e.target instanceof HTMLSelectElement))return;const a=e.target.value;"function"==typeof t&&r.dispatch(r.state.tr.setNodeMarkup(t(),void 0,Object.assign(Object.assign({},o.attrs),{lang:a})))})),()=>{}},updateSelect:(e,a,o,r,t,n)=>{if(n.attrs.lang!==o.attrs.lang){const e=a.querySelector(".codeblock-select");if(!(e instanceof HTMLSelectElement))return;e.value=o.attrs.lang||"none"}},stopEvent:()=>!0,readOnly:!1},S={[exports.CodeBlockLanguages.cpp]:()=>import("@codemirror/lang-cpp").then((e=>e.cpp())),[exports.CodeBlockLanguages.css]:()=>import("@codemirror/lang-css").then((e=>e.css())),[exports.CodeBlockLanguages.html]:()=>import("@codemirror/lang-html").then((e=>e.html())),[exports.CodeBlockLanguages.php]:()=>import("@codemirror/lang-php").then((e=>e.php())),[exports.CodeBlockLanguages.sql]:()=>import("@codemirror/lang-sql").then((e=>e.sql())),[exports.CodeBlockLanguages.xml]:()=>import("@codemirror/lang-xml").then((e=>e.xml())),[exports.CodeBlockLanguages.javascript]:()=>import("@codemirror/lang-javascript").then((e=>e.javascript())),[exports.CodeBlockLanguages.java]:()=>import("@codemirror/lang-java").then((e=>e.java())),[exports.CodeBlockLanguages.json]:()=>import("@codemirror/lang-json").then((e=>e.json())),[exports.CodeBlockLanguages.lezer]:()=>import("@codemirror/lang-lezer").then((e=>e.lezer())),[exports.CodeBlockLanguages.markdown]:()=>import("@codemirror/lang-markdown").then((e=>e.markdown())),[exports.CodeBlockLanguages.python]:()=>import("@codemirror/lang-python").then((e=>e.python())),[exports.CodeBlockLanguages.rust]:()=>import("@codemirror/lang-rust").then((e=>e.rust())),[exports.CodeBlockLanguages.wast]:()=>import("@codemirror/lang-wast").then((e=>e.wast()))},k={[exports.LegacyLanguages.apl]:()=>import("@codemirror/legacy-modes/mode/apl").then((({apl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.asciiarmor]:()=>import("@codemirror/legacy-modes/mode/asciiarmor").then((({asciiArmor:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.asn1]:()=>import("@codemirror/legacy-modes/mode/asn1").then((({asn1:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.asterisk]:()=>import("@codemirror/legacy-modes/mode/asterisk").then((({asterisk:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.brainfuck]:()=>import("@codemirror/legacy-modes/mode/brainfuck").then((({brainfuck:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.clike]:()=>import("@codemirror/legacy-modes/mode/clike").then((({clike:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.clojure]:()=>import("@codemirror/legacy-modes/mode/clojure").then((({clojure:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.cmake]:()=>import("@codemirror/legacy-modes/mode/cmake").then((({cmake:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.cobol]:()=>import("@codemirror/legacy-modes/mode/cobol").then((({cobol:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.coffeescript]:()=>import("@codemirror/legacy-modes/mode/coffeescript").then((({coffeeScript:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.commonlisp]:()=>import("@codemirror/legacy-modes/mode/commonlisp").then((({commonLisp:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.crystal]:()=>import("@codemirror/legacy-modes/mode/crystal").then((({crystal:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.cypher]:()=>import("@codemirror/legacy-modes/mode/cypher").then((({cypher:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.d]:()=>import("@codemirror/legacy-modes/mode/d").then((({d:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.diff]:()=>import("@codemirror/legacy-modes/mode/diff").then((({diff:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.dockerfile]:()=>import("@codemirror/legacy-modes/mode/dockerfile").then((({dockerFile:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.dtd]:()=>import("@codemirror/legacy-modes/mode/dtd").then((({dtd:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.dylan]:()=>import("@codemirror/legacy-modes/mode/dylan").then((({dylan:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.ebnf]:()=>import("@codemirror/legacy-modes/mode/ebnf").then((({ebnf:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.ecl]:()=>import("@codemirror/legacy-modes/mode/ecl").then((({ecl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.eiffel]:()=>import("@codemirror/legacy-modes/mode/eiffel").then((({eiffel:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.elm]:()=>import("@codemirror/legacy-modes/mode/elm").then((({elm:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.erlang]:()=>import("@codemirror/legacy-modes/mode/erlang").then((({erlang:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.factor]:()=>import("@codemirror/legacy-modes/mode/factor").then((({factor:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.fcl]:()=>import("@codemirror/legacy-modes/mode/fcl").then((({fcl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.forth]:()=>import("@codemirror/legacy-modes/mode/forth").then((({forth:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.fortran]:()=>import("@codemirror/legacy-modes/mode/fortran").then((({fortran:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.gas]:()=>import("@codemirror/legacy-modes/mode/gas").then((({gas:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.gherkin]:()=>import("@codemirror/legacy-modes/mode/gherkin").then((({gherkin:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.go]:()=>import("@codemirror/legacy-modes/mode/go").then((({go:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.groovy]:()=>import("@codemirror/legacy-modes/mode/groovy").then((({groovy:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.haskell]:()=>import("@codemirror/legacy-modes/mode/haskell").then((({haskell:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.haxe]:()=>import("@codemirror/legacy-modes/mode/haxe").then((({haxe:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.http]:()=>import("@codemirror/legacy-modes/mode/http").then((({http:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.idl]:()=>import("@codemirror/legacy-modes/mode/idl").then((({idl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.jinja2]:()=>import("@codemirror/legacy-modes/mode/jinja2").then((({jinja2:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.julia]:()=>import("@codemirror/legacy-modes/mode/julia").then((({julia:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.livescript]:()=>import("@codemirror/legacy-modes/mode/livescript").then((({liveScript:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.lua]:()=>import("@codemirror/legacy-modes/mode/lua").then((({lua:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mathematica]:()=>import("@codemirror/legacy-modes/mode/mathematica").then((({mathematica:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mbox]:()=>import("@codemirror/legacy-modes/mode/mbox").then((({mbox:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mirc]:()=>import("@codemirror/legacy-modes/mode/mirc").then((({mirc:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mllike]:()=>import("@codemirror/legacy-modes/mode/mllike").then((({oCaml:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.modelica]:()=>import("@codemirror/legacy-modes/mode/modelica").then((({modelica:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mscgen]:()=>import("@codemirror/legacy-modes/mode/mscgen").then((({mscgen:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mumps]:()=>import("@codemirror/legacy-modes/mode/mumps").then((({mumps:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.nginx]:()=>import("@codemirror/legacy-modes/mode/nginx").then((({nginx:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.nsis]:()=>import("@codemirror/legacy-modes/mode/nsis").then((({nsis:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.ntriples]:()=>import("@codemirror/legacy-modes/mode/ntriples").then((({ntriples:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.octave]:()=>import("@codemirror/legacy-modes/mode/octave").then((({octave:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.oz]:()=>import("@codemirror/legacy-modes/mode/oz").then((({oz:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.pascal]:()=>import("@codemirror/legacy-modes/mode/pascal").then((({pascal:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.perl]:()=>import("@codemirror/legacy-modes/mode/perl").then((({perl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.pig]:()=>import("@codemirror/legacy-modes/mode/pig").then((({pig:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.powershell]:()=>import("@codemirror/legacy-modes/mode/powershell").then((({powerShell:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.properties]:()=>import("@codemirror/legacy-modes/mode/properties").then((({properties:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.protobuf]:()=>import("@codemirror/legacy-modes/mode/protobuf").then((({protobuf:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.puppet]:()=>import("@codemirror/legacy-modes/mode/puppet").then((({puppet:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.q]:()=>import("@codemirror/legacy-modes/mode/q").then((({q:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.r]:()=>import("@codemirror/legacy-modes/mode/r").then((({r:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.rpm]:()=>import("@codemirror/legacy-modes/mode/rpm").then((({rpmSpec:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.ruby]:()=>import("@codemirror/legacy-modes/mode/ruby").then((({ruby:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.sas]:()=>import("@codemirror/legacy-modes/mode/sas").then((({sas:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.scheme]:()=>import("@codemirror/legacy-modes/mode/scheme").then((({scheme:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.shell]:()=>import("@codemirror/legacy-modes/mode/shell").then((({shell:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.smalltalk]:()=>import("@codemirror/legacy-modes/mode/smalltalk").then((({smalltalk:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.solr]:()=>import("@codemirror/legacy-modes/mode/solr").then((({solr:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.sparql]:()=>import("@codemirror/legacy-modes/mode/sparql").then((({sparql:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.spreadsheet]:()=>import("@codemirror/legacy-modes/mode/spreadsheet").then((({spreadsheet:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.stex]:()=>import("@codemirror/legacy-modes/mode/stex").then((({stex:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.stylus]:()=>import("@codemirror/legacy-modes/mode/stylus").then((({stylus:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.swift]:()=>import("@codemirror/legacy-modes/mode/swift").then((({swift:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.tcl]:()=>import("@codemirror/legacy-modes/mode/tcl").then((({tcl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.textile]:()=>import("@codemirror/legacy-modes/mode/textile").then((({textile:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.tiddlywiki]:()=>import("@codemirror/legacy-modes/mode/tiddlywiki").then((({tiddlyWiki:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.tiki]:()=>import("@codemirror/legacy-modes/mode/tiki").then((({tiki:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.toml]:()=>import("@codemirror/legacy-modes/mode/toml").then((({toml:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.troff]:()=>import("@codemirror/legacy-modes/mode/troff").then((({troff:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.ttcn]:()=>import("@codemirror/legacy-modes/mode/ttcn").then((({ttcn:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.turtle]:()=>import("@codemirror/legacy-modes/mode/turtle").then((({turtle:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.vb]:()=>import("@codemirror/legacy-modes/mode/vb").then((({vb:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.vbscript]:()=>import("@codemirror/legacy-modes/mode/vbscript").then((({vbScript:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.velocity]:()=>import("@codemirror/legacy-modes/mode/velocity").then((({velocity:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.verilog]:()=>import("@codemirror/legacy-modes/mode/verilog").then((({verilog:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.vhdl]:()=>import("@codemirror/legacy-modes/mode/vhdl").then((({vhdl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.webidl]:()=>import("@codemirror/legacy-modes/mode/webidl").then((({webIDL:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.xquery]:()=>import("@codemirror/legacy-modes/mode/xquery").then((({xQuery:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.yacas]:()=>import("@codemirror/legacy-modes/mode/yacas").then((({yacas:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.yaml]:()=>import("@codemirror/legacy-modes/mode/yaml").then((({yaml:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.z80]:()=>import("@codemirror/legacy-modes/mode/z80").then((({z80:e})=>r.StreamLanguage.define(e)))},v=new e.PluginKey("codemirror-block"),b=a=>new e.Plugin({key:v,props:{nodeViews:{code_block:y(a)}}});exports.codeBlockArrowHandlers=L,exports.codeMirrorBlockKey=v,exports.codeMirrorBlockNodeView=y,exports.codeMirrorBlockPlugin=b,exports.default=b,exports.defaultSettings=x,exports.languageLoaders=S,exports.legacyLanguageLoaders=k;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("prosemirror-state"),o=require("@codemirror/view"),a=require("@codemirror/search"),r=require("@codemirror/language"),t=require("@codemirror/autocomplete"),n=require("@codemirror/commands"),s=require("@codemirror/state"),c=require("prosemirror-commands");function g(e,o,a,r){return new(a||(a=Promise))((function(t,n){function s(e){try{g(r.next(e))}catch(e){n(e)}}function c(e){try{g(r.throw(e))}catch(e){n(e)}}function g(e){var o;e.done?t(e.value):(o=e.value,o instanceof a?o:new a((function(e){e(o)}))).then(s,c)}g((r=r.apply(e,o||[])).next())}))}const i="code_block";function m(e){return null!=e}function d(e,o){if(e===o)return null;let a=0,r=e.length,t=o.length;for(;a<r&&e.charCodeAt(a)===o.charCodeAt(a);)a+=1;for(;r>a&&t>a&&e.charCodeAt(r-1)===o.charCodeAt(t-1);)r-=1,t-=1;return{from:a,to:r,text:o.slice(a,t)}}const l=(o,a,r)=>{if(!o.hasFocus)return;const t=((o,a,r)=>{const t=("function"==typeof r&&r()||0)+1,n=a.state.selection.main.from+t,s=a.state.selection.main.to+t;return e.TextSelection.create(o,n,s)})(a.state.doc,o,r);t.eq(a.state.selection)||a.dispatch(a.state.tr.setSelection(t))},p=(o,a,r,t,n)=>{const s=r.state.selection.main,c=r.state.doc.lineAt(s.from),g=r.state.doc.lines;if(s.to!==s.from||c.number!==(a<0?1:g)||"char"===o&&s.from!==(a<0?0:c.to)||"function"!=typeof n)return!1;t.focus();const i=t.state.doc.nodeAt(n());if(!i)return!1;const m=n()+(a<0?0:i.nodeSize),d=e.Selection.near(t.state.doc.resolve(m),a);return t.dispatch(t.state.tr.setSelection(d).scrollIntoView()),t.focus(),!0},u=(e,o)=>{const{selection:a}=o.state;return!(!a.main.empty||0!==a.main.from)&&(c.setBlockType(e.state.schema.nodes.paragraph)(e.state,e.dispatch),setTimeout((()=>e.focus()),20),!0)},L=(e,o,a,r)=>g(void 0,void 0,void 0,(function*(){var t,n;const s=yield null===(n=null===(t=a.languageLoaders)||void 0===t?void 0:t[e])||void 0===n?void 0:n.call(t);s&&o.dispatch({effects:r.reconfigure(s)})})),y=o=>(a,r,t)=>{if(a.selection.empty&&(null==t?void 0:t.endOfTextblock(o))){const t="left"===o||"up"===o?-1:1,{$head:n}=a.selection,s=e.Selection.near(a.doc.resolve(t>0?n.after():n.before()),t);if(s.$head&&s.$head.parent.type.name===i)return null==r||r(a.tr.setSelection(s)),!0}return!1},f=(o,a,r)=>{const{$from:t,$to:n}=o.selection,s=t.node(t.depth-1);if(s&&s.type.name===i)return!1;if(t.parentOffset===n.parentOffset&&"paragraph"===t.parent.type.name){const n=t.parent.textContent,s=o.tr,c=o.schema.nodes[i].createAndFill(r,n?[o.schema.text(t.parent.textContent)]:[]);if(c&&a){const o=t.before(t.depth);s.delete(o,o+t.parent.nodeSize-1),s.insert(o,c),s.setSelection(e.TextSelection.create(s.doc,t.pos)),a(s)}return!0}if(a){const s=o.tr,c=o.doc.slice(t.before(t.depth),n.after(n.depth),!0),g=c.content.textBetween(0,c.content.size,"\n"),m=o.schema.nodes[i].createAndFill(r,o.schema.text(g));m&&(s.delete(t.before(c.openStart+1),n.after(c.openEnd+1)),s.insert(t.before(c.openStart+1),m),s.setSelection(e.TextSelection.create(s.doc,t.pos,n.pos)),a(s))}return!0},h=(o,a)=>{const{$from:r}=o.selection,t=r.node(r.depth-1);if(t&&t.type.name===i){const n=[];t.child(1).forEach((e=>{n.push(e)}));const s=n.map((e=>o.schema.nodes.paragraph.createAndFill({},[e]))).filter(m),c=o.tr,g=r.before(r.depth-1);c.delete(g,g+t.nodeSize-1),c.insert(g,s),c.setSelection(e.TextSelection.create(c.doc,r.pos-1)),a&&a(c.scrollIntoView())}return!1},x=(e,o,a)=>{const{$from:r}=e.selection,t=r.node(r.depth-1);return t&&t.type.name===i?h(e,o):f(e,o,a)},S={ArrowLeft:y("left"),ArrowRight:y("right"),ArrowUp:y("up"),ArrowDown:y("down")},k={"Mod-Alt-c":x},v=Object.assign(Object.assign({},k),S),b=e=>(g,i,m)=>{let y=g,f=!1;const h=document.createElement("div");h.className="codeblock-root";const x=new s.Compartment,S=s.EditorState.create({extensions:[s.EditorState.readOnly.of(e.readOnly),o.EditorView.editable.of(!e.readOnly),o.lineNumbers(),o.highlightActiveLineGutter(),r.foldGutter(),r.bracketMatching(),t.closeBrackets(),a.highlightSelectionMatches(),t.autocompletion(),o.rectangularSelection(),o.drawSelection({cursorBlinkRate:1e3}),s.EditorState.allowMultipleSelections.of(!0),o.highlightActiveLine(),r.syntaxHighlighting(r.defaultHighlightStyle,{fallback:!0}),x.of([]),r.indentOnInput(),o.EditorView.domEventHandlers({blur(e,o){o.dispatch({selection:{anchor:0}})}}),o.keymap.of([{key:"Mod-d",run:a.selectNextOccurrence,preventDefault:!0},{key:"ArrowUp",run:e=>p("line",-1,e,i,m)},{key:"ArrowLeft",run:e=>p("char",-1,e,i,m)},{key:"ArrowDown",run:e=>p("line",1,e,i,m)},{key:"ArrowRight",run:e=>p("char",1,e,i,m)},{key:"Mod-z",run:()=>{var o;return(null===(o=e.undo)||void 0===o?void 0:o.call(e,i.state,i.dispatch))||!0},shift:()=>{var o;return(null===(o=e.redo)||void 0===o?void 0:o.call(e,i.state,i.dispatch))||!0}},{key:"Mod-y",run:()=>{var o;return(null===(o=e.redo)||void 0===o?void 0:o.call(e,i.state,i.dispatch))||!0}},{key:"Backspace",run:e=>u(i,e)},{key:"Mod-Backspace",run:e=>u(i,e)},{key:"Mod-a",run:()=>{const e=c.selectAll(i.state,i.dispatch);return i.focus(),e}},{key:"Enter",run:e=>{const o=e.state.selection.main;return""===e.state.doc.line(e.state.doc.lines).text&&o.from===o.to&&o.from===e.state.doc.length&&(c.exitCode(i.state,i.dispatch),i.focus(),!0)}},...n.defaultKeymap,...r.foldKeymap,...t.closeBracketsKeymap,...t.completionKeymap,n.indentWithTab]),...e.theme?e.theme:[]],doc:y.textContent}),k=new o.EditorView({state:S,dispatch:e=>{if(k.update([e]),!f){((e,o,a,r)=>{const t=d(o.textContent,e);if(t&&"function"==typeof a){const e=a()+1;let o=r.state.tr;o=o.replaceWith(e+t.from,e+t.to,t.text?r.state.schema.text(t.text):[]),r.dispatch(o)}})(e.state.toJSON().doc,y,m,i),l(k,i,m)}}});h.append(k.dom);const v=e.createSelect(e,h,y,i,m);return L(y.attrs.lang,k,e,x),{dom:h,selectNode(){k.focus()},stopEvent:o=>e.stopEvent(o,y,m,i,h),setSelection:(e,o)=>{k.focus(),l(k,i,m),f=!0,"function"==typeof m&&m(),k.dispatch({selection:{anchor:e,head:o}}),f=!1},update:o=>{if(o.type.name!==y.type.name)return!1;o.attrs.lang!==y.attrs.lang&&L(o.attrs.lang,k,e,x);const a=y;y=o;const r=d(k.state.doc.toString(),y.textContent);return r&&(f=!0,k.dispatch({changes:{from:r.from,to:r.to,insert:r.text},selection:{anchor:r.from+r.text.length}}),f=!1),e.updateSelect(e,h,o,i,m,a),!0},ignoreMutation:()=>!0,destroy:()=>{v()}}};var w,j;exports.CodeBlockLanguages=void 0,(w=exports.CodeBlockLanguages||(exports.CodeBlockLanguages={})).javascript="javascript",w.html="html",w.css="css",w.sql="sql",w.python="python",w.rust="rust",w.xml="xml",w.json="json",w.markdown="markdown",w.java="java",w.cpp="cpp",w.lezer="lezer",w.php="php",w.wast="wast",exports.LegacyLanguages=void 0,(j=exports.LegacyLanguages||(exports.LegacyLanguages={})).apl="apl",j.asciiarmor="asciiarmor",j.asn1="asn1",j.asterisk="asterisk",j.brainfuck="brainfuck",j.clike="clike",j.clojure="clojure",j.cmake="cmake",j.cobol="cobol",j.coffeescript="coffeescript",j.commonlisp="commonlisp",j.crystal="crystal",j.cypher="cypher",j.d="d",j.diff="diff",j.dockerfile="dockerfile",j.dtd="dtd",j.dylan="dylan",j.ebnf="ebnf",j.ecl="ecl",j.eiffel="eiffel",j.elm="elm",j.erlang="erlang",j.factor="factor",j.fcl="fcl",j.forth="forth",j.fortran="fortran",j.gas="gas",j.gherkin="gherkin",j.go="go",j.groovy="groovy",j.haskell="haskell",j.haxe="haxe",j.http="http",j.idl="idl",j.jinja2="jinja2",j.julia="julia",j.livescript="livescript",j.lua="lua",j.mathematica="mathematica",j.mbox="mbox",j.mirc="mirc",j.mllike="mllike",j.modelica="modelica",j.mscgen="mscgen",j.mumps="mumps",j.nginx="nginx",j.nsis="nsis",j.ntriples="ntriples",j.octave="octave",j.oz="oz",j.pascal="pascal",j.perl="perl",j.pig="pig",j.powershell="powershell",j.properties="properties",j.protobuf="protobuf",j.puppet="puppet",j.q="q",j.r="r",j.rpm="rpm",j.ruby="ruby",j.sas="sas",j.scheme="scheme",j.shell="shell",j.smalltalk="smalltalk",j.solr="solr",j.sparql="sparql",j.spreadsheet="spreadsheet",j.stex="stex",j.stylus="stylus",j.swift="swift",j.tcl="tcl",j.textile="textile",j.tiddlywiki="tiddlywiki",j.tiki="tiki",j.toml="toml",j.troff="troff",j.ttcn="ttcn",j.turtle="turtle",j.vb="vb",j.vbscript="vbscript",j.velocity="velocity",j.verilog="verilog",j.vhdl="vhdl",j.webidl="webidl",j.xquery="xquery",j.yacas="yacas",j.yaml="yaml",j.z80="z80";const C={createSelect:(e,o,a,r,t)=>{var n;if(!e.languageLoaders)return()=>{};const{languageLoaders:s}=e,c=document.createElement("select");c.className="codeblock-select";const i=document.createElement("option");return i.value="none",i.textContent=(null===(n=e.languageNameMap)||void 0===n?void 0:n.none)||"none",c.append(i),Object.keys(s).sort().forEach((o=>{var a;if(e.languageWhitelist&&!e.languageWhitelist.includes(o))return;const r=document.createElement("option");r.value=o,r.textContent=(null===(a=e.languageNameMap)||void 0===a?void 0:a[o])||o,c.append(r)})),c.value=a.attrs.lang||"none",o.prepend(c),c.onchange=e=>g(void 0,void 0,void 0,(function*(){if(!(e.target instanceof HTMLSelectElement))return;const o=e.target.value;"function"==typeof t&&r.dispatch(r.state.tr.setNodeMarkup(t(),void 0,Object.assign(Object.assign({},a.attrs),{lang:o})))})),()=>{}},updateSelect:(e,o,a,r,t,n)=>{if(n.attrs.lang!==a.attrs.lang){const e=o.querySelector(".codeblock-select");if(!(e instanceof HTMLSelectElement))return;e.value=a.attrs.lang||"none"}},stopEvent:()=>!0,readOnly:!1},B={[exports.CodeBlockLanguages.cpp]:()=>import("@codemirror/lang-cpp").then((e=>e.cpp())),[exports.CodeBlockLanguages.css]:()=>import("@codemirror/lang-css").then((e=>e.css())),[exports.CodeBlockLanguages.html]:()=>import("@codemirror/lang-html").then((e=>e.html())),[exports.CodeBlockLanguages.php]:()=>import("@codemirror/lang-php").then((e=>e.php())),[exports.CodeBlockLanguages.sql]:()=>import("@codemirror/lang-sql").then((e=>e.sql())),[exports.CodeBlockLanguages.xml]:()=>import("@codemirror/lang-xml").then((e=>e.xml())),[exports.CodeBlockLanguages.javascript]:()=>import("@codemirror/lang-javascript").then((e=>e.javascript())),[exports.CodeBlockLanguages.java]:()=>import("@codemirror/lang-java").then((e=>e.java())),[exports.CodeBlockLanguages.json]:()=>import("@codemirror/lang-json").then((e=>e.json())),[exports.CodeBlockLanguages.lezer]:()=>import("@codemirror/lang-lezer").then((e=>e.lezer())),[exports.CodeBlockLanguages.markdown]:()=>import("@codemirror/lang-markdown").then((e=>e.markdown())),[exports.CodeBlockLanguages.python]:()=>import("@codemirror/lang-python").then((e=>e.python())),[exports.CodeBlockLanguages.rust]:()=>import("@codemirror/lang-rust").then((e=>e.rust())),[exports.CodeBlockLanguages.wast]:()=>import("@codemirror/lang-wast").then((e=>e.wast()))},q={[exports.LegacyLanguages.apl]:()=>import("@codemirror/legacy-modes/mode/apl").then((({apl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.asciiarmor]:()=>import("@codemirror/legacy-modes/mode/asciiarmor").then((({asciiArmor:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.asn1]:()=>import("@codemirror/legacy-modes/mode/asn1").then((({asn1:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.asterisk]:()=>import("@codemirror/legacy-modes/mode/asterisk").then((({asterisk:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.brainfuck]:()=>import("@codemirror/legacy-modes/mode/brainfuck").then((({brainfuck:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.clike]:()=>import("@codemirror/legacy-modes/mode/clike").then((({clike:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.clojure]:()=>import("@codemirror/legacy-modes/mode/clojure").then((({clojure:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.cmake]:()=>import("@codemirror/legacy-modes/mode/cmake").then((({cmake:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.cobol]:()=>import("@codemirror/legacy-modes/mode/cobol").then((({cobol:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.coffeescript]:()=>import("@codemirror/legacy-modes/mode/coffeescript").then((({coffeeScript:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.commonlisp]:()=>import("@codemirror/legacy-modes/mode/commonlisp").then((({commonLisp:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.crystal]:()=>import("@codemirror/legacy-modes/mode/crystal").then((({crystal:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.cypher]:()=>import("@codemirror/legacy-modes/mode/cypher").then((({cypher:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.d]:()=>import("@codemirror/legacy-modes/mode/d").then((({d:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.diff]:()=>import("@codemirror/legacy-modes/mode/diff").then((({diff:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.dockerfile]:()=>import("@codemirror/legacy-modes/mode/dockerfile").then((({dockerFile:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.dtd]:()=>import("@codemirror/legacy-modes/mode/dtd").then((({dtd:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.dylan]:()=>import("@codemirror/legacy-modes/mode/dylan").then((({dylan:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.ebnf]:()=>import("@codemirror/legacy-modes/mode/ebnf").then((({ebnf:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.ecl]:()=>import("@codemirror/legacy-modes/mode/ecl").then((({ecl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.eiffel]:()=>import("@codemirror/legacy-modes/mode/eiffel").then((({eiffel:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.elm]:()=>import("@codemirror/legacy-modes/mode/elm").then((({elm:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.erlang]:()=>import("@codemirror/legacy-modes/mode/erlang").then((({erlang:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.factor]:()=>import("@codemirror/legacy-modes/mode/factor").then((({factor:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.fcl]:()=>import("@codemirror/legacy-modes/mode/fcl").then((({fcl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.forth]:()=>import("@codemirror/legacy-modes/mode/forth").then((({forth:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.fortran]:()=>import("@codemirror/legacy-modes/mode/fortran").then((({fortran:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.gas]:()=>import("@codemirror/legacy-modes/mode/gas").then((({gas:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.gherkin]:()=>import("@codemirror/legacy-modes/mode/gherkin").then((({gherkin:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.go]:()=>import("@codemirror/legacy-modes/mode/go").then((({go:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.groovy]:()=>import("@codemirror/legacy-modes/mode/groovy").then((({groovy:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.haskell]:()=>import("@codemirror/legacy-modes/mode/haskell").then((({haskell:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.haxe]:()=>import("@codemirror/legacy-modes/mode/haxe").then((({haxe:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.http]:()=>import("@codemirror/legacy-modes/mode/http").then((({http:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.idl]:()=>import("@codemirror/legacy-modes/mode/idl").then((({idl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.jinja2]:()=>import("@codemirror/legacy-modes/mode/jinja2").then((({jinja2:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.julia]:()=>import("@codemirror/legacy-modes/mode/julia").then((({julia:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.livescript]:()=>import("@codemirror/legacy-modes/mode/livescript").then((({liveScript:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.lua]:()=>import("@codemirror/legacy-modes/mode/lua").then((({lua:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mathematica]:()=>import("@codemirror/legacy-modes/mode/mathematica").then((({mathematica:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mbox]:()=>import("@codemirror/legacy-modes/mode/mbox").then((({mbox:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mirc]:()=>import("@codemirror/legacy-modes/mode/mirc").then((({mirc:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mllike]:()=>import("@codemirror/legacy-modes/mode/mllike").then((({oCaml:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.modelica]:()=>import("@codemirror/legacy-modes/mode/modelica").then((({modelica:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mscgen]:()=>import("@codemirror/legacy-modes/mode/mscgen").then((({mscgen:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.mumps]:()=>import("@codemirror/legacy-modes/mode/mumps").then((({mumps:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.nginx]:()=>import("@codemirror/legacy-modes/mode/nginx").then((({nginx:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.nsis]:()=>import("@codemirror/legacy-modes/mode/nsis").then((({nsis:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.ntriples]:()=>import("@codemirror/legacy-modes/mode/ntriples").then((({ntriples:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.octave]:()=>import("@codemirror/legacy-modes/mode/octave").then((({octave:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.oz]:()=>import("@codemirror/legacy-modes/mode/oz").then((({oz:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.pascal]:()=>import("@codemirror/legacy-modes/mode/pascal").then((({pascal:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.perl]:()=>import("@codemirror/legacy-modes/mode/perl").then((({perl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.pig]:()=>import("@codemirror/legacy-modes/mode/pig").then((({pig:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.powershell]:()=>import("@codemirror/legacy-modes/mode/powershell").then((({powerShell:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.properties]:()=>import("@codemirror/legacy-modes/mode/properties").then((({properties:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.protobuf]:()=>import("@codemirror/legacy-modes/mode/protobuf").then((({protobuf:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.puppet]:()=>import("@codemirror/legacy-modes/mode/puppet").then((({puppet:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.q]:()=>import("@codemirror/legacy-modes/mode/q").then((({q:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.r]:()=>import("@codemirror/legacy-modes/mode/r").then((({r:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.rpm]:()=>import("@codemirror/legacy-modes/mode/rpm").then((({rpmSpec:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.ruby]:()=>import("@codemirror/legacy-modes/mode/ruby").then((({ruby:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.sas]:()=>import("@codemirror/legacy-modes/mode/sas").then((({sas:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.scheme]:()=>import("@codemirror/legacy-modes/mode/scheme").then((({scheme:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.shell]:()=>import("@codemirror/legacy-modes/mode/shell").then((({shell:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.smalltalk]:()=>import("@codemirror/legacy-modes/mode/smalltalk").then((({smalltalk:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.solr]:()=>import("@codemirror/legacy-modes/mode/solr").then((({solr:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.sparql]:()=>import("@codemirror/legacy-modes/mode/sparql").then((({sparql:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.spreadsheet]:()=>import("@codemirror/legacy-modes/mode/spreadsheet").then((({spreadsheet:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.stex]:()=>import("@codemirror/legacy-modes/mode/stex").then((({stex:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.stylus]:()=>import("@codemirror/legacy-modes/mode/stylus").then((({stylus:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.swift]:()=>import("@codemirror/legacy-modes/mode/swift").then((({swift:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.tcl]:()=>import("@codemirror/legacy-modes/mode/tcl").then((({tcl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.textile]:()=>import("@codemirror/legacy-modes/mode/textile").then((({textile:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.tiddlywiki]:()=>import("@codemirror/legacy-modes/mode/tiddlywiki").then((({tiddlyWiki:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.tiki]:()=>import("@codemirror/legacy-modes/mode/tiki").then((({tiki:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.toml]:()=>import("@codemirror/legacy-modes/mode/toml").then((({toml:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.troff]:()=>import("@codemirror/legacy-modes/mode/troff").then((({troff:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.ttcn]:()=>import("@codemirror/legacy-modes/mode/ttcn").then((({ttcn:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.turtle]:()=>import("@codemirror/legacy-modes/mode/turtle").then((({turtle:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.vb]:()=>import("@codemirror/legacy-modes/mode/vb").then((({vb:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.vbscript]:()=>import("@codemirror/legacy-modes/mode/vbscript").then((({vbScript:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.velocity]:()=>import("@codemirror/legacy-modes/mode/velocity").then((({velocity:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.verilog]:()=>import("@codemirror/legacy-modes/mode/verilog").then((({verilog:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.vhdl]:()=>import("@codemirror/legacy-modes/mode/vhdl").then((({vhdl:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.webidl]:()=>import("@codemirror/legacy-modes/mode/webidl").then((({webIDL:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.xquery]:()=>import("@codemirror/legacy-modes/mode/xquery").then((({xQuery:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.yacas]:()=>import("@codemirror/legacy-modes/mode/yacas").then((({yacas:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.yaml]:()=>import("@codemirror/legacy-modes/mode/yaml").then((({yaml:e})=>r.StreamLanguage.define(e))),[exports.LegacyLanguages.z80]:()=>import("@codemirror/legacy-modes/mode/z80").then((({z80:e})=>r.StreamLanguage.define(e)))},A=new e.PluginKey("codemirror-block"),z=o=>new e.Plugin({key:A,props:{nodeViews:{code_block:b(o)}}});exports.CodeBlockNodeName=i,exports.codeBlockArrowHandlers=S,exports.codeBlockKeymap=v,exports.codeBlockToggleShortcut=k,exports.codeMirrorBlockKey=A,exports.codeMirrorBlockNodeView=b,exports.codeMirrorBlockPlugin=z,exports.createCodeBlock=f,exports.default=z,exports.defaultSettings=C,exports.languageLoaders=B,exports.legacyLanguageLoaders=q,exports.removeCodeBlock=h,exports.toggleCodeBlock=x;
package/dist/utils.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- import { TextSelection, EditorState, Transaction } from "prosemirror-state";
1
+ import { TextSelection, EditorState, Command } from "prosemirror-state";
2
2
  import { EditorView as PMEditorView } from "prosemirror-view";
3
3
  import { Node } from "prosemirror-model";
4
4
  import { EditorView } from "@codemirror/view";
5
5
  import { Compartment } from "@codemirror/state";
6
6
  import { CodeBlockSettings } from "./types";
7
+ export declare const CodeBlockNodeName = "code_block";
7
8
  export declare function computeChange(oldVal: string, newVal: string): {
8
9
  from: number;
9
10
  to: number;
@@ -15,9 +16,22 @@ export declare const valueChanged: (textUpdate: string, node: Node, getPos: (()
15
16
  export declare const maybeEscape: (unit: "char" | "line", dir: -1 | 1, cm: EditorView, view: PMEditorView, getPos: boolean | (() => number)) => boolean;
16
17
  export declare const backspaceHandler: (pmView: PMEditorView, view: EditorView) => boolean;
17
18
  export declare const setMode: (lang: string, cmView: EditorView, settings: CodeBlockSettings, languageConf: Compartment) => Promise<void>;
19
+ export declare const createCodeBlock: (state: EditorState, dispatch: ((args?: any) => any) | undefined, attributes: any) => boolean;
20
+ export declare const removeCodeBlock: (state: EditorState, dispatch: ((args?: any) => any) | undefined) => boolean;
21
+ export declare const toggleCodeBlock: Command;
18
22
  export declare const codeBlockArrowHandlers: {
19
- ArrowLeft: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: PMEditorView) => boolean;
20
- ArrowRight: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: PMEditorView) => boolean;
21
- ArrowUp: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: PMEditorView) => boolean;
22
- ArrowDown: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: PMEditorView) => boolean;
23
+ ArrowLeft: Command;
24
+ ArrowRight: Command;
25
+ ArrowUp: Command;
26
+ ArrowDown: Command;
27
+ };
28
+ export declare const codeBlockToggleShortcut: {
29
+ "Mod-Alt-c": Command;
30
+ };
31
+ export declare const codeBlockKeymap: {
32
+ ArrowLeft: Command;
33
+ ArrowRight: Command;
34
+ ArrowUp: Command;
35
+ ArrowDown: Command;
36
+ "Mod-Alt-c": Command;
23
37
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prosemirror-codemirror-block",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "ProseMirror CodeMirror code block plugin",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
@@ -16,7 +16,6 @@
16
16
  "lint": "tsc --noEmit && eslint src --ext .ts",
17
17
  "test": "echo \"no test specified\" && exit 0",
18
18
  "upgrade-interactive": "npm-check --update",
19
- "install-peers": "npm-install-peers",
20
19
  "publish:np": "np"
21
20
  },
22
21
  "repository": {
@@ -83,7 +82,6 @@
83
82
  "eslint-plugin-react": "^7.31.11",
84
83
  "np": "^7.6.2",
85
84
  "npm-check": "^6.0.1",
86
- "npm-install-peers": "^1.2.2",
87
85
  "prettier": "^2.8.1",
88
86
  "rollup": "^3.7.4",
89
87
  "rollup-plugin-minification": "^0.2.0",