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.
- package/dist/codeMirrorBlockNodeView.d.ts +1 -1
- package/dist/defaults.d.ts +1 -2
- package/dist/index.es.js +2 -2
- package/dist/index.js +2 -2
- package/dist/languages.d.ts +10 -117
- package/dist/types.d.ts +4 -4
- package/dist/utils.d.ts +14 -12
- package/package.json +32 -5
|
@@ -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) => (
|
|
4
|
+
export declare const codeMirrorBlockNodeView: (settings: CodeBlockSettings) => (pmNode: Node, view: PMEditorView, getPos: (() => number) | boolean) => NodeView;
|
package/dist/defaults.d.ts
CHANGED
|
@@ -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,
|
|
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
|
|
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("
|
|
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;
|
package/dist/languages.d.ts
CHANGED
|
@@ -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
|
-
|
|
3
|
+
html = "html",
|
|
4
|
+
css = "css",
|
|
5
|
+
sql = "sql",
|
|
6
|
+
python = "python",
|
|
62
7
|
rust = "rust",
|
|
63
|
-
textile = "textile",
|
|
64
8
|
xml = "xml",
|
|
65
|
-
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
-
|
|
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,
|
|
8
|
-
updateSelect: (settings: CodeBlockSettings, dom: HTMLElement,
|
|
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 {
|
|
2
|
-
import { EditorView
|
|
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
|
|
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: (
|
|
12
|
-
export declare const forwardSelection: (
|
|
13
|
-
export declare const valueChanged: (
|
|
14
|
-
export declare const
|
|
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?:
|
|
17
|
-
ArrowRight: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?:
|
|
18
|
-
ArrowUp: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?:
|
|
19
|
-
ArrowDown: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, view?:
|
|
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.
|
|
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-
|
|
48
|
-
"prosemirror-
|
|
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",
|