prosemirror-codemirror-block 0.0.9 → 0.2.3

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.
@@ -1,4 +1,4 @@
1
1
  import { Node } from "prosemirror-model";
2
2
  import { EditorView as PMEditorView, NodeView } from "prosemirror-view";
3
3
  import { CodeBlockSettings } from "./types";
4
- export declare const codeMirrorBlockNodeView: (settings: CodeBlockSettings) => (node: Node, view: PMEditorView, getPos: (() => number) | boolean) => NodeView;
4
+ export declare const codeMirrorBlockNodeView: (settings: CodeBlockSettings) => (pmNode: Node, view: PMEditorView, getPos: (() => number) | boolean) => NodeView;
@@ -1,6 +1,5 @@
1
- import { Editor } from "codemirror";
2
1
  import { Node } from "prosemirror-model";
3
2
  import { EditorView } from "prosemirror-view";
4
3
  import { CodeBlockSettings } from "./types";
5
- export declare const defaultCreateSelect: (settings: CodeBlockSettings, dom: HTMLElement, cm: Editor, node: Node, view: EditorView, getPos: (() => number) | boolean) => () => void;
4
+ export declare const defaultCreateSelect: (settings: CodeBlockSettings, dom: HTMLElement, node: Node, view: EditorView, getPos: (() => number) | boolean) => () => void;
6
5
  export declare const defaultSettings: CodeBlockSettings;
