@kerebron/extension-codemirror 0.0.1

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.
@@ -0,0 +1,57 @@
1
+ export const defaultCreateSelect = (settings, dom, node, view, getPos) => {
2
+ if (!settings.languageLoaders)
3
+ return () => { };
4
+ const { languageLoaders } = settings;
5
+ const select = document.createElement('select');
6
+ select.className = 'codeblock-select';
7
+ const noneOption = document.createElement('option');
8
+ noneOption.value = 'none';
9
+ noneOption.textContent = settings.languageNameMap?.none || 'none';
10
+ select.append(noneOption);
11
+ Object.keys(languageLoaders)
12
+ .sort()
13
+ .forEach((lang) => {
14
+ if (settings.languageWhitelist &&
15
+ !settings.languageWhitelist.includes(lang)) {
16
+ return;
17
+ }
18
+ const option = document.createElement('option');
19
+ option.value = lang;
20
+ option.textContent = settings.languageNameMap?.[lang] || lang;
21
+ select.append(option);
22
+ });
23
+ select.value = node.attrs.lang || 'none';
24
+ dom.prepend(select);
25
+ select.onchange = async (e) => {
26
+ if (!(e.target instanceof HTMLSelectElement))
27
+ return;
28
+ const lang = e.target.value;
29
+ if (typeof getPos === 'function') {
30
+ view.dispatch(view.state.tr.setNodeMarkup(getPos(), undefined, {
31
+ ...node.attrs,
32
+ lang,
33
+ }));
34
+ }
35
+ };
36
+ // Delete code.
37
+ return () => { };
38
+ };
39
+ const defaultUpdateSelect = (settings, dom, node, view, getPos, oldNode) => {
40
+ if (oldNode.attrs.lang !== node.attrs.lang) {
41
+ const select = dom.querySelector('.codeblock-select');
42
+ if (!(select instanceof HTMLSelectElement))
43
+ return;
44
+ select.value = node.attrs.lang || 'none';
45
+ }
46
+ };
47
+ const defaultStopEvent = () => true;
48
+ export const defaultSettings = {
49
+ createSelect: defaultCreateSelect,
50
+ updateSelect: defaultUpdateSelect,
51
+ createCopyButton: () => {
52
+ return () => { };
53
+ },
54
+ stopEvent: defaultStopEvent,
55
+ readOnly: false,
56
+ themes: [],
57
+ };
@@ -0,0 +1,5 @@
1
+ import { LanguageLoaders } from './types.js';
2
+ declare const languageLoaders: LanguageLoaders;
3
+ export declare const legacyLanguageLoaders: LanguageLoaders;
4
+ export default languageLoaders;
5
+ //# sourceMappingURL=languageLoaders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languageLoaders.d.ts","sourceRoot":"","sources":["../src/languageLoaders.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,QAAA,MAAM,eAAe,EAAE,eA6BtB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,eAyWnC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,113 @@
1
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2
+ // @ts-nocheck
3
+ import { StreamLanguage } from '@codemirror/language';
4
+ import { CodeBlockLanguages, LegacyLanguages } from './languages.js';
5
+ const languageLoaders = {
6
+ [CodeBlockLanguages.cpp]: () => import('@codemirror/lang-cpp').then((i) => i.cpp()),
7
+ [CodeBlockLanguages.css]: () => import('@codemirror/lang-css').then((i) => i.css()),
8
+ [CodeBlockLanguages.html]: () => import('@codemirror/lang-html').then((i) => i.html()),
9
+ [CodeBlockLanguages.php]: () => import('@codemirror/lang-php').then((i) => i.php()),
10
+ [CodeBlockLanguages.sql]: () => import('@codemirror/lang-sql').then((i) => i.sql()),
11
+ [CodeBlockLanguages.xml]: () => import('@codemirror/lang-xml').then((i) => i.xml()),
12
+ [CodeBlockLanguages.javascript]: () => import('@codemirror/lang-javascript').then((i) => i.javascript()),
13
+ [CodeBlockLanguages.java]: () => import('@codemirror/lang-java').then((i) => i.java()),
14
+ [CodeBlockLanguages.json]: () => import('@codemirror/lang-json').then((i) => i.json()),
15
+ [CodeBlockLanguages.lezer]: () => import('@codemirror/lang-lezer').then((i) => i.lezer()),
16
+ [CodeBlockLanguages.markdown]: () => import('@codemirror/lang-markdown').then((i) => i.markdown()),
17
+ [CodeBlockLanguages.python]: () => import('@codemirror/lang-python').then((i) => i.python()),
18
+ [CodeBlockLanguages.rust]: () => import('@codemirror/lang-rust').then((i) => i.rust()),
19
+ [CodeBlockLanguages.wast]: () => import('@codemirror/lang-wast').then((i) => i.wast()),
20
+ };
21
+ export const legacyLanguageLoaders = {
22
+ [LegacyLanguages.apl]: () => import('@codemirror/legacy-modes/mode/apl').then(({ apl }) => StreamLanguage.define(apl)),
23
+ [LegacyLanguages.asciiarmor]: () => import('@codemirror/legacy-modes/mode/asciiarmor').then(({ asciiArmor }) => StreamLanguage.define(asciiArmor)),
24
+ [LegacyLanguages.asn1]: () => import('@codemirror/legacy-modes/mode/asn1').then(({ asn1 }) => StreamLanguage.define(asn1)),
25
+ [LegacyLanguages.asterisk]: () => import('@codemirror/legacy-modes/mode/asterisk').then(({ asterisk }) => StreamLanguage.define(asterisk)),
26
+ [LegacyLanguages.brainfuck]: () => import('@codemirror/legacy-modes/mode/brainfuck').then(({ brainfuck }) => StreamLanguage.define(brainfuck)),
27
+ [LegacyLanguages.clike]: () => import('@codemirror/legacy-modes/mode/clike').then(({ clike }) => StreamLanguage.define(clike)),
28
+ [LegacyLanguages.clojure]: () => import('@codemirror/legacy-modes/mode/clojure').then(({ clojure }) => StreamLanguage.define(clojure)),
29
+ [LegacyLanguages.cmake]: () => import('@codemirror/legacy-modes/mode/cmake').then(({ cmake }) => StreamLanguage.define(cmake)),
30
+ [LegacyLanguages.cobol]: () => import('@codemirror/legacy-modes/mode/cobol').then(({ cobol }) => StreamLanguage.define(cobol)),
31
+ [LegacyLanguages.coffeescript]: () => import('@codemirror/legacy-modes/mode/coffeescript').then(({ coffeeScript }) => StreamLanguage.define(coffeeScript)),
32
+ [LegacyLanguages.commonlisp]: () => import('@codemirror/legacy-modes/mode/commonlisp').then(({ commonLisp }) => StreamLanguage.define(commonLisp)),
33
+ [LegacyLanguages.crystal]: () => import('@codemirror/legacy-modes/mode/crystal').then(({ crystal }) => StreamLanguage.define(crystal)),
34
+ [LegacyLanguages.cypher]: () => import('@codemirror/legacy-modes/mode/cypher').then(({ cypher }) => StreamLanguage.define(cypher)),
35
+ [LegacyLanguages.d]: () => import('@codemirror/legacy-modes/mode/d').then(({ d }) => StreamLanguage.define(d)),
36
+ [LegacyLanguages.diff]: () => import('@codemirror/legacy-modes/mode/diff').then(({ diff }) => StreamLanguage.define(diff)),
37
+ [LegacyLanguages.dockerfile]: () => import('@codemirror/legacy-modes/mode/dockerfile').then(({ dockerFile }) => StreamLanguage.define(dockerFile)),
38
+ [LegacyLanguages.dtd]: () => import('@codemirror/legacy-modes/mode/dtd').then(({ dtd }) => StreamLanguage.define(dtd)),
39
+ [LegacyLanguages.dylan]: () => import('@codemirror/legacy-modes/mode/dylan').then(({ dylan }) => StreamLanguage.define(dylan)),
40
+ [LegacyLanguages.ebnf]: () => import('@codemirror/legacy-modes/mode/ebnf').then(({ ebnf }) => StreamLanguage.define(ebnf)),
41
+ [LegacyLanguages.ecl]: () => import('@codemirror/legacy-modes/mode/ecl').then(({ ecl }) => StreamLanguage.define(ecl)),
42
+ [LegacyLanguages.eiffel]: () => import('@codemirror/legacy-modes/mode/eiffel').then(({ eiffel }) => StreamLanguage.define(eiffel)),
43
+ [LegacyLanguages.elm]: () => import('@codemirror/legacy-modes/mode/elm').then(({ elm }) => StreamLanguage.define(elm)),
44
+ [LegacyLanguages.erlang]: () => import('@codemirror/legacy-modes/mode/erlang').then(({ erlang }) => StreamLanguage.define(erlang)),
45
+ [LegacyLanguages.factor]: () => import('@codemirror/legacy-modes/mode/factor').then(({ factor }) => StreamLanguage.define(factor)),
46
+ [LegacyLanguages.fcl]: () => import('@codemirror/legacy-modes/mode/fcl').then(({ fcl }) => StreamLanguage.define(fcl)),
47
+ [LegacyLanguages.forth]: () => import('@codemirror/legacy-modes/mode/forth').then(({ forth }) => StreamLanguage.define(forth)),
48
+ [LegacyLanguages.fortran]: () => import('@codemirror/legacy-modes/mode/fortran').then(({ fortran }) => StreamLanguage.define(fortran)),
49
+ [LegacyLanguages.gas]: () => import('@codemirror/legacy-modes/mode/gas').then(({ gas }) => StreamLanguage.define(gas)),
50
+ [LegacyLanguages.gherkin]: () => import('@codemirror/legacy-modes/mode/gherkin').then(({ gherkin }) => StreamLanguage.define(gherkin)),
51
+ [LegacyLanguages.go]: () => import('@codemirror/legacy-modes/mode/go').then(({ go }) => StreamLanguage.define(go)),
52
+ [LegacyLanguages.groovy]: () => import('@codemirror/legacy-modes/mode/groovy').then(({ groovy }) => StreamLanguage.define(groovy)),
53
+ [LegacyLanguages.haskell]: () => import('@codemirror/legacy-modes/mode/haskell').then(({ haskell }) => StreamLanguage.define(haskell)),
54
+ [LegacyLanguages.haxe]: () => import('@codemirror/legacy-modes/mode/haxe').then(({ haxe }) => StreamLanguage.define(haxe)),
55
+ [LegacyLanguages.http]: () => import('@codemirror/legacy-modes/mode/http').then(({ http }) => StreamLanguage.define(http)),
56
+ [LegacyLanguages.idl]: () => import('@codemirror/legacy-modes/mode/idl').then(({ idl }) => StreamLanguage.define(idl)),
57
+ [LegacyLanguages.jinja2]: () => import('@codemirror/legacy-modes/mode/jinja2').then(({ jinja2 }) => StreamLanguage.define(jinja2)),
58
+ [LegacyLanguages.julia]: () => import('@codemirror/legacy-modes/mode/julia').then(({ julia }) => StreamLanguage.define(julia)),
59
+ [LegacyLanguages.livescript]: () => import('@codemirror/legacy-modes/mode/livescript').then(({ liveScript }) => StreamLanguage.define(liveScript)),
60
+ [LegacyLanguages.lua]: () => import('@codemirror/legacy-modes/mode/lua').then(({ lua: legacyLua }) => StreamLanguage.define(legacyLua)),
61
+ [LegacyLanguages.mathematica]: () => import('@codemirror/legacy-modes/mode/mathematica').then(({ mathematica }) => StreamLanguage.define(mathematica)),
62
+ [LegacyLanguages.mbox]: () => import('@codemirror/legacy-modes/mode/mbox').then(({ mbox }) => StreamLanguage.define(mbox)),
63
+ [LegacyLanguages.mirc]: () => import('@codemirror/legacy-modes/mode/mirc').then(({ mirc }) => StreamLanguage.define(mirc)),
64
+ [LegacyLanguages.mllike]: () => import('@codemirror/legacy-modes/mode/mllike').then(({ oCaml }) => StreamLanguage.define(oCaml)),
65
+ [LegacyLanguages.modelica]: () => import('@codemirror/legacy-modes/mode/modelica').then(({ modelica }) => StreamLanguage.define(modelica)),
66
+ [LegacyLanguages.mscgen]: () => import('@codemirror/legacy-modes/mode/mscgen').then(({ mscgen }) => StreamLanguage.define(mscgen)),
67
+ [LegacyLanguages.mumps]: () => import('@codemirror/legacy-modes/mode/mumps').then(({ mumps }) => StreamLanguage.define(mumps)),
68
+ [LegacyLanguages.nginx]: () => import('@codemirror/legacy-modes/mode/nginx').then(({ nginx }) => StreamLanguage.define(nginx)),
69
+ [LegacyLanguages.nsis]: () => import('@codemirror/legacy-modes/mode/nsis').then(({ nsis }) => StreamLanguage.define(nsis)),
70
+ [LegacyLanguages.ntriples]: () => import('@codemirror/legacy-modes/mode/ntriples').then(({ ntriples }) => StreamLanguage.define(ntriples)),
71
+ [LegacyLanguages.octave]: () => import('@codemirror/legacy-modes/mode/octave').then(({ octave }) => StreamLanguage.define(octave)),
72
+ [LegacyLanguages.oz]: () => import('@codemirror/legacy-modes/mode/oz').then(({ oz }) => StreamLanguage.define(oz)),
73
+ [LegacyLanguages.pascal]: () => import('@codemirror/legacy-modes/mode/pascal').then(({ pascal }) => StreamLanguage.define(pascal)),
74
+ [LegacyLanguages.perl]: () => import('@codemirror/legacy-modes/mode/perl').then(({ perl }) => StreamLanguage.define(perl)),
75
+ [LegacyLanguages.pig]: () => import('@codemirror/legacy-modes/mode/pig').then(({ pig }) => StreamLanguage.define(pig)),
76
+ [LegacyLanguages.powershell]: () => import('@codemirror/legacy-modes/mode/powershell').then(({ powerShell }) => StreamLanguage.define(powerShell)),
77
+ [LegacyLanguages.properties]: () => import('@codemirror/legacy-modes/mode/properties').then(({ properties }) => StreamLanguage.define(properties)),
78
+ [LegacyLanguages.protobuf]: () => import('@codemirror/legacy-modes/mode/protobuf').then(({ protobuf }) => StreamLanguage.define(protobuf)),
79
+ [LegacyLanguages.puppet]: () => import('@codemirror/legacy-modes/mode/puppet').then(({ puppet }) => StreamLanguage.define(puppet)),
80
+ [LegacyLanguages.q]: () => import('@codemirror/legacy-modes/mode/q').then(({ q }) => StreamLanguage.define(q)),
81
+ [LegacyLanguages.r]: () => import('@codemirror/legacy-modes/mode/r').then(({ r }) => StreamLanguage.define(r)),
82
+ [LegacyLanguages.rpm]: () => import('@codemirror/legacy-modes/mode/rpm').then(({ rpmSpec }) => StreamLanguage.define(rpmSpec)),
83
+ [LegacyLanguages.ruby]: () => import('@codemirror/legacy-modes/mode/ruby').then(({ ruby }) => StreamLanguage.define(ruby)),
84
+ [LegacyLanguages.sas]: () => import('@codemirror/legacy-modes/mode/sas').then(({ sas }) => StreamLanguage.define(sas)),
85
+ [LegacyLanguages.scheme]: () => import('@codemirror/legacy-modes/mode/scheme').then(({ scheme }) => StreamLanguage.define(scheme)),
86
+ [LegacyLanguages.shell]: () => import('@codemirror/legacy-modes/mode/shell').then(({ shell }) => StreamLanguage.define(shell)),
87
+ [LegacyLanguages.smalltalk]: () => import('@codemirror/legacy-modes/mode/smalltalk').then(({ smalltalk }) => StreamLanguage.define(smalltalk)),
88
+ [LegacyLanguages.solr]: () => import('@codemirror/legacy-modes/mode/solr').then(({ solr }) => StreamLanguage.define(solr)),
89
+ [LegacyLanguages.sparql]: () => import('@codemirror/legacy-modes/mode/sparql').then(({ sparql }) => StreamLanguage.define(sparql)),
90
+ [LegacyLanguages.spreadsheet]: () => import('@codemirror/legacy-modes/mode/spreadsheet').then(({ spreadsheet }) => StreamLanguage.define(spreadsheet)),
91
+ [LegacyLanguages.stex]: () => import('@codemirror/legacy-modes/mode/stex').then(({ stex }) => StreamLanguage.define(stex)),
92
+ [LegacyLanguages.stylus]: () => import('@codemirror/legacy-modes/mode/stylus').then(({ stylus }) => StreamLanguage.define(stylus)),
93
+ [LegacyLanguages.swift]: () => import('@codemirror/legacy-modes/mode/swift').then(({ swift }) => StreamLanguage.define(swift)),
94
+ [LegacyLanguages.tcl]: () => import('@codemirror/legacy-modes/mode/tcl').then(({ tcl }) => StreamLanguage.define(tcl)),
95
+ [LegacyLanguages.textile]: () => import('@codemirror/legacy-modes/mode/textile').then(({ textile }) => StreamLanguage.define(textile)),
96
+ [LegacyLanguages.tiddlywiki]: () => import('@codemirror/legacy-modes/mode/tiddlywiki').then(({ tiddlyWiki }) => StreamLanguage.define(tiddlyWiki)),
97
+ [LegacyLanguages.tiki]: () => import('@codemirror/legacy-modes/mode/tiki').then(({ tiki }) => StreamLanguage.define(tiki)),
98
+ [LegacyLanguages.toml]: () => import('@codemirror/legacy-modes/mode/toml').then(({ toml }) => StreamLanguage.define(toml)),
99
+ [LegacyLanguages.troff]: () => import('@codemirror/legacy-modes/mode/troff').then(({ troff }) => StreamLanguage.define(troff)),
100
+ [LegacyLanguages.ttcn]: () => import('@codemirror/legacy-modes/mode/ttcn').then(({ ttcn }) => StreamLanguage.define(ttcn)),
101
+ [LegacyLanguages.turtle]: () => import('@codemirror/legacy-modes/mode/turtle').then(({ turtle }) => StreamLanguage.define(turtle)),
102
+ [LegacyLanguages.vb]: () => import('@codemirror/legacy-modes/mode/vb').then(({ vb }) => StreamLanguage.define(vb)),
103
+ [LegacyLanguages.vbscript]: () => import('@codemirror/legacy-modes/mode/vbscript').then(({ vbScript }) => StreamLanguage.define(vbScript)),
104
+ [LegacyLanguages.velocity]: () => import('@codemirror/legacy-modes/mode/velocity').then(({ velocity }) => StreamLanguage.define(velocity)),
105
+ [LegacyLanguages.verilog]: () => import('@codemirror/legacy-modes/mode/verilog').then(({ verilog }) => StreamLanguage.define(verilog)),
106
+ [LegacyLanguages.vhdl]: () => import('@codemirror/legacy-modes/mode/vhdl').then(({ vhdl }) => StreamLanguage.define(vhdl)),
107
+ [LegacyLanguages.webidl]: () => import('@codemirror/legacy-modes/mode/webidl').then(({ webIDL }) => StreamLanguage.define(webIDL)),
108
+ [LegacyLanguages.xquery]: () => import('@codemirror/legacy-modes/mode/xquery').then(({ xQuery }) => StreamLanguage.define(xQuery)),
109
+ [LegacyLanguages.yacas]: () => import('@codemirror/legacy-modes/mode/yacas').then(({ yacas }) => StreamLanguage.define(yacas)),
110
+ [LegacyLanguages.yaml]: () => import('@codemirror/legacy-modes/mode/yaml').then(({ yaml }) => StreamLanguage.define(yaml)),
111
+ [LegacyLanguages.z80]: () => import('@codemirror/legacy-modes/mode/z80').then(({ z80 }) => StreamLanguage.define(z80)),
112
+ };
113
+ export default languageLoaders;
@@ -0,0 +1,109 @@
1
+ export declare enum CodeBlockLanguages {
2
+ javascript = "javascript",
3
+ html = "html",
4
+ css = "css",
5
+ sql = "sql",
6
+ python = "python",
7
+ rust = "rust",
8
+ xml = "xml",
9
+ json = "json",
10
+ markdown = "markdown",
11
+ java = "java",
12
+ cpp = "cpp",
13
+ lezer = "lezer",
14
+ php = "php",
15
+ wast = "wast"
16
+ }
17
+ export declare enum LegacyLanguages {
18
+ apl = "apl",
19
+ asciiarmor = "asciiarmor",
20
+ asn1 = "asn1",
21
+ asterisk = "asterisk",
22
+ brainfuck = "brainfuck",
23
+ clike = "clike",
24
+ clojure = "clojure",
25
+ cmake = "cmake",
26
+ cobol = "cobol",
27
+ coffeescript = "coffeescript",
28
+ commonlisp = "commonlisp",
29
+ crystal = "crystal",
30
+ cypher = "cypher",
31
+ d = "d",
32
+ diff = "diff",
33
+ dockerfile = "dockerfile",
34
+ dtd = "dtd",
35
+ dylan = "dylan",
36
+ ebnf = "ebnf",
37
+ ecl = "ecl",
38
+ eiffel = "eiffel",
39
+ elm = "elm",
40
+ erlang = "erlang",
41
+ factor = "factor",
42
+ fcl = "fcl",
43
+ forth = "forth",
44
+ fortran = "fortran",
45
+ gas = "gas",
46
+ gherkin = "gherkin",
47
+ go = "go",
48
+ groovy = "groovy",
49
+ haskell = "haskell",
50
+ haxe = "haxe",
51
+ http = "http",
52
+ idl = "idl",
53
+ jinja2 = "jinja2",
54
+ julia = "julia",
55
+ livescript = "livescript",
56
+ lua = "lua",
57
+ mathematica = "mathematica",
58
+ mbox = "mbox",
59
+ mirc = "mirc",
60
+ mllike = "mllike",
61
+ modelica = "modelica",
62
+ mscgen = "mscgen",
63
+ mumps = "mumps",
64
+ nginx = "nginx",
65
+ nsis = "nsis",
66
+ ntriples = "ntriples",
67
+ octave = "octave",
68
+ oz = "oz",
69
+ pascal = "pascal",
70
+ perl = "perl",
71
+ pig = "pig",
72
+ powershell = "powershell",
73
+ properties = "properties",
74
+ protobuf = "protobuf",
75
+ puppet = "puppet",
76
+ q = "q",
77
+ r = "r",
78
+ rpm = "rpm",
79
+ ruby = "ruby",
80
+ sas = "sas",
81
+ scheme = "scheme",
82
+ shell = "shell",
83
+ smalltalk = "smalltalk",
84
+ solr = "solr",
85
+ sparql = "sparql",
86
+ spreadsheet = "spreadsheet",
87
+ stex = "stex",
88
+ stylus = "stylus",
89
+ swift = "swift",
90
+ tcl = "tcl",
91
+ textile = "textile",
92
+ tiddlywiki = "tiddlywiki",
93
+ tiki = "tiki",
94
+ toml = "toml",
95
+ troff = "troff",
96
+ ttcn = "ttcn",
97
+ turtle = "turtle",
98
+ vb = "vb",
99
+ vbscript = "vbscript",
100
+ velocity = "velocity",
101
+ verilog = "verilog",
102
+ vhdl = "vhdl",
103
+ webidl = "webidl",
104
+ xquery = "xquery",
105
+ yacas = "yacas",
106
+ yaml = "yaml",
107
+ z80 = "z80"
108
+ }
109
+ //# sourceMappingURL=languages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC5B,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED,oBAAY,eAAe;IACzB,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,CAAC,MAAM;IACP,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,EAAE,OAAO;IACT,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,GAAG,QAAQ;IACX,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,EAAE,OAAO;IACT,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,CAAC,MAAM;IACP,CAAC,MAAM;IACP,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,EAAE,OAAO;IACT,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ"}
@@ -0,0 +1,110 @@
1
+ export var CodeBlockLanguages;
2
+ (function (CodeBlockLanguages) {
3
+ CodeBlockLanguages["javascript"] = "javascript";
4
+ CodeBlockLanguages["html"] = "html";
5
+ CodeBlockLanguages["css"] = "css";
6
+ CodeBlockLanguages["sql"] = "sql";
7
+ CodeBlockLanguages["python"] = "python";
8
+ CodeBlockLanguages["rust"] = "rust";
9
+ CodeBlockLanguages["xml"] = "xml";
10
+ CodeBlockLanguages["json"] = "json";
11
+ CodeBlockLanguages["markdown"] = "markdown";
12
+ CodeBlockLanguages["java"] = "java";
13
+ CodeBlockLanguages["cpp"] = "cpp";
14
+ CodeBlockLanguages["lezer"] = "lezer";
15
+ CodeBlockLanguages["php"] = "php";
16
+ CodeBlockLanguages["wast"] = "wast";
17
+ })(CodeBlockLanguages || (CodeBlockLanguages = {}));
18
+ export var LegacyLanguages;
19
+ (function (LegacyLanguages) {
20
+ LegacyLanguages["apl"] = "apl";
21
+ LegacyLanguages["asciiarmor"] = "asciiarmor";
22
+ LegacyLanguages["asn1"] = "asn1";
23
+ LegacyLanguages["asterisk"] = "asterisk";
24
+ LegacyLanguages["brainfuck"] = "brainfuck";
25
+ LegacyLanguages["clike"] = "clike";
26
+ LegacyLanguages["clojure"] = "clojure";
27
+ LegacyLanguages["cmake"] = "cmake";
28
+ LegacyLanguages["cobol"] = "cobol";
29
+ LegacyLanguages["coffeescript"] = "coffeescript";
30
+ LegacyLanguages["commonlisp"] = "commonlisp";
31
+ LegacyLanguages["crystal"] = "crystal";
32
+ LegacyLanguages["cypher"] = "cypher";
33
+ LegacyLanguages["d"] = "d";
34
+ LegacyLanguages["diff"] = "diff";
35
+ LegacyLanguages["dockerfile"] = "dockerfile";
36
+ LegacyLanguages["dtd"] = "dtd";
37
+ LegacyLanguages["dylan"] = "dylan";
38
+ LegacyLanguages["ebnf"] = "ebnf";
39
+ LegacyLanguages["ecl"] = "ecl";
40
+ LegacyLanguages["eiffel"] = "eiffel";
41
+ LegacyLanguages["elm"] = "elm";
42
+ LegacyLanguages["erlang"] = "erlang";
43
+ LegacyLanguages["factor"] = "factor";
44
+ LegacyLanguages["fcl"] = "fcl";
45
+ LegacyLanguages["forth"] = "forth";
46
+ LegacyLanguages["fortran"] = "fortran";
47
+ LegacyLanguages["gas"] = "gas";
48
+ LegacyLanguages["gherkin"] = "gherkin";
49
+ LegacyLanguages["go"] = "go";
50
+ LegacyLanguages["groovy"] = "groovy";
51
+ LegacyLanguages["haskell"] = "haskell";
52
+ LegacyLanguages["haxe"] = "haxe";
53
+ LegacyLanguages["http"] = "http";
54
+ LegacyLanguages["idl"] = "idl";
55
+ LegacyLanguages["jinja2"] = "jinja2";
56
+ LegacyLanguages["julia"] = "julia";
57
+ LegacyLanguages["livescript"] = "livescript";
58
+ LegacyLanguages["lua"] = "lua";
59
+ LegacyLanguages["mathematica"] = "mathematica";
60
+ LegacyLanguages["mbox"] = "mbox";
61
+ LegacyLanguages["mirc"] = "mirc";
62
+ LegacyLanguages["mllike"] = "mllike";
63
+ LegacyLanguages["modelica"] = "modelica";
64
+ LegacyLanguages["mscgen"] = "mscgen";
65
+ LegacyLanguages["mumps"] = "mumps";
66
+ LegacyLanguages["nginx"] = "nginx";
67
+ LegacyLanguages["nsis"] = "nsis";
68
+ LegacyLanguages["ntriples"] = "ntriples";
69
+ LegacyLanguages["octave"] = "octave";
70
+ LegacyLanguages["oz"] = "oz";
71
+ LegacyLanguages["pascal"] = "pascal";
72
+ LegacyLanguages["perl"] = "perl";
73
+ LegacyLanguages["pig"] = "pig";
74
+ LegacyLanguages["powershell"] = "powershell";
75
+ LegacyLanguages["properties"] = "properties";
76
+ LegacyLanguages["protobuf"] = "protobuf";
77
+ LegacyLanguages["puppet"] = "puppet";
78
+ LegacyLanguages["q"] = "q";
79
+ LegacyLanguages["r"] = "r";
80
+ LegacyLanguages["rpm"] = "rpm";
81
+ LegacyLanguages["ruby"] = "ruby";
82
+ LegacyLanguages["sas"] = "sas";
83
+ LegacyLanguages["scheme"] = "scheme";
84
+ LegacyLanguages["shell"] = "shell";
85
+ LegacyLanguages["smalltalk"] = "smalltalk";
86
+ LegacyLanguages["solr"] = "solr";
87
+ LegacyLanguages["sparql"] = "sparql";
88
+ LegacyLanguages["spreadsheet"] = "spreadsheet";
89
+ LegacyLanguages["stex"] = "stex";
90
+ LegacyLanguages["stylus"] = "stylus";
91
+ LegacyLanguages["swift"] = "swift";
92
+ LegacyLanguages["tcl"] = "tcl";
93
+ LegacyLanguages["textile"] = "textile";
94
+ LegacyLanguages["tiddlywiki"] = "tiddlywiki";
95
+ LegacyLanguages["tiki"] = "tiki";
96
+ LegacyLanguages["toml"] = "toml";
97
+ LegacyLanguages["troff"] = "troff";
98
+ LegacyLanguages["ttcn"] = "ttcn";
99
+ LegacyLanguages["turtle"] = "turtle";
100
+ LegacyLanguages["vb"] = "vb";
101
+ LegacyLanguages["vbscript"] = "vbscript";
102
+ LegacyLanguages["velocity"] = "velocity";
103
+ LegacyLanguages["verilog"] = "verilog";
104
+ LegacyLanguages["vhdl"] = "vhdl";
105
+ LegacyLanguages["webidl"] = "webidl";
106
+ LegacyLanguages["xquery"] = "xquery";
107
+ LegacyLanguages["yacas"] = "yacas";
108
+ LegacyLanguages["yaml"] = "yaml";
109
+ LegacyLanguages["z80"] = "z80";
110
+ })(LegacyLanguages || (LegacyLanguages = {}));
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
package/esm/types.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ import { EditorState, Transaction } from 'prosemirror-state';
2
+ import { EditorView as CodemirrorView } from '@codemirror/view';
3
+ import { Node } from 'prosemirror-model';
4
+ import { EditorView } from 'prosemirror-view';
5
+ import { LanguageSupport } from '@codemirror/language';
6
+ import { Extension } from '@codemirror/state';
7
+ export type LanguageLoaders = Record<string, () => Promise<LanguageSupport>>;
8
+ export type ThemeItem = {
9
+ extension: Extension;
10
+ name: string;
11
+ };
12
+ export type CodeBlockSettings = {
13
+ provider?: any;
14
+ createSelect: (settings: CodeBlockSettings, dom: HTMLElement, node: Node, view: EditorView, getPos: (() => number) | boolean) => () => void;
15
+ updateSelect: (settings: CodeBlockSettings, dom: HTMLElement, node: Node, view: EditorView, getPos: (() => number) | boolean, oldNode: Node) => void;
16
+ createCopyButton: (settings: CodeBlockSettings, dom: HTMLElement, node: Node, view: EditorView, codeMirrorView: CodemirrorView, getPos: (() => number) | boolean) => () => void;
17
+ stopEvent: (e: Event, node: Node, getPos: (() => number) | boolean, view: EditorView, dom: HTMLElement) => boolean;
18
+ languageLoaders?: LanguageLoaders;
19
+ languageNameMap?: Record<string, string>;
20
+ languageWhitelist?: string[];
21
+ undo?: (state: EditorState, dispatch: (tr: Transaction) => void) => void;
22
+ redo?: (state: EditorState, dispatch: (tr: Transaction) => void) => void;
23
+ theme?: Extension[];
24
+ readOnly: boolean;
25
+ themes: ThemeItem[];
26
+ getCurrentTheme?: () => string;
27
+ codeBlockName?: string;
28
+ };
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;AAE7E,MAAM,MAAM,SAAS,GAAG;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,CACZ,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,OAAO,KAC7B,MAAM,IAAI,CAAC;IAChB,YAAY,EAAE,CACZ,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,OAAO,EAChC,OAAO,EAAE,IAAI,KACV,IAAI,CAAC;IACV,gBAAgB,EAAE,CAChB,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,OAAO,KAC7B,MAAM,IAAI,CAAC;IAChB,SAAS,EAAE,CACT,CAAC,EAAE,KAAK,EACR,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,OAAO,EAChC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,WAAW,KACb,OAAO,CAAC;IACb,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI,CAAC;IACzE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI,CAAC;IACzE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC"}
package/esm/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
package/esm/utils.d.ts ADDED
@@ -0,0 +1,39 @@
1
+ import { Command, EditorState, Transaction } from 'prosemirror-state';
2
+ import { EditorView as PMEditorView } from 'prosemirror-view';
3
+ import { Node } from 'prosemirror-model';
4
+ import { EditorView } from '@codemirror/view';
5
+ import { Compartment } from '@codemirror/state';
6
+ import { CodeBlockSettings, ThemeItem } from './types.js';
7
+ export declare const CodeBlockNodeName = "code_block";
8
+ export declare function computeChange(oldVal: string, newVal: string): {
9
+ from: number;
10
+ to: number;
11
+ text: string;
12
+ } | null;
13
+ export declare const asProseMirrorSelection: (pmDoc: Node, cmView: EditorView, getPos: (() => number) | boolean) => any;
14
+ export declare const forwardSelection: (cmView: EditorView, pmView: PMEditorView, getPos: (() => number) | boolean) => void;
15
+ export declare const valueChanged: (textUpdate: string, node: Node, getPos: (() => number) | boolean, view: PMEditorView) => void;
16
+ export declare const maybeEscape: (unit: "char" | "line", dir: -1 | 1, cm: EditorView, view: PMEditorView, getPos: boolean | (() => number)) => boolean;
17
+ export declare const backspaceHandler: (pmView: PMEditorView, view: EditorView) => boolean;
18
+ export declare const setMode: (lang: string, cmView: EditorView, settings: CodeBlockSettings, languageConf: Compartment) => Promise<void>;
19
+ export declare const setTheme: (cmView: EditorView, themeConfig: Compartment, theme: Array<ThemeItem | undefined>) => Promise<void>;
20
+ export declare const createCodeBlock: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, attributes: object) => boolean;
21
+ export declare const removeCodeBlock: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined) => boolean;
22
+ export declare const toggleCodeBlock: (state: EditorState, dispatch: ((tr: Transaction) => void) | undefined, attributes: object) => boolean;
23
+ export declare const codeBlockArrowHandlers: {
24
+ ArrowLeft: Command;
25
+ ArrowRight: Command;
26
+ ArrowUp: Command;
27
+ ArrowDown: Command;
28
+ };
29
+ export declare const codeBlockToggleShortcut: {
30
+ 'Mod-Alt-c': Command;
31
+ };
32
+ export declare const codeBlockKeymap: {
33
+ ArrowLeft: Command;
34
+ ArrowRight: Command;
35
+ ArrowUp: Command;
36
+ ArrowDown: Command;
37
+ 'Mod-Alt-c': Command;
38
+ };
39
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,WAAW,EAGX,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAI3D,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1D,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAM9C,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;SAoB3D;AAED,eAAO,MAAM,sBAAsB,UAC1B,IAAI,UACH,UAAU,UACV,CAAC,MAAM,MAAM,CAAC,GAAG,OAAO,QAMjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,WACnB,UAAU,UACV,YAAY,UACZ,CAAC,MAAM,MAAM,CAAC,GAAG,OAAO,SAOjC,CAAC;AAEF,eAAO,MAAM,YAAY,eACX,MAAM,QACZ,IAAI,UACF,CAAC,MAAM,MAAM,CAAC,GAAG,OAAO,QAC1B,YAAY,SAenB,CAAC;AAEF,eAAO,MAAM,WAAW,SAChB,MAAM,GAAG,MAAM,OAChB,CAAC,CAAC,GAAG,CAAC,MACP,UAAU,QACR,YAAY,UACV,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,YAqBjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAY,YAAY,QAAQ,UAAU,YAWtE,CAAC;AAEF,eAAO,MAAM,OAAO,SACZ,MAAM,UACJ,UAAU,YACR,iBAAiB,gBACb,WAAW,kBAQ1B,CAAC;AAcF,eAAO,MAAM,QAAQ,WACX,UAAU,eACL,WAAW,SACjB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,kBAOpC,CAAC;AA2BF,eAAO,MAAM,eAAe,UACnB,WAAW,YACR,CAAC,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,cACrC,MAAM,YA4DnB,CAAC;AAEF,eAAO,MAAM,eAAe,UACnB,WAAW,YACR,CAAC,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,YAwBlD,CAAC;AAEF,eAAO,MAAM,eAAe,UACnB,WAAW,YACR,CAAC,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,cACrC,MAAM,YAanB,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;CAKlC,CAAC;AAEF,eAAO,MAAM,uBAAuB;iBACF,OAAO;CACxC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;iBAHM,OAAO;CAMxC,CAAC"}