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 +12 -9
- package/dist/index.d.ts +2 -2
- package/dist/index.es.js +1 -1
- package/dist/index.js +1 -1
- package/dist/utils.d.ts +19 -5
- package/package.json +1 -3
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
|
-
|
|
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 =
|
|
39
|
+
const codeBlockSpec = BasicSchema.spec.nodes.get(CodeBlockNodeName);
|
|
37
40
|
|
|
38
|
-
export
|
|
39
|
-
nodes:
|
|
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:
|
|
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:
|
|
71
|
+
type: CodeBlockNodeName,
|
|
69
72
|
},
|
|
70
73
|
],
|
|
71
74
|
type: "doc",
|
|
72
75
|
};
|
|
73
76
|
|
|
74
77
|
|
|
75
|
-
const state = EditorState.create
|
|
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(
|
|
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,
|
|
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:
|
|
20
|
-
ArrowRight:
|
|
21
|
-
ArrowUp:
|
|
22
|
-
ArrowDown:
|
|
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
|
+
"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",
|