package/dist/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import{Selection as r,TextSelection as o,PluginKey as e,Plugin as t}from"prosemirror-state";import i from"codemirror";import{exitCode as m}from"prosemirror-commands";
1
+ import{Selection as t,TextSelection as e,PluginKey as o,Plugin as r}from"prosemirror-state";import{lineNumbers as n,highlightActiveLineGutter as a}from"@codemirror/gutter";import{closeBrackets as c,closeBracketsKeymap as s}from"@codemirror/closebrackets";import{drawSelection as i,highlightActiveLine as l,EditorView as m,keymap as d}from"@codemirror/view";import{highlightSelectionMatches as p,selectNextOccurrence as u}from"@codemirror/search";import{foldGutter as f,foldKeymap as h}from"@codemirror/fold";import{indentOnInput as g}from"@codemirror/language";import{autocompletion as v,completionKeymap as y}from"@codemirror/autocomplete";import{defaultKeymap as w,indentWithTab as k}from"@codemirror/commands";import{commentKeymap as x}from"@codemirror/comment";import{defaultHighlightStyle as j}from"@codemirror/highlight";import{rectangularSelection as b}from"@codemirror/rectangular-selection";import{bracketMatching as S}from"@codemirror/matchbrackets";import{Compartment as A,EditorState as M}from"@codemirror/state";import{setBlockType as q,selectAll as E}from"prosemirror-commands";
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,4 +12,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function d(r,o,e,t){return new(e||(e=Promise))((function(i,m){function d(r){try{l(t.next(r))}catch(r){m(r)}}function c(r){try{l(t.throw(r))}catch(r){m(r)}}function l(r){var o;r.done?i(r.value):(o=r.value,o instanceof e?o:new e((function(r){r(o)}))).then(d,c)}l((t=t.apply(r,o||[])).next())}))}const c=r=>"function"==typeof r&&r()||0;function l(r,o){if(r===o)return null;let e=0,t=r.length,i=o.length;for(;e<t&&r.charCodeAt(e)===o.charCodeAt(e);)e+=1;for(;t>e&&i>e&&r.charCodeAt(t-1)===o.charCodeAt(i-1);)t-=1,i-=1;return{from:e,to:t,text:o.slice(e,i)}}const a=(r,e,t)=>{if(!r.hasFocus())return;const i=((r,e,t)=>{const i=c(t)+1,m=e.indexFromPos(e.getCursor("anchor"))+i,d=e.indexFromPos(e.getCursor("head"))+i;return o.create(r.state.doc,m,d)})(e,r,t);i.eq(e.state.selection)||e.dispatch(e.state.tr.setSelection(i))},s=(o,e,t,m,d,l)=>{const a=m(),s=l(),p=a.getCursor();if(a.somethingSelected()||p.line!==(e<0?a.firstLine():a.lastLine())||"char"===o&&p.ch!==(e<0?0:a.getLine(p.line).length))return i.Pass;t.focus();const n=c(d)+(e<0?0:s.nodeSize),f=r.near(t.state.doc.resolve(n),e);t.dispatch(t.state.tr.setSelection(f).scrollIntoView()),t.focus()},p=(r,o,e,t,d)=>{const c=/Mac/.test(navigator.platform)?"Cmd":"Ctrl";return i.normalizeKeyMap({Up:()=>s("line",-1,o,r,e,t),Left:()=>s("char",-1,o,r,e,t),Down:()=>s("line",1,o,r,e,t),Right:()=>s("char",1,o,r,e,t),"Ctrl-Enter":()=>{m(o.state,o.dispatch)&&o.focus()},[c+"-Z"]:()=>{var r;return null===(r=d.undo)||void 0===r?void 0:r.call(d,o.state,o.dispatch)},[`Shift-${c}-Z`]:()=>{var r;return null===(r=d.redo)||void 0===r?void 0:r.call(d,o.state,o.dispatch)},[c+"-Y"]:()=>{var r;return null===(r=d.redo)||void 0===r?void 0:r.call(d,o.state,o.dispatch)}})},n=o=>(e,t,i)=>{if(e.selection.empty&&(null==i?void 0:i.endOfTextblock(o))){const i="left"===o||"up"===o?-1:1,{$head:m}=e.selection,d=r.near(e.doc.resolve(i>0?m.after():m.before()),i);if(d.$head&&"code_block"===d.$head.parent.type.name)return null==t||t(e.tr.setSelection(d)),!0}return!1},f={ArrowLeft:n("left"),ArrowRight:n("right"),ArrowUp:n("up"),ArrowDown:n("down")},u=(r,o,e)=>d(void 0,void 0,void 0,(function*(){var t,i;"none"!==r?(yield null===(i=null===(t=e.languageLoaders)||void 0===t?void 0:t[r])||void 0===i?void 0:i.call(t),o.setOption("mode",r)):o.setOption("mode",void 0)})),h=r=>(e,t,m)=>{let d,s=e,n=!1,f=!1;const h=document.createElement("div");h.className="codeblock-root",d=i(h,{value:s.textContent,lineNumbers:!0,extraKeys:p((()=>d),t,m,(()=>s),r)});const g=r.createSelect(r,h,d,s,t,m);return setTimeout((()=>d.refresh()),20),u(s.attrs.lang,d,r),d.on("beforeChange",(()=>{f=!0})),d.on("cursorActivity",(()=>{n||f||a(d,t,m)})),d.on("keydown",((r,e)=>{if(("Backspace"===e.key||"Delete"===e.key)&&""===r.getValue()&&"function"==typeof m){const r=m();t.dispatch(t.state.tr.delete(r,r+s.nodeSize)),setTimeout((()=>{t.focus(),t.dispatch(t.state.tr.setSelection(o.create(t.state.doc,r-1,r-1)))}),0)}})),d.on("changes",(()=>{n||(((r,o,e,t)=>{const i=l(o.textContent,r.getValue());if(i){const r=c(e)+1,o=t.state.tr.replaceWith(r+i.from,r+i.to,i.text?t.state.schema.text(i.text):null);t.dispatch(o)}})(d,s,m,t),a(d,t,m)),f=!1})),d.on("focus",(()=>a(d,t,m))),{dom:h,selectNode(){d.focus()},stopEvent:()=>!0,setSelection(r,o){d.focus(),n=!0,d.setSelection(d.posFromIndex(r),d.posFromIndex(o)),n=!1},update(o){if(o.type!==s.type)return!1;o.attrs.lang!==s.attrs.lang&&u(o.attrs.lang,d,r);const e=s;s=o;const i=l(d.getValue(),s.textContent);return i&&(n=!0,d.replaceRange(i.text,d.posFromIndex(i.from),d.posFromIndex(i.to)),n=!1),r.updateSelect(r,h,d,o,t,m,e),!0},destroy:()=>{g()}}};var g;!function(r){r.apl="apl",r.dockerfile="dockerfile",r.handlebars="handlebars",r.mirc="mirc",r.pug="pug",r.soy="soy",r.vb="vb",r.asciiarmor="asciiarmor",r.dtd="dtd",r.haskell="haskell",r.mllike="mllike",r.puppet="puppet",r.sparql="sparql",r.vbscript="vbscript",r["asn.1"]="asn.1",r.dylan="dylan",r["haskell-literate"]="haskell-literate",r.modelica="modelica",r.python="python",r.spreadsheet="spreadsheet",r.velocity="velocity",r.asterisk="asterisk",r.ebnf="ebnf",r.haxe="haxe",r.mscgen="mscgen",r.q="q",r.sql="sql",r.verilog="verilog",r.brainfuck="brainfuck",r.ecl="ecl",r.htmlembedded="htmlembedded",r.mumps="mumps",r.r="r",r.stex="stex",r.vhdl="vhdl",r.clike="clike",r.eiffel="eiffel",r.htmlmixed="htmlmixed",r.nginx="nginx",r.rpm="rpm",r.stylus="stylus",r.vue="vue",r.clojure="clojure",r.elm="elm",r.http="http",r.nsis="nsis",r.rst="rst",r.swift="swift",r.wast="wast",r.cmake="cmake",r.erlang="erlang",r.idl="idl",r.ntriples="ntriples",r.ruby="ruby",r.tcl="tcl",r.webidl="webidl",r.cobol="cobol",r.factor="factor",r.javascript="javascript",r.octave="octave",r.rust="rust",r.textile="textile",r.xml="xml",r.coffeescript="coffeescript",r.fcl="fcl",r.jinja2="jinja2",r.oz="oz",r.sas="sas",r.tiddlywiki="tiddlywiki",r.xquery="xquery",r.commonlisp="commonlisp",r.forth="forth",r.jsx="jsx",r.pascal="pascal",r.sass="sass",r.tiki="tiki",r.yacas="yacas",r.crystal="crystal",r.fortran="fortran",r.julia="julia",r.pegjs="pegjs",r.scheme="scheme",r.toml="toml",r.yaml="yaml",r.css="css",r.gas="gas",r.livescript="livescript",r.perl="perl",r.shell="shell",r.tornado="tornado",r["yaml-frontmatter"]="yaml-frontmatter",r.cypher="cypher",r.gfm="gfm",r.lua="lua",r.php="php",r.sieve="sieve",r.troff="troff",r.z80="z80",r.d="d",r.gherkin="gherkin",r.markdown="markdown",r.pig="pig",r.slim="slim",r.ttcn="ttcn",r.dart="dart",r.go="go",r.mathematica="mathematica",r.powershell="powershell",r.smalltalk="smalltalk",r["ttcn-cfg"]="ttcn-cfg",r.diff="diff",r.groovy="groovy",r.mbox="mbox",r.properties="properties",r.smarty="smarty",r.turtle="turtle",r.django="django",r.haml="haml",r.protobuf="protobuf",r.solr="solr",r.twig="twig"}(g||(g={}));const v={createSelect:(r,o,e,t,i,m)=>{var c;if(!r.languageLoaders)return()=>{};const{languageLoaders:l}=r,a=document.createElement("select");a.className="codeblock-select";const s=document.createElement("option");return s.value="none",s.textContent=(null===(c=r.languageNameMap)||void 0===c?void 0:c.none)||"none",a.append(s),Object.keys(l).sort().forEach((o=>{var e;if(r.languageWhitelist&&!r.languageWhitelist.includes(o))return;const t=document.createElement("option");t.value=o,t.textContent=(null===(e=r.languageNameMap)||void 0===e?void 0:e[o])||o,a.append(t)})),a.value=t.attrs.lang||"none",o.prepend(a),a.onchange=r=>d(void 0,void 0,void 0,(function*(){if(!(r.target instanceof HTMLSelectElement))return;const o=r.target.value;"function"==typeof m&&i.dispatch(i.state.tr.setNodeMarkup(m(),void 0,Object.assign(Object.assign({},t.attrs),{lang:o})))})),()=>{}},updateSelect:(r,o,e,t,i,m,d)=>{if(d.attrs.lang!==t.attrs.lang){const r=o.querySelector(".codeblock-select");if(!(r instanceof HTMLSelectElement))return;r.value=t.attrs.lang||"none"}}},y={[g.apl]:()=>import("codemirror/mode/apl/apl"),[g.dockerfile]:()=>import("codemirror/mode/dockerfile/dockerfile"),[g.handlebars]:()=>import("codemirror/mode/handlebars/handlebars"),[g.mirc]:()=>import("codemirror/mode/mirc/mirc"),[g.pug]:()=>import("codemirror/mode/pug/pug"),[g.soy]:()=>import("codemirror/mode/soy/soy"),[g.vb]:()=>import("codemirror/mode/vb/vb"),[g.asciiarmor]:()=>import("codemirror/mode/asciiarmor/asciiarmor"),[g.dtd]:()=>import("codemirror/mode/dtd/dtd"),[g.haskell]:()=>import("codemirror/mode/haskell/haskell"),[g.mllike]:()=>import("codemirror/mode/mllike/mllike"),[g.puppet]:()=>import("codemirror/mode/puppet/puppet"),[g.sparql]:()=>import("codemirror/mode/sparql/sparql"),[g.vbscript]:()=>import("codemirror/mode/vbscript/vbscript"),[g["asn.1"]]:()=>import("codemirror/mode/asn.1/asn.1"),[g.dylan]:()=>import("codemirror/mode/dylan/dylan"),[g["haskell-literate"]]:()=>import("codemirror/mode/haskell-literate/haskell-literate"),[g.modelica]:()=>import("codemirror/mode/modelica/modelica"),[g.python]:()=>import("codemirror/mode/python/python"),[g.spreadsheet]:()=>import("codemirror/mode/spreadsheet/spreadsheet"),[g.velocity]:()=>import("codemirror/mode/velocity/velocity"),[g.asterisk]:()=>import("codemirror/mode/asterisk/asterisk"),[g.ebnf]:()=>import("codemirror/mode/ebnf/ebnf"),[g.haxe]:()=>import("codemirror/mode/haxe/haxe"),[g.mscgen]:()=>import("codemirror/mode/mscgen/mscgen"),[g.q]:()=>import("codemirror/mode/q/q"),[g.sql]:()=>import("codemirror/mode/sql/sql"),[g.verilog]:()=>import("codemirror/mode/verilog/verilog"),[g.brainfuck]:()=>import("codemirror/mode/brainfuck/brainfuck"),[g.ecl]:()=>import("codemirror/mode/ecl/ecl"),[g.htmlembedded]:()=>import("codemirror/mode/htmlembedded/htmlembedded"),[g.mumps]:()=>import("codemirror/mode/mumps/mumps"),[g.r]:()=>import("codemirror/mode/r/r"),[g.stex]:()=>import("codemirror/mode/stex/stex"),[g.vhdl]:()=>import("codemirror/mode/vhdl/vhdl"),[g.clike]:()=>import("codemirror/mode/clike/clike"),[g.eiffel]:()=>import("codemirror/mode/eiffel/eiffel"),[g.htmlmixed]:()=>import("codemirror/mode/htmlmixed/htmlmixed"),[g.nginx]:()=>import("codemirror/mode/nginx/nginx"),[g.rpm]:()=>import("codemirror/mode/rpm/rpm"),[g.stylus]:()=>import("codemirror/mode/stylus/stylus"),[g.vue]:()=>import("codemirror/mode/vue/vue"),[g.clojure]:()=>import("codemirror/mode/clojure/clojure"),[g.elm]:()=>import("codemirror/mode/elm/elm"),[g.http]:()=>import("codemirror/mode/http/http"),[g.nsis]:()=>import("codemirror/mode/nsis/nsis"),[g.rst]:()=>import("codemirror/mode/rst/rst"),[g.swift]:()=>import("codemirror/mode/swift/swift"),[g.wast]:()=>import("codemirror/mode/wast/wast"),[g.cmake]:()=>import("codemirror/mode/cmake/cmake"),[g.erlang]:()=>import("codemirror/mode/erlang/erlang"),[g.idl]:()=>import("codemirror/mode/idl/idl"),[g.ntriples]:()=>import("codemirror/mode/ntriples/ntriples"),[g.ruby]:()=>import("codemirror/mode/ruby/ruby"),[g.tcl]:()=>import("codemirror/mode/tcl/tcl"),[g.webidl]:()=>import("codemirror/mode/webidl/webidl"),[g.cobol]:()=>import("codemirror/mode/cobol/cobol"),[g.factor]:()=>import("codemirror/mode/factor/factor"),[g.javascript]:()=>import("codemirror/mode/javascript/javascript"),[g.octave]:()=>import("codemirror/mode/octave/octave"),[g.rust]:()=>import("codemirror/mode/rust/rust"),[g.textile]:()=>import("codemirror/mode/textile/textile"),[g.xml]:()=>import("codemirror/mode/xml/xml"),[g.coffeescript]:()=>import("codemirror/mode/coffeescript/coffeescript"),[g.fcl]:()=>import("codemirror/mode/fcl/fcl"),[g.jinja2]:()=>import("codemirror/mode/jinja2/jinja2"),[g.oz]:()=>import("codemirror/mode/oz/oz"),[g.sas]:()=>import("codemirror/mode/sas/sas"),[g.tiddlywiki]:()=>import("codemirror/mode/tiddlywiki/tiddlywiki"),[g.xquery]:()=>import("codemirror/mode/xquery/xquery"),[g.commonlisp]:()=>import("codemirror/mode/commonlisp/commonlisp"),[g.forth]:()=>import("codemirror/mode/forth/forth"),[g.jsx]:()=>import("codemirror/mode/jsx/jsx"),[g.pascal]:()=>import("codemirror/mode/pascal/pascal"),[g.sass]:()=>import("codemirror/mode/sass/sass"),[g.tiki]:()=>import("codemirror/mode/tiki/tiki"),[g.yacas]:()=>import("codemirror/mode/yacas/yacas"),[g.crystal]:()=>import("codemirror/mode/crystal/crystal"),[g.fortran]:()=>import("codemirror/mode/fortran/fortran"),[g.julia]:()=>import("codemirror/mode/julia/julia"),[g.pegjs]:()=>import("codemirror/mode/pegjs/pegjs"),[g.scheme]:()=>import("codemirror/mode/scheme/scheme"),[g.toml]:()=>import("codemirror/mode/toml/toml"),[g.yaml]:()=>import("codemirror/mode/yaml/yaml"),[g.css]:()=>import("codemirror/mode/css/css"),[g.gas]:()=>import("codemirror/mode/gas/gas"),[g.livescript]:()=>import("codemirror/mode/livescript/livescript"),[g.perl]:()=>import("codemirror/mode/perl/perl"),[g.shell]:()=>import("codemirror/mode/shell/shell"),[g.tornado]:()=>import("codemirror/mode/tornado/tornado"),[g["yaml-frontmatter"]]:()=>import("codemirror/mode/yaml-frontmatter/yaml-frontmatter"),[g.cypher]:()=>import("codemirror/mode/cypher/cypher"),[g.gfm]:()=>import("codemirror/mode/gfm/gfm"),[g.lua]:()=>import("codemirror/mode/lua/lua"),[g.php]:()=>import("codemirror/mode/php/php"),[g.sieve]:()=>import("codemirror/mode/sieve/sieve"),[g.troff]:()=>import("codemirror/mode/troff/troff"),[g.z80]:()=>import("codemirror/mode/z80/z80"),[g.d]:()=>import("codemirror/mode/d/d"),[g.gherkin]:()=>import("codemirror/mode/gherkin/gherkin"),[g.markdown]:()=>import("codemirror/mode/markdown/markdown"),[g.pig]:()=>import("codemirror/mode/pig/pig"),[g.slim]:()=>import("codemirror/mode/slim/slim"),[g.ttcn]:()=>import("codemirror/mode/ttcn/ttcn"),[g.dart]:()=>import("codemirror/mode/dart/dart"),[g.go]:()=>import("codemirror/mode/go/go"),[g.mathematica]:()=>import("codemirror/mode/mathematica/mathematica"),[g.powershell]:()=>import("codemirror/mode/powershell/powershell"),[g.smalltalk]:()=>import("codemirror/mode/smalltalk/smalltalk"),[g["ttcn-cfg"]]:()=>import("codemirror/mode/ttcn-cfg/ttcn-cfg"),[g.diff]:()=>import("codemirror/mode/diff/diff"),[g.groovy]:()=>import("codemirror/mode/groovy/groovy"),[g.mbox]:()=>import("codemirror/mode/mbox/mbox"),[g.properties]:()=>import("codemirror/mode/properties/properties"),[g.smarty]:()=>import("codemirror/mode/smarty/smarty"),[g.turtle]:()=>import("codemirror/mode/turtle/turtle"),[g.django]:()=>import("codemirror/mode/django/django"),[g.haml]:()=>import("codemirror/mode/haml/haml"),[g.protobuf]:()=>import("codemirror/mode/protobuf/protobuf"),[g.solr]:()=>import("codemirror/mode/solr/solr"),[g.twig]:()=>import("codemirror/mode/twig/twig")},k=new e("codemirror-block"),b=r=>new t({key:k,props:{nodeViews:{code_block:h(r)}}});export{g as CodeBlockLanguages,f as codeBlockArrowHandlers,k as codeMirrorBlockKey,h as codeMirrorBlockNodeView,b as codeMirrorBlockPlugin,b as default,v as defaultSettings,y as languageLoaders};
15
+ ***************************************************************************** */function C(t,e,o,r){return new(o||(o=Promise))((function(n,a){function c(t){try{i(r.next(t))}catch(t){a(t)}}function s(t){try{i(r.throw(t))}catch(t){a(t)}}function i(t){var e;t.done?n(t.value):(e=t.value,e instanceof o?e:new o((function(t){t(e)}))).then(c,s)}i((r=r.apply(t,e||[])).next())}))}function z(t,e){if(t===e)return null;let o=0,r=t.length,n=e.length;for(;o<r&&t.charCodeAt(o)===e.charCodeAt(o);)o+=1;for(;r>o&&n>o&&t.charCodeAt(r-1)===e.charCodeAt(n-1);)r-=1,n-=1;return{from:o,to:r,text:e.slice(o,n)}}const L=(t,o,r)=>{if(!t.hasFocus)return;const n=((t,o,r)=>{const n=("function"==typeof r&&r()||0)+1,a=o.state.selection.main.from+n,c=o.state.selection.main.to+n;return e.create(t,a,c)})(o.state.doc,t,r);n.eq(o.state.selection)||o.dispatch(o.state.tr.setSelection(n))},N=(e,o,r,n,a)=>{console.log("up");const c=r.state.selection.main,s=r.state.doc.lineAt(c.from),i=r.state.doc.lines;if(console.log({selEq:c.to!==c.from,lineeq:s.number!==(o<0?0:i),chareq:"char"===e&&c.from!==(o<0?0:s.to),getpos:"function"!=typeof a,line:s}),c.to!==c.from||s.number!==(o<0?1:i)||"char"===e&&c.from!==(o<0?0:s.to)||"function"!=typeof a)return!1;console.log("afterescapes"),n.focus();const l=n.state.doc.nodeAt(a());if(!l)return!1;const m=a()+(o<0?0:l.nodeSize),d=t.near(n.state.doc.resolve(m),o);return n.dispatch(n.state.tr.setSelection(d).scrollIntoView()),n.focus(),!0},O=(t,e)=>{const{selection:o}=e.state;return!o.main.empty||0!==o.main.from||(q(t.state.schema.nodes.paragraph)(t.state,t.dispatch),setTimeout((()=>t.focus()),20),!1)},T=(t,e,o,r)=>C(void 0,void 0,void 0,(function*(){var n,a;const c=yield null===(a=null===(n=o.languageLoaders)||void 0===n?void 0:n[t])||void 0===a?void 0:a.call(n);c&&e.dispatch({effects:r.reconfigure(c)})})),B=e=>(o,r,n)=>{if(o.selection.empty&&(null==n?void 0:n.endOfTextblock(e))){const n="left"===e||"up"===e?-1:1,{$head:a}=o.selection,c=t.near(o.doc.resolve(n>0?a.after():a.before()),n);if(c.$head&&"code_block"===c.$head.parent.type.name)return null==r||r(o.tr.setSelection(c)),!0}return!1},D={ArrowLeft:B("left"),ArrowRight:B("right"),ArrowUp:B("up"),ArrowDown:B("down")},H=t=>(e,o,r)=>{let q=e,C=!1;const B=document.createElement("div");B.className="codeblock-root";const D=new A,H=M.create({extensions:[n(),a(),f(),S(),c(),p(),v(),b(),i({cursorBlinkRate:1e3}),M.allowMultipleSelections.of(!0),l(),j.fallback,D.of([]),g(),m.domEventHandlers({blur(t,e){e.dispatch({selection:{anchor:0}})}}),d.of([{key:"Mod-d",run:u,preventDefault:!0},{key:"ArrowUp",run:t=>N("line",-1,t,o,r)},{key:"ArrowLeft",run:t=>N("char",-1,t,o,r)},{key:"ArrowDown",run:t=>N("line",1,t,o,r)},{key:"ArrowRight",run:t=>N("char",1,t,o,r)},{key:"Mod-z",run:()=>{var e;return(null===(e=t.undo)||void 0===e?void 0:e.call(t,o.state,o.dispatch))||!0},shift:()=>{var e;return(null===(e=t.redo)||void 0===e?void 0:e.call(t,o.state,o.dispatch))||!0}},{key:"Mod-y",run:()=>{var e;return(null===(e=t.redo)||void 0===e?void 0:e.call(t,o.state,o.dispatch))||!0}},{key:"Backspace",run:t=>O(o,t)},{key:"Mod-Backspace",run:t=>O(o,t)},{key:"Mod-a",run:()=>{const t=E(o.state,o.dispatch);return o.focus(),t}},...w,...h,...s,...y,...x,k])],doc:q.textContent}),R=new m({state:H,dispatch:t=>{if(!C){const e=t.state.toJSON().doc;R.update([t]),((t,e,o,r)=>{const n=z(e.textContent,t);if(n&&"function"==typeof o){const t=o()+1,e=r.state.tr.replaceWith(t+n.from,t+n.to,n.text?r.state.schema.text(n.text):null);r.dispatch(e)}})(e,q,r,o),L(R,o,r)}}});B.append(R.dom);const W=t.createSelect(t,B,q,o,r);return T(q.attrs.lang,R,t,D),{dom:B,selectNode(){R.focus()},stopEvent:()=>!0,setSelection:(t,e)=>{R.focus(),L(R,o,r),C=!0;const n="function"==typeof r?r():0;R.dispatch({selection:{anchor:t-n,head:e-n}}),C=!1},update:e=>{if(e.type.name!==q.type.name)return!1;e.attrs.lang!==q.attrs.lang&&T(e.attrs.lang,R,t,D);const n=q;q=e;const a=z(R.state.doc.toString(),q.textContent);return a&&(C=!0,R.dispatch({changes:{from:a.from,to:a.to,insert:a.text},selection:{anchor:a.from+a.text.length}}),C=!1),t.updateSelect(t,B,e,o,r,n),!0},ignoreMutation:()=>!0,destroy:()=>{W()}}};var R;!function(t){t.javascript="javascript",t.html="html",t.css="css",t.sql="sql",t.python="python",t.rust="rust",t.xml="xml",t.json="json",t.markdown="markdown",t.java="java",t.cpp="cpp",t.lezer="lezer",t.php="php",t.wast="wast"}(R||(R={}));const W={createSelect:(t,e,o,r,n)=>{var a;if(!t.languageLoaders)return()=>{};const{languageLoaders:c}=t,s=document.createElement("select");s.className="codeblock-select";const i=document.createElement("option");return i.value="none",i.textContent=(null===(a=t.languageNameMap)||void 0===a?void 0:a.none)||"none",s.append(i),Object.keys(c).sort().forEach((e=>{var o;if(t.languageWhitelist&&!t.languageWhitelist.includes(e))return;const r=document.createElement("option");r.value=e,r.textContent=(null===(o=t.languageNameMap)||void 0===o?void 0:o[e])||e,s.append(r)})),s.value=o.attrs.lang||"none",e.prepend(s),s.onchange=t=>C(void 0,void 0,void 0,(function*(){if(!(t.target instanceof HTMLSelectElement))return;const e=t.target.value;console.log({lang:e}),"function"==typeof n&&(console.log("dispatch"),r.dispatch(r.state.tr.setNodeMarkup(n(),void 0,Object.assign(Object.assign({},o.attrs),{lang:e}))))})),()=>{}},updateSelect:(t,e,o,r,n,a)=>{if(a.attrs.lang!==o.attrs.lang){const t=e.querySelector(".codeblock-select");if(!(t instanceof HTMLSelectElement))return;t.value=o.attrs.lang||"none"}}},$={[R.cpp]:()=>import("@codemirror/lang-cpp").then((t=>t.cpp())),[R.css]:()=>import("@codemirror/lang-css").then((t=>t.css())),[R.html]:()=>import("@codemirror/lang-html").then((t=>t.html())),[R.php]:()=>import("@codemirror/lang-php").then((t=>t.php())),[R.sql]:()=>import("@codemirror/lang-sql").then((t=>t.sql())),[R.xml]:()=>import("@codemirror/lang-xml").then((t=>t.xml())),[R.javascript]:()=>import("@codemirror/lang-javascript").then((t=>t.javascript())),[R.java]:()=>import("@codemirror/lang-java").then((t=>t.java())),[R.json]:()=>import("@codemirror/lang-json").then((t=>t.json())),[R.lezer]:()=>import("@codemirror/lang-lezer").then((t=>t.lezer())),[R.markdown]:()=>import("@codemirror/lang-markdown").then((t=>t.markdown())),[R.python]:()=>import("@codemirror/lang-python").then((t=>t.python())),[R.rust]:()=>import("@codemirror/lang-rust").then((t=>t.rust())),[R.wast]:()=>import("@codemirror/lang-wast").then((t=>t.wast()))},U=new o("codemirror-block"),V=t=>new r({key:U,props:{nodeViews:{code_block:H(t)}}});export{R as CodeBlockLanguages,D as codeBlockArrowHandlers,U as codeMirrorBlockKey,H as codeMirrorBlockNodeView,V as codeMirrorBlockPlugin,V as default,W as defaultSettings,$ as languageLoaders};
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("prosemirror-state"),r=require("codemirror"),o=require("prosemirror-commands");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var t=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(r,o,t.get?t:{enumerable:!0,get:function(){return e[o]}})}})),r.default=e,Object.freeze(r)}var s=t(r);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("prosemirror-state"),t=require("@codemirror/gutter"),r=require("@codemirror/closebrackets"),o=require("@codemirror/view"),n=require("@codemirror/search"),a=require("@codemirror/fold"),c=require("@codemirror/language"),s=require("@codemirror/autocomplete"),i=require("@codemirror/commands"),l=require("@codemirror/comment"),u=require("@codemirror/highlight"),d=require("@codemirror/rectangular-selection"),p=require("@codemirror/matchbrackets"),m=require("@codemirror/state"),g=require("prosemirror-commands");function h(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,4 +12,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function i(e,r,o,t){return new(o||(o=Promise))((function(n,s){function i(e){try{l(t.next(e))}catch(e){s(e)}}function c(e){try{l(t.throw(e))}catch(e){s(e)}}function l(e){var r;e.done?n(e.value):(r=e.value,r instanceof o?r:new o((function(e){e(r)}))).then(i,c)}l((t=t.apply(e,r||[])).next())}))}const c=e=>"function"==typeof e&&e()||0;function l(e,r){if(e===r)return null;let o=0,t=e.length,n=r.length;for(;o<t&&e.charCodeAt(o)===r.charCodeAt(o);)o+=1;for(;t>o&&n>o&&e.charCodeAt(t-1)===r.charCodeAt(n-1);)t-=1,n-=1;return{from:o,to:t,text:r.slice(o,n)}}const u=(r,o,t)=>{if(!r.hasFocus())return;const n=((r,o,t)=>{const n=c(t)+1,s=o.indexFromPos(o.getCursor("anchor"))+n,i=o.indexFromPos(o.getCursor("head"))+n;return e.TextSelection.create(r.state.doc,s,i)})(o,r,t);n.eq(o.state.selection)||o.dispatch(o.state.tr.setSelection(n))},a=(r,o,t,n,i,l)=>{const u=n(),a=l(),d=u.getCursor();if(u.somethingSelected()||d.line!==(o<0?u.firstLine():u.lastLine())||"char"===r&&d.ch!==(o<0?0:u.getLine(d.line).length))return s.default.Pass;t.focus();const m=c(i)+(o<0?0:a.nodeSize),g=e.Selection.near(t.state.doc.resolve(m),o);t.dispatch(t.state.tr.setSelection(g).scrollIntoView()),t.focus()},d=(e,r,t,n,i)=>{const c=/Mac/.test(navigator.platform)?"Cmd":"Ctrl";return s.default.normalizeKeyMap({Up:()=>a("line",-1,r,e,t,n),Left:()=>a("char",-1,r,e,t,n),Down:()=>a("line",1,r,e,t,n),Right:()=>a("char",1,r,e,t,n),"Ctrl-Enter":()=>{o.exitCode(r.state,r.dispatch)&&r.focus()},[c+"-Z"]:()=>{var e;return null===(e=i.undo)||void 0===e?void 0:e.call(i,r.state,r.dispatch)},[`Shift-${c}-Z`]:()=>{var e;return null===(e=i.redo)||void 0===e?void 0:e.call(i,r.state,r.dispatch)},[c+"-Y"]:()=>{var e;return null===(e=i.redo)||void 0===e?void 0:e.call(i,r.state,r.dispatch)}})},m=r=>(o,t,n)=>{if(o.selection.empty&&(null==n?void 0:n.endOfTextblock(r))){const n="left"===r||"up"===r?-1:1,{$head:s}=o.selection,i=e.Selection.near(o.doc.resolve(n>0?s.after():s.before()),n);if(i.$head&&"code_block"===i.$head.parent.type.name)return null==t||t(o.tr.setSelection(i)),!0}return!1},g={ArrowLeft:m("left"),ArrowRight:m("right"),ArrowUp:m("up"),ArrowDown:m("down")},p=(e,r,o)=>i(void 0,void 0,void 0,(function*(){var t,n;"none"!==e?(yield null===(n=null===(t=o.languageLoaders)||void 0===t?void 0:t[e])||void 0===n?void 0:n.call(t),r.setOption("mode",e)):r.setOption("mode",void 0)})),f=r=>(o,t,n)=>{let i,a=o,m=!1,g=!1;const f=document.createElement("div");f.className="codeblock-root",i=s.default(f,{value:a.textContent,lineNumbers:!0,extraKeys:d((()=>i),t,n,(()=>a),r)});const h=r.createSelect(r,f,i,a,t,n);return setTimeout((()=>i.refresh()),20),p(a.attrs.lang,i,r),i.on("beforeChange",(()=>{g=!0})),i.on("cursorActivity",(()=>{m||g||u(i,t,n)})),i.on("keydown",((r,o)=>{if(("Backspace"===o.key||"Delete"===o.key)&&""===r.getValue()&&"function"==typeof n){const r=n();t.dispatch(t.state.tr.delete(r,r+a.nodeSize)),setTimeout((()=>{t.focus(),t.dispatch(t.state.tr.setSelection(e.TextSelection.create(t.state.doc,r-1,r-1)))}),0)}})),i.on("changes",(()=>{m||(((e,r,o,t)=>{const n=l(r.textContent,e.getValue());if(n){const e=c(o)+1,r=t.state.tr.replaceWith(e+n.from,e+n.to,n.text?t.state.schema.text(n.text):null);t.dispatch(r)}})(i,a,n,t),u(i,t,n)),g=!1})),i.on("focus",(()=>u(i,t,n))),{dom:f,selectNode(){i.focus()},stopEvent:()=>!0,setSelection(e,r){i.focus(),m=!0,i.setSelection(i.posFromIndex(e),i.posFromIndex(r)),m=!1},update(e){if(e.type!==a.type)return!1;e.attrs.lang!==a.attrs.lang&&p(e.attrs.lang,i,r);const o=a;a=e;const s=l(i.getValue(),a.textContent);return s&&(m=!0,i.replaceRange(s.text,i.posFromIndex(s.from),i.posFromIndex(s.to)),m=!1),r.updateSelect(r,f,i,e,t,n,o),!0},destroy:()=>{h()}}};var h;exports.CodeBlockLanguages=void 0,(h=exports.CodeBlockLanguages||(exports.CodeBlockLanguages={})).apl="apl",h.dockerfile="dockerfile",h.handlebars="handlebars",h.mirc="mirc",h.pug="pug",h.soy="soy",h.vb="vb",h.asciiarmor="asciiarmor",h.dtd="dtd",h.haskell="haskell",h.mllike="mllike",h.puppet="puppet",h.sparql="sparql",h.vbscript="vbscript",h["asn.1"]="asn.1",h.dylan="dylan",h["haskell-literate"]="haskell-literate",h.modelica="modelica",h.python="python",h.spreadsheet="spreadsheet",h.velocity="velocity",h.asterisk="asterisk",h.ebnf="ebnf",h.haxe="haxe",h.mscgen="mscgen",h.q="q",h.sql="sql",h.verilog="verilog",h.brainfuck="brainfuck",h.ecl="ecl",h.htmlembedded="htmlembedded",h.mumps="mumps",h.r="r",h.stex="stex",h.vhdl="vhdl",h.clike="clike",h.eiffel="eiffel",h.htmlmixed="htmlmixed",h.nginx="nginx",h.rpm="rpm",h.stylus="stylus",h.vue="vue",h.clojure="clojure",h.elm="elm",h.http="http",h.nsis="nsis",h.rst="rst",h.swift="swift",h.wast="wast",h.cmake="cmake",h.erlang="erlang",h.idl="idl",h.ntriples="ntriples",h.ruby="ruby",h.tcl="tcl",h.webidl="webidl",h.cobol="cobol",h.factor="factor",h.javascript="javascript",h.octave="octave",h.rust="rust",h.textile="textile",h.xml="xml",h.coffeescript="coffeescript",h.fcl="fcl",h.jinja2="jinja2",h.oz="oz",h.sas="sas",h.tiddlywiki="tiddlywiki",h.xquery="xquery",h.commonlisp="commonlisp",h.forth="forth",h.jsx="jsx",h.pascal="pascal",h.sass="sass",h.tiki="tiki",h.yacas="yacas",h.crystal="crystal",h.fortran="fortran",h.julia="julia",h.pegjs="pegjs",h.scheme="scheme",h.toml="toml",h.yaml="yaml",h.css="css",h.gas="gas",h.livescript="livescript",h.perl="perl",h.shell="shell",h.tornado="tornado",h["yaml-frontmatter"]="yaml-frontmatter",h.cypher="cypher",h.gfm="gfm",h.lua="lua",h.php="php",h.sieve="sieve",h.troff="troff",h.z80="z80",h.d="d",h.gherkin="gherkin",h.markdown="markdown",h.pig="pig",h.slim="slim",h.ttcn="ttcn",h.dart="dart",h.go="go",h.mathematica="mathematica",h.powershell="powershell",h.smalltalk="smalltalk",h["ttcn-cfg"]="ttcn-cfg",h.diff="diff",h.groovy="groovy",h.mbox="mbox",h.properties="properties",h.smarty="smarty",h.turtle="turtle",h.django="django",h.haml="haml",h.protobuf="protobuf",h.solr="solr",h.twig="twig";const v={createSelect:(e,r,o,t,n,s)=>{var c;if(!e.languageLoaders)return()=>{};const{languageLoaders:l}=e,u=document.createElement("select");u.className="codeblock-select";const a=document.createElement("option");return a.value="none",a.textContent=(null===(c=e.languageNameMap)||void 0===c?void 0:c.none)||"none",u.append(a),Object.keys(l).sort().forEach((r=>{var o;if(e.languageWhitelist&&!e.languageWhitelist.includes(r))return;const t=document.createElement("option");t.value=r,t.textContent=(null===(o=e.languageNameMap)||void 0===o?void 0:o[r])||r,u.append(t)})),u.value=t.attrs.lang||"none",r.prepend(u),u.onchange=e=>i(void 0,void 0,void 0,(function*(){if(!(e.target instanceof HTMLSelectElement))return;const r=e.target.value;"function"==typeof s&&n.dispatch(n.state.tr.setNodeMarkup(s(),void 0,Object.assign(Object.assign({},t.attrs),{lang:r})))})),()=>{}},updateSelect:(e,r,o,t,n,s,i)=>{if(i.attrs.lang!==t.attrs.lang){const e=r.querySelector(".codeblock-select");if(!(e instanceof HTMLSelectElement))return;e.value=t.attrs.lang||"none"}}},k={[exports.CodeBlockLanguages.apl]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/apl/apl"))})),[exports.CodeBlockLanguages.dockerfile]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/dockerfile/dockerfile"))})),[exports.CodeBlockLanguages.handlebars]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/handlebars/handlebars"))})),[exports.CodeBlockLanguages.mirc]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/mirc/mirc"))})),[exports.CodeBlockLanguages.pug]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/pug/pug"))})),[exports.CodeBlockLanguages.soy]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/soy/soy"))})),[exports.CodeBlockLanguages.vb]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/vb/vb"))})),[exports.CodeBlockLanguages.asciiarmor]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/asciiarmor/asciiarmor"))})),[exports.CodeBlockLanguages.dtd]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/dtd/dtd"))})),[exports.CodeBlockLanguages.haskell]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/haskell/haskell"))})),[exports.CodeBlockLanguages.mllike]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/mllike/mllike"))})),[exports.CodeBlockLanguages.puppet]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/puppet/puppet"))})),[exports.CodeBlockLanguages.sparql]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/sparql/sparql"))})),[exports.CodeBlockLanguages.vbscript]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/vbscript/vbscript"))})),[exports.CodeBlockLanguages["asn.1"]]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/asn.1/asn.1"))})),[exports.CodeBlockLanguages.dylan]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/dylan/dylan"))})),[exports.CodeBlockLanguages["haskell-literate"]]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/haskell-literate/haskell-literate"))})),[exports.CodeBlockLanguages.modelica]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/modelica/modelica"))})),[exports.CodeBlockLanguages.python]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/python/python"))})),[exports.CodeBlockLanguages.spreadsheet]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/spreadsheet/spreadsheet"))})),[exports.CodeBlockLanguages.velocity]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/velocity/velocity"))})),[exports.CodeBlockLanguages.asterisk]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/asterisk/asterisk"))})),[exports.CodeBlockLanguages.ebnf]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/ebnf/ebnf"))})),[exports.CodeBlockLanguages.haxe]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/haxe/haxe"))})),[exports.CodeBlockLanguages.mscgen]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/mscgen/mscgen"))})),[exports.CodeBlockLanguages.q]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/q/q"))})),[exports.CodeBlockLanguages.sql]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/sql/sql"))})),[exports.CodeBlockLanguages.verilog]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/verilog/verilog"))})),[exports.CodeBlockLanguages.brainfuck]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/brainfuck/brainfuck"))})),[exports.CodeBlockLanguages.ecl]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/ecl/ecl"))})),[exports.CodeBlockLanguages.htmlembedded]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/htmlembedded/htmlembedded"))})),[exports.CodeBlockLanguages.mumps]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/mumps/mumps"))})),[exports.CodeBlockLanguages.r]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/r/r"))})),[exports.CodeBlockLanguages.stex]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/stex/stex"))})),[exports.CodeBlockLanguages.vhdl]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/vhdl/vhdl"))})),[exports.CodeBlockLanguages.clike]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/clike/clike"))})),[exports.CodeBlockLanguages.eiffel]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/eiffel/eiffel"))})),[exports.CodeBlockLanguages.htmlmixed]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/htmlmixed/htmlmixed"))})),[exports.CodeBlockLanguages.nginx]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/nginx/nginx"))})),[exports.CodeBlockLanguages.rpm]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/rpm/rpm"))})),[exports.CodeBlockLanguages.stylus]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/stylus/stylus"))})),[exports.CodeBlockLanguages.vue]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/vue/vue"))})),[exports.CodeBlockLanguages.clojure]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/clojure/clojure"))})),[exports.CodeBlockLanguages.elm]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/elm/elm"))})),[exports.CodeBlockLanguages.http]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/http/http"))})),[exports.CodeBlockLanguages.nsis]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/nsis/nsis"))})),[exports.CodeBlockLanguages.rst]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/rst/rst"))})),[exports.CodeBlockLanguages.swift]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/swift/swift"))})),[exports.CodeBlockLanguages.wast]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/wast/wast"))})),[exports.CodeBlockLanguages.cmake]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/cmake/cmake"))})),[exports.CodeBlockLanguages.erlang]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/erlang/erlang"))})),[exports.CodeBlockLanguages.idl]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/idl/idl"))})),[exports.CodeBlockLanguages.ntriples]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/ntriples/ntriples"))})),[exports.CodeBlockLanguages.ruby]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/ruby/ruby"))})),[exports.CodeBlockLanguages.tcl]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/tcl/tcl"))})),[exports.CodeBlockLanguages.webidl]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/webidl/webidl"))})),[exports.CodeBlockLanguages.cobol]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/cobol/cobol"))})),[exports.CodeBlockLanguages.factor]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/factor/factor"))})),[exports.CodeBlockLanguages.javascript]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/javascript/javascript"))})),[exports.CodeBlockLanguages.octave]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/octave/octave"))})),[exports.CodeBlockLanguages.rust]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/rust/rust"))})),[exports.CodeBlockLanguages.textile]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/textile/textile"))})),[exports.CodeBlockLanguages.xml]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/xml/xml"))})),[exports.CodeBlockLanguages.coffeescript]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/coffeescript/coffeescript"))})),[exports.CodeBlockLanguages.fcl]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/fcl/fcl"))})),[exports.CodeBlockLanguages.jinja2]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/jinja2/jinja2"))})),[exports.CodeBlockLanguages.oz]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/oz/oz"))})),[exports.CodeBlockLanguages.sas]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/sas/sas"))})),[exports.CodeBlockLanguages.tiddlywiki]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/tiddlywiki/tiddlywiki"))})),[exports.CodeBlockLanguages.xquery]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/xquery/xquery"))})),[exports.CodeBlockLanguages.commonlisp]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/commonlisp/commonlisp"))})),[exports.CodeBlockLanguages.forth]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/forth/forth"))})),[exports.CodeBlockLanguages.jsx]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/jsx/jsx"))})),[exports.CodeBlockLanguages.pascal]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/pascal/pascal"))})),[exports.CodeBlockLanguages.sass]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/sass/sass"))})),[exports.CodeBlockLanguages.tiki]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/tiki/tiki"))})),[exports.CodeBlockLanguages.yacas]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/yacas/yacas"))})),[exports.CodeBlockLanguages.crystal]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/crystal/crystal"))})),[exports.CodeBlockLanguages.fortran]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/fortran/fortran"))})),[exports.CodeBlockLanguages.julia]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/julia/julia"))})),[exports.CodeBlockLanguages.pegjs]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/pegjs/pegjs"))})),[exports.CodeBlockLanguages.scheme]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/scheme/scheme"))})),[exports.CodeBlockLanguages.toml]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/toml/toml"))})),[exports.CodeBlockLanguages.yaml]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/yaml/yaml"))})),[exports.CodeBlockLanguages.css]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/css/css"))})),[exports.CodeBlockLanguages.gas]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/gas/gas"))})),[exports.CodeBlockLanguages.livescript]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/livescript/livescript"))})),[exports.CodeBlockLanguages.perl]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/perl/perl"))})),[exports.CodeBlockLanguages.shell]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/shell/shell"))})),[exports.CodeBlockLanguages.tornado]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/tornado/tornado"))})),[exports.CodeBlockLanguages["yaml-frontmatter"]]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/yaml-frontmatter/yaml-frontmatter"))})),[exports.CodeBlockLanguages.cypher]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/cypher/cypher"))})),[exports.CodeBlockLanguages.gfm]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/gfm/gfm"))})),[exports.CodeBlockLanguages.lua]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/lua/lua"))})),[exports.CodeBlockLanguages.php]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/php/php"))})),[exports.CodeBlockLanguages.sieve]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/sieve/sieve"))})),[exports.CodeBlockLanguages.troff]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/troff/troff"))})),[exports.CodeBlockLanguages.z80]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/z80/z80"))})),[exports.CodeBlockLanguages.d]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/d/d"))})),[exports.CodeBlockLanguages.gherkin]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/gherkin/gherkin"))})),[exports.CodeBlockLanguages.markdown]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/markdown/markdown"))})),[exports.CodeBlockLanguages.pig]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/pig/pig"))})),[exports.CodeBlockLanguages.slim]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/slim/slim"))})),[exports.CodeBlockLanguages.ttcn]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/ttcn/ttcn"))})),[exports.CodeBlockLanguages.dart]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/dart/dart"))})),[exports.CodeBlockLanguages.go]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/go/go"))})),[exports.CodeBlockLanguages.mathematica]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/mathematica/mathematica"))})),[exports.CodeBlockLanguages.powershell]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/powershell/powershell"))})),[exports.CodeBlockLanguages.smalltalk]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/smalltalk/smalltalk"))})),[exports.CodeBlockLanguages["ttcn-cfg"]]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/ttcn-cfg/ttcn-cfg"))})),[exports.CodeBlockLanguages.diff]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/diff/diff"))})),[exports.CodeBlockLanguages.groovy]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/groovy/groovy"))})),[exports.CodeBlockLanguages.mbox]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/mbox/mbox"))})),[exports.CodeBlockLanguages.properties]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/properties/properties"))})),[exports.CodeBlockLanguages.smarty]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/smarty/smarty"))})),[exports.CodeBlockLanguages.turtle]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/turtle/turtle"))})),[exports.CodeBlockLanguages.django]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/django/django"))})),[exports.CodeBlockLanguages.haml]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/haml/haml"))})),[exports.CodeBlockLanguages.protobuf]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/protobuf/protobuf"))})),[exports.CodeBlockLanguages.solr]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/solr/solr"))})),[exports.CodeBlockLanguages.twig]:()=>Promise.resolve().then((function(){return n(require("codemirror/mode/twig/twig"))}))},x=new e.PluginKey("codemirror-block"),q=r=>new e.Plugin({key:x,props:{nodeViews:{code_block:f(r)}}});exports.codeBlockArrowHandlers=g,exports.codeMirrorBlockKey=x,exports.codeMirrorBlockNodeView=f,exports.codeMirrorBlockPlugin=q,exports.default=q,exports.defaultSettings=v,exports.languageLoaders=k;
15
+ ***************************************************************************** */function f(e,t,r,o){return new(r||(r=Promise))((function(n,a){function c(e){try{i(o.next(e))}catch(e){a(e)}}function s(e){try{i(o.throw(e))}catch(e){a(e)}}function i(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,s)}i((o=o.apply(e,t||[])).next())}))}function v(e,t){if(e===t)return null;let r=0,o=e.length,n=t.length;for(;r<o&&e.charCodeAt(r)===t.charCodeAt(r);)r+=1;for(;o>r&&n>r&&e.charCodeAt(o-1)===t.charCodeAt(n-1);)o-=1,n-=1;return{from:r,to:o,text:t.slice(r,n)}}const k=(t,r,o)=>{if(!t.hasFocus)return;const n=((t,r,o)=>{const n=("function"==typeof o&&o()||0)+1,a=r.state.selection.main.from+n,c=r.state.selection.main.to+n;return e.TextSelection.create(t,a,c)})(r.state.doc,t,o);n.eq(r.state.selection)||r.dispatch(r.state.tr.setSelection(n))},y=(t,r,o,n,a)=>{console.log("up");const c=o.state.selection.main,s=o.state.doc.lineAt(c.from),i=o.state.doc.lines;if(console.log({selEq:c.to!==c.from,lineeq:s.number!==(r<0?0:i),chareq:"char"===t&&c.from!==(r<0?0:s.to),getpos:"function"!=typeof a,line:s}),c.to!==c.from||s.number!==(r<0?1:i)||"char"===t&&c.from!==(r<0?0:s.to)||"function"!=typeof a)return!1;console.log("afterescapes"),n.focus();const l=n.state.doc.nodeAt(a());if(!l)return!1;const u=a()+(r<0?0:l.nodeSize),d=e.Selection.near(n.state.doc.resolve(u),r);return n.dispatch(n.state.tr.setSelection(d).scrollIntoView()),n.focus(),!0},x=(e,t)=>{const{selection:r}=t.state;return!r.main.empty||0!==r.main.from||(g.setBlockType(e.state.schema.nodes.paragraph)(e.state,e.dispatch),setTimeout((()=>e.focus()),20),!1)},q=(e,t,r,o)=>f(void 0,void 0,void 0,(function*(){var n,a;const c=yield null===(a=null===(n=r.languageLoaders)||void 0===n?void 0:n[e])||void 0===a?void 0:a.call(n);c&&t.dispatch({effects:o.reconfigure(c)})})),w=t=>(r,o,n)=>{if(r.selection.empty&&(null==n?void 0:n.endOfTextblock(t))){const n="left"===t||"up"===t?-1:1,{$head:a}=r.selection,c=e.Selection.near(r.doc.resolve(n>0?a.after():a.before()),n);if(c.$head&&"code_block"===c.$head.parent.type.name)return null==o||o(r.tr.setSelection(c)),!0}return!1},b={ArrowLeft:w("left"),ArrowRight:w("right"),ArrowUp:w("up"),ArrowDown:w("down")},B=e=>(h,f,w)=>{let b=h,B=!1;const C=document.createElement("div");C.className="codeblock-root";const L=new m.Compartment,S=m.EditorState.create({extensions:[t.lineNumbers(),t.highlightActiveLineGutter(),a.foldGutter(),p.bracketMatching(),r.closeBrackets(),n.highlightSelectionMatches(),s.autocompletion(),d.rectangularSelection(),o.drawSelection({cursorBlinkRate:1e3}),m.EditorState.allowMultipleSelections.of(!0),o.highlightActiveLine(),u.defaultHighlightStyle.fallback,L.of([]),c.indentOnInput(),o.EditorView.domEventHandlers({blur(e,t){t.dispatch({selection:{anchor:0}})}}),o.keymap.of([{key:"Mod-d",run:n.selectNextOccurrence,preventDefault:!0},{key:"ArrowUp",run:e=>y("line",-1,e,f,w)},{key:"ArrowLeft",run:e=>y("char",-1,e,f,w)},{key:"ArrowDown",run:e=>y("line",1,e,f,w)},{key:"ArrowRight",run:e=>y("char",1,e,f,w)},{key:"Mod-z",run:()=>{var t;return(null===(t=e.undo)||void 0===t?void 0:t.call(e,f.state,f.dispatch))||!0},shift:()=>{var t;return(null===(t=e.redo)||void 0===t?void 0:t.call(e,f.state,f.dispatch))||!0}},{key:"Mod-y",run:()=>{var t;return(null===(t=e.redo)||void 0===t?void 0:t.call(e,f.state,f.dispatch))||!0}},{key:"Backspace",run:e=>x(f,e)},{key:"Mod-Backspace",run:e=>x(f,e)},{key:"Mod-a",run:()=>{const e=g.selectAll(f.state,f.dispatch);return f.focus(),e}},...i.defaultKeymap,...a.foldKeymap,...r.closeBracketsKeymap,...s.completionKeymap,...l.commentKeymap,i.indentWithTab])],doc:b.textContent}),j=new o.EditorView({state:S,dispatch:e=>{if(!B){const t=e.state.toJSON().doc;j.update([e]),((e,t,r,o)=>{const n=v(t.textContent,e);if(n&&"function"==typeof r){const e=r()+1,t=o.state.tr.replaceWith(e+n.from,e+n.to,n.text?o.state.schema.text(n.text):null);o.dispatch(t)}})(t,b,w,f),k(j,f,w)}}});C.append(j.dom);const P=e.createSelect(e,C,b,f,w);return q(b.attrs.lang,j,e,L),{dom:C,selectNode(){j.focus()},stopEvent:()=>!0,setSelection:(e,t)=>{j.focus(),k(j,f,w),B=!0;const r="function"==typeof w?w():0;j.dispatch({selection:{anchor:e-r,head:t-r}}),B=!1},update:t=>{if(t.type.name!==b.type.name)return!1;t.attrs.lang!==b.attrs.lang&&q(t.attrs.lang,j,e,L);const r=b;b=t;const o=v(j.state.doc.toString(),b.textContent);return o&&(B=!0,j.dispatch({changes:{from:o.from,to:o.to,insert:o.text},selection:{anchor:o.from+o.text.length}}),B=!1),e.updateSelect(e,C,t,f,w,r),!0},ignoreMutation:()=>!0,destroy:()=>{P()}}};var C;exports.CodeBlockLanguages=void 0,(C=exports.CodeBlockLanguages||(exports.CodeBlockLanguages={})).javascript="javascript",C.html="html",C.css="css",C.sql="sql",C.python="python",C.rust="rust",C.xml="xml",C.json="json",C.markdown="markdown",C.java="java",C.cpp="cpp",C.lezer="lezer",C.php="php",C.wast="wast";const L={createSelect:(e,t,r,o,n)=>{var a;if(!e.languageLoaders)return()=>{};const{languageLoaders:c}=e,s=document.createElement("select");s.className="codeblock-select";const i=document.createElement("option");return i.value="none",i.textContent=(null===(a=e.languageNameMap)||void 0===a?void 0:a.none)||"none",s.append(i),Object.keys(c).sort().forEach((t=>{var r;if(e.languageWhitelist&&!e.languageWhitelist.includes(t))return;const o=document.createElement("option");o.value=t,o.textContent=(null===(r=e.languageNameMap)||void 0===r?void 0:r[t])||t,s.append(o)})),s.value=r.attrs.lang||"none",t.prepend(s),s.onchange=e=>f(void 0,void 0,void 0,(function*(){if(!(e.target instanceof HTMLSelectElement))return;const t=e.target.value;console.log({lang:t}),"function"==typeof n&&(console.log("dispatch"),o.dispatch(o.state.tr.setNodeMarkup(n(),void 0,Object.assign(Object.assign({},r.attrs),{lang:t}))))})),()=>{}},updateSelect:(e,t,r,o,n,a)=>{if(a.attrs.lang!==r.attrs.lang){const e=t.querySelector(".codeblock-select");if(!(e instanceof HTMLSelectElement))return;e.value=r.attrs.lang||"none"}}},S={[exports.CodeBlockLanguages.cpp]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-cpp"))})).then((e=>e.cpp())),[exports.CodeBlockLanguages.css]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-css"))})).then((e=>e.css())),[exports.CodeBlockLanguages.html]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-html"))})).then((e=>e.html())),[exports.CodeBlockLanguages.php]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-php"))})).then((e=>e.php())),[exports.CodeBlockLanguages.sql]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-sql"))})).then((e=>e.sql())),[exports.CodeBlockLanguages.xml]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-xml"))})).then((e=>e.xml())),[exports.CodeBlockLanguages.javascript]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-javascript"))})).then((e=>e.javascript())),[exports.CodeBlockLanguages.java]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-java"))})).then((e=>e.java())),[exports.CodeBlockLanguages.json]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-json"))})).then((e=>e.json())),[exports.CodeBlockLanguages.lezer]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-lezer"))})).then((e=>e.lezer())),[exports.CodeBlockLanguages.markdown]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-markdown"))})).then((e=>e.markdown())),[exports.CodeBlockLanguages.python]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-python"))})).then((e=>e.python())),[exports.CodeBlockLanguages.rust]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-rust"))})).then((e=>e.rust())),[exports.CodeBlockLanguages.wast]:()=>Promise.resolve().then((function(){return h(require("@codemirror/lang-wast"))})).then((e=>e.wast()))},j=new e.PluginKey("codemirror-block"),P=t=>new e.Plugin({key:j,props:{nodeViews:{code_block:B(t)}}});exports.codeBlockArrowHandlers=b,exports.codeMirrorBlockKey=j,exports.codeMirrorBlockNodeView=B,exports.codeMirrorBlockPlugin=P,exports.default=P,exports.defaultSettings=L,exports.languageLoaders=S;
@@ -1,123 +1,16 @@
1
1
  export declare enum CodeBlockLanguages {
2
- apl = "apl",
3
- dockerfile = "dockerfile",
4
- handlebars = "handlebars",
5
- mirc = "mirc",
6
- pug = "pug",
7
- soy = "soy",
8
- vb = "vb",
9
- asciiarmor = "asciiarmor",
10
- dtd = "dtd",
11
- haskell = "haskell",
12
- mllike = "mllike",
13
- puppet = "puppet",
14
- sparql = "sparql",
15
- vbscript = "vbscript",
16
- "asn.1" = "asn.1",
17
- dylan = "dylan",
18
- "haskell-literate" = "haskell-literate",
19
- modelica = "modelica",
20
- python = "python",
21
- spreadsheet = "spreadsheet",
22
- velocity = "velocity",
23
- asterisk = "asterisk",
24
- ebnf = "ebnf",
25
- haxe = "haxe",
26
- mscgen = "mscgen",
27
- q = "q",
28
- sql = "sql",
29
- verilog = "verilog",
30
- brainfuck = "brainfuck",
31
- ecl = "ecl",
32
- htmlembedded = "htmlembedded",
33
- mumps = "mumps",
34
- r = "r",
35
- stex = "stex",
36
- vhdl = "vhdl",
37
- clike = "clike",
38
- eiffel = "eiffel",
39
- htmlmixed = "htmlmixed",
40
- nginx = "nginx",
41
- rpm = "rpm",
42
- stylus = "stylus",
43
- vue = "vue",
44
- clojure = "clojure",
45
- elm = "elm",
46
- http = "http",
47
- nsis = "nsis",
48
- rst = "rst",
49
- swift = "swift",
50
- wast = "wast",
51
- cmake = "cmake",
52
- erlang = "erlang",
53
- idl = "idl",
54
- ntriples = "ntriples",
55
- ruby = "ruby",
56
- tcl = "tcl",
57
- webidl = "webidl",
58
- cobol = "cobol",
59
- factor = "factor",
60
2
  javascript = "javascript",
61
- octave = "octave",
3
+ html = "html",
4
+ css = "css",
5
+ sql = "sql",
6
+ python = "python",
62
7
  rust = "rust",
63
- textile = "textile",
64
8
  xml = "xml",
65
- coffeescript = "coffeescript",
66
- fcl = "fcl",
67
- jinja2 = "jinja2",
68
- oz = "oz",
69
- sas = "sas",
70
- tiddlywiki = "tiddlywiki",
71
- xquery = "xquery",
72
- commonlisp = "commonlisp",
73
- forth = "forth",
74
- jsx = "jsx",
75
- pascal = "pascal",
76
- sass = "sass",
77
- tiki = "tiki",
78
- yacas = "yacas",
79
- crystal = "crystal",
80
- fortran = "fortran",
81
- julia = "julia",
82
- pegjs = "pegjs",
83
- scheme = "scheme",
84
- toml = "toml",
85
- yaml = "yaml",
86
- css = "css",
87
- gas = "gas",
88
- livescript = "livescript",
89
- perl = "perl",
90
- shell = "shell",
91
- tornado = "tornado",
92
- "yaml-frontmatter" = "yaml-frontmatter",
93
- cypher = "cypher",
94
- gfm = "gfm",
95
- lua = "lua",
96
- php = "php",
97
- sieve = "sieve",
98
- troff = "troff",
99
- z80 = "z80",
100
- d = "d",
101
- gherkin = "gherkin",
9
+ json = "json",
102
10
  markdown = "markdown",
103
- pig = "pig",
104
- slim = "slim",
105
- ttcn = "ttcn",
106
- dart = "dart",
107
- go = "go",
108
- mathematica = "mathematica",
109
- powershell = "powershell",
110
- smalltalk = "smalltalk",
111
- "ttcn-cfg" = "ttcn-cfg",
112
- diff = "diff",
113
- groovy = "groovy",
114
- mbox = "mbox",
115
- properties = "properties",
116
- smarty = "smarty",
117
- turtle = "turtle",
118
- django = "django",
119
- haml = "haml",
120
- protobuf = "protobuf",
121
- solr = "solr",
122
- twig = "twig"
11
+ java = "java",
12
+ cpp = "cpp",
13
+ lezer = "lezer",
14
+ php = "php",
15
+ wast = "wast"
123
16
  }
package/dist/types.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { Editor } from "codemirror";
2
1
  import { EditorState, Transaction } from "prosemirror-state";
3
2
  import { Node } from "prosemirror-model";
4
3
  import { EditorView } from "prosemirror-view";
5
- export declare type LanguageLoaders = Record<string, () => Promise<unknown>>;
4
+ import { LanguageSupport } from "@codemirror/language";
5
+ export declare type LanguageLoaders = Record<string, () => Promise<LanguageSupport>>;
6
6
  export declare type CodeBlockSettings = {
7
- createSelect: (settings: CodeBlockSettings, dom: HTMLElement, cm: Editor, node: Node, view: EditorView, getPos: (() => number) | boolean) => () => void;
8
- updateSelect: (settings: CodeBlockSettings, dom: HTMLElement, cm: Editor, node: Node, view: EditorView, getPos: (() => number) | boolean, oldNode: Node) => void;
7
+ createSelect: (settings: CodeBlockSettings, dom: HTMLElement, node: Node, view: EditorView, getPos: (() => number) | boolean) => () => void;
8
+ updateSelect: (settings: CodeBlockSettings, dom: HTMLElement, node: Node, view: EditorView, getPos: (() => number) | boolean, oldNode: Node) => void;
9
9
  languageLoaders?: LanguageLoaders;
10
10
  languageNameMap?: Record<string, string>;
11
11
  languageWhitelist?: string[];
package/dist/utils.d.ts CHANGED
@@ -1,21 +1,23 @@
1
- import { EditorState, TextSelection, Transaction } from "prosemirror-state";
2
- import { EditorView, EditorView as PMEditorView } from "prosemirror-view";
1
+ import { TextSelection, EditorState, Transaction } from "prosemirror-state";
2
+ import { EditorView as PMEditorView } from "prosemirror-view";
3
3
  import { Node } from "prosemirror-model";
4
- import CodeMirror, { Editor } from "codemirror";
4
+ import { EditorView } from "@codemirror/view";
5
+ import { Compartment } from "@codemirror/state";
5
6
  import { CodeBlockSettings } from "./types";
6
7
  export declare function computeChange(oldVal: string, newVal: string): {
7
8
  from: number;
8
9
  to: number;
9
10
  text: string;
10
11
  } | null;
11
- export declare const asProseMirrorSelection: (pmView: PMEditorView, cm: Editor, getPos: (() => number) | boolean) => TextSelection<any>;
12
- export declare const forwardSelection: (cm: Editor, pmView: PMEditorView, getPos: (() => number) | boolean) => void;
13
- export declare const valueChanged: (cm: Editor, node: Node, getPos: (() => number) | boolean, view: PMEditorView) => void;
14
- export declare const codeMirrorKeymap: (getCm: () => Editor, view: EditorView, getPos: (() => number) | boolean, getNode: () => Node, settings: CodeBlockSettings) => CodeMirror.KeyMap;
12
+ export declare const asProseMirrorSelection: (pmDoc: Node, cmView: EditorView, getPos: (() => number) | boolean) => TextSelection<any>;
13
+ export declare const forwardSelection: (cmView: EditorView, pmView: PMEditorView, getPos: (() => number) | boolean) => void;
14
+ export declare const valueChanged: (textUpdate: string, node: Node, getPos: (() => number) | boolean, view: PMEditorView) => void;
15
+ export declare const maybeEscape: (unit: "char" | "line", dir: -1 | 1, cm: EditorView, view: PMEditorView, getPos: boolean | (() => number)) => boolean;
16
+ export declare const backspaceHander: (pmView: PMEditorView, view: EditorView) => boolean;
17
+ export declare const setMode: (lang: string, cmView: EditorView, settings: CodeBlockSettings, languageConf: Compartment) => Promise<void>;
15
18
  export declare const codeBlockArrowHandlers: {
16
- ArrowLeft: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: EditorView<any> | undefined) => boolean;
17
- ArrowRight: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: EditorView<any> | undefined) => boolean;
18
- ArrowUp: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: EditorView<any> | undefined) => boolean;
19
- ArrowDown: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: EditorView<any> | undefined) => boolean;
19
+ ArrowLeft: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: PMEditorView<any> | undefined) => boolean;
20
+ ArrowRight: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: PMEditorView<any> | undefined) => boolean;
21
+ ArrowUp: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: PMEditorView<any> | undefined) => boolean;
22
+ ArrowDown: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?: PMEditorView<any> | undefined) => boolean;
20
23
  };
21
- export declare const setMode: (lang: string, cm: Editor, settings: CodeBlockSettings) => Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prosemirror-codemirror-block",
3
- "version": "0.0.9",
3
+ "version": "0.2.3",
4
4
  "description": "ProseMirror CodeMirror code block plugin",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
@@ -41,14 +41,41 @@
41
41
  "publishConfig": {
42
42
  "access": "public"
43
43
  },
44
+ "dependencies": {
45
+ "@codemirror/state": "^0.19.6",
46
+ "@codemirror/autocomplete": "^0.19.12",
47
+ "@codemirror/closebrackets": "^0.19.0",
48
+ "@codemirror/commands": "^0.19.8",
49
+ "@codemirror/comment": "^0.19.0",
50
+ "@codemirror/fold": "^0.19.3",
51
+ "@codemirror/gutter": "^0.19.9",
52
+ "@codemirror/highlight": "^0.19.7",
53
+ "@codemirror/language": "^0.19.7",
54
+ "@codemirror/lang-css": "^0.19.3",
55
+ "@codemirror/lang-html": "^0.19.4",
56
+ "@codemirror/lang-javascript": "^0.19.7",
57
+ "@codemirror/lang-json": "^0.19.1",
58
+ "@codemirror/lang-markdown": "^0.19.5",
59
+ "@codemirror/lang-python": "^0.19.4",
60
+ "@codemirror/lang-rust": "^0.19.1",
61
+ "@codemirror/lang-sql": "^0.19.4",
62
+ "@codemirror/lang-xml": "^0.19.2",
63
+ "@codemirror/lang-java": "^0.19.1",
64
+ "@codemirror/lang-cpp": "^0.19.1",
65
+ "@codemirror/lang-lezer": "^0.19.1",
66
+ "@codemirror/lang-php": "^0.19.1",
67
+ "@codemirror/lang-wast": "^0.19.0",
68
+ "@codemirror/matchbrackets": "^0.19.3",
69
+ "@codemirror/rectangular-selection": "^0.19.1",
70
+ "@codemirror/search": "^0.19.6",
71
+ "@codemirror/view": "^0.19.40"
72
+ },
44
73
  "peerDependencies": {
45
- "codemirror": "^5.63.3",
46
74
  "prosemirror-commands": "^1.1.4",
47
- "prosemirror-state": "^1.3.3",
48
- "prosemirror-model": "^1.15.0"
75
+ "prosemirror-model": "^1.15.0",
76
+ "prosemirror-state": "^1.3.3"
49
77
  },
50
78
  "devDependencies": {
51
- "@types/codemirror": "^5.60.5",
52
79
  "@types/prosemirror-commands": "^1.0.4",
53
80
  "@types/prosemirror-model": "^1.13.2",
54
81
  "@types/prosemirror-state": "^1.2.8",