@kerebron/editor-kits 0.4.31 → 0.5.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.
- package/README.md +11 -3
- package/esm/AdvancedEditorKit.d.ts +4 -3
- package/esm/AdvancedEditorKit.d.ts.map +1 -1
- package/esm/AdvancedEditorKit.js +10 -9
- package/esm/AdvancedEditorKit.js.map +1 -1
- package/esm/CodeEditorKit.d.ts +4 -3
- package/esm/CodeEditorKit.d.ts.map +1 -1
- package/esm/CodeEditorKit.js +9 -8
- package/esm/CodeEditorKit.js.map +1 -1
- package/esm/DevAdvancedEditorKit.d.ts +4 -3
- package/esm/DevAdvancedEditorKit.d.ts.map +1 -1
- package/esm/DevAdvancedEditorKit.js +7 -6
- package/esm/DevAdvancedEditorKit.js.map +1 -1
- package/esm/LspEditorKit.d.ts +4 -4
- package/esm/LspEditorKit.d.ts.map +1 -1
- package/esm/LspEditorKit.js +22 -15
- package/esm/LspEditorKit.js.map +1 -1
- package/esm/YjsEditorKit.d.ts +4 -3
- package/esm/YjsEditorKit.d.ts.map +1 -1
- package/esm/YjsEditorKit.js +7 -5
- package/esm/YjsEditorKit.js.map +1 -1
- package/package.json +13 -13
- package/src/AdvancedEditorKit.ts +14 -11
- package/src/CodeEditorKit.ts +11 -10
- package/src/DevAdvancedEditorKit.ts +11 -8
- package/src/LspEditorKit.ts +28 -23
- package/src/YjsEditorKit.ts +8 -7
package/README.md
CHANGED
|
@@ -26,9 +26,17 @@ number of output npm modules.
|
|
|
26
26
|
|
|
27
27
|
**Work in progress**
|
|
28
28
|
|
|
29
|
-
|
|
30
29
|
## Build
|
|
31
30
|
|
|
31
|
+
###
|
|
32
|
+
|
|
33
|
+
Update git submodules
|
|
34
|
+
|
|
35
|
+
```sh
|
|
36
|
+
git submodule init
|
|
37
|
+
git submodule update
|
|
38
|
+
```
|
|
39
|
+
|
|
32
40
|
### Build static examples and `.wasm` files
|
|
33
41
|
|
|
34
42
|
```sh
|
|
@@ -72,12 +80,12 @@ docker run -it -p 8000:8000 -v $PWD:/usr/src/app editor-test
|
|
|
72
80
|
|
|
73
81
|
Install deno
|
|
74
82
|
|
|
75
|
-
```
|
|
83
|
+
```sh
|
|
76
84
|
npm install -g deno
|
|
77
85
|
```
|
|
78
86
|
|
|
79
87
|
Install rust
|
|
80
88
|
|
|
81
|
-
```
|
|
89
|
+
```sh
|
|
82
90
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
83
91
|
```
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { AnyExtensionOrReq,
|
|
1
|
+
import { AnyExtensionOrReq, EditorKit } from '@kerebron/editor';
|
|
2
2
|
import { ExtensionCustomMenu } from '@kerebron/extension-menu';
|
|
3
|
-
export declare class AdvancedEditorKit
|
|
3
|
+
export declare class AdvancedEditorKit implements EditorKit {
|
|
4
|
+
private menu?;
|
|
4
5
|
name: string;
|
|
5
|
-
requires: AnyExtensionOrReq[];
|
|
6
6
|
constructor(menu?: ConstructorParameters<typeof ExtensionCustomMenu>[0]);
|
|
7
|
+
getExtensions(): AnyExtensionOrReq[];
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=AdvancedEditorKit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdvancedEditorKit.d.ts","sourceRoot":"","sources":["../src/AdvancedEditorKit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"AdvancedEditorKit.d.ts","sourceRoot":"","sources":["../src/AdvancedEditorKit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D,qBAAa,iBAAkB,YAAW,SAAS;IAI/C,OAAO,CAAC,IAAI,CAAC;IAHf,IAAI,SAAqB;gBAGf,IAAI,CAAC,EAAE,qBAAqB,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAIrE,aAAa,IAAI,iBAAiB,EAAE;CAarC"}
|
package/esm/AdvancedEditorKit.js
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import { dracula } from 'thememirror';
|
|
2
|
-
import { Extension } from '@kerebron/editor';
|
|
3
2
|
import { ExtensionBasicEditor } from '@kerebron/extension-basic-editor/ExtensionBasicEditor';
|
|
3
|
+
import { ExtensionCodeMirror } from '@kerebron/extension-codemirror';
|
|
4
|
+
import { ExtensionDevToolkit } from '@kerebron/extension-dev-toolkit';
|
|
4
5
|
import { ExtensionMarkdown } from '@kerebron/extension-markdown';
|
|
6
|
+
import { ExtensionCustomMenu } from '@kerebron/extension-menu';
|
|
5
7
|
import { ExtensionOdt } from '@kerebron/extension-odt';
|
|
6
8
|
import { ExtensionTables } from '@kerebron/extension-tables';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import { ExtensionCodeMirror } from '@kerebron/extension-codemirror';
|
|
10
|
-
export class AdvancedEditorKit extends Extension {
|
|
9
|
+
export class AdvancedEditorKit {
|
|
10
|
+
menu;
|
|
11
11
|
name = 'advanced-editor';
|
|
12
|
-
requires;
|
|
13
12
|
constructor(menu) {
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
this.menu = menu;
|
|
14
|
+
}
|
|
15
|
+
getExtensions() {
|
|
16
|
+
return [
|
|
16
17
|
new ExtensionBasicEditor(),
|
|
17
18
|
new ExtensionMarkdown(),
|
|
18
19
|
new ExtensionOdt(),
|
|
19
20
|
new ExtensionTables(),
|
|
20
21
|
new ExtensionDevToolkit(),
|
|
21
|
-
new ExtensionCustomMenu(menu),
|
|
22
|
+
new ExtensionCustomMenu(this.menu),
|
|
22
23
|
new ExtensionCodeMirror({
|
|
23
24
|
theme: [dracula],
|
|
24
25
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdvancedEditorKit.js","sourceRoot":"","sources":["../src/AdvancedEditorKit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"AdvancedEditorKit.js","sourceRoot":"","sources":["../src/AdvancedEditorKit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,OAAO,iBAAiB;IAIlB;IAHV,IAAI,GAAG,iBAAiB,CAAC;IAEzB,YACU,IAA2D;QAA3D,SAAI,GAAJ,IAAI,CAAuD;IAErE,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,oBAAoB,EAAE;YAC1B,IAAI,iBAAiB,EAAE;YACvB,IAAI,YAAY,EAAE;YAClB,IAAI,eAAe,EAAE;YACrB,IAAI,mBAAmB,EAAE;YACzB,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,IAAI,mBAAmB,CAAC;gBACtB,KAAK,EAAE,CAAC,OAAO,CAAC;aACjB,CAAC;SACH,CAAC;IACJ,CAAC;CACF"}
|
package/esm/CodeEditorKit.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { AnyExtensionOrReq,
|
|
2
|
-
export declare class CodeEditorKit
|
|
1
|
+
import { AnyExtensionOrReq, EditorKit } from '@kerebron/editor';
|
|
2
|
+
export declare class CodeEditorKit implements EditorKit {
|
|
3
|
+
readonly lang: string;
|
|
3
4
|
name: string;
|
|
4
|
-
requires: AnyExtensionOrReq[];
|
|
5
5
|
constructor(lang: string);
|
|
6
|
+
getExtensions(): AnyExtensionOrReq[];
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=CodeEditorKit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditorKit.d.ts","sourceRoot":"","sources":["../src/CodeEditorKit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"CodeEditorKit.d.ts","sourceRoot":"","sources":["../src/CodeEditorKit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAa,MAAM,kBAAkB,CAAC;AAO3E,qBAAa,aAAc,YAAW,SAAS;aAGjB,IAAI,EAAE,MAAM;IAFxC,IAAI,SAAyB;gBAED,IAAI,EAAE,MAAM;IAGxC,aAAa,IAAI,iBAAiB,EAAE;CAYrC"}
|
package/esm/CodeEditorKit.js
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import { Extension } from '@kerebron/editor';
|
|
2
1
|
import { ExtensionBasicCodeEditor } from '@kerebron/extension-basic-editor/ExtensionBasicCodeEditor';
|
|
3
|
-
import { ExtensionMarkdown } from '@kerebron/extension-markdown';
|
|
4
2
|
import { ExtensionDevToolkit } from '@kerebron/extension-dev-toolkit';
|
|
3
|
+
import { ExtensionMarkdown } from '@kerebron/extension-markdown';
|
|
5
4
|
// import { ExtensionCodeMirror } from '@kerebron/extension-codemirror';
|
|
6
5
|
import { ExtensionCodeJar } from '@kerebron/extension-codejar';
|
|
7
|
-
export class CodeEditorKit
|
|
6
|
+
export class CodeEditorKit {
|
|
7
|
+
lang;
|
|
8
8
|
name = 'dev-advanced-editor';
|
|
9
|
-
requires;
|
|
10
9
|
constructor(lang) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
this.lang = lang;
|
|
11
|
+
}
|
|
12
|
+
getExtensions() {
|
|
13
|
+
return [
|
|
14
|
+
new ExtensionBasicCodeEditor({ lang: this.lang }),
|
|
14
15
|
new ExtensionMarkdown(),
|
|
15
16
|
new ExtensionDevToolkit(),
|
|
16
17
|
// new ExtensionCodeMirror({
|
|
17
18
|
// languageWhitelist: [lang],
|
|
18
19
|
// readOnly: false,
|
|
19
20
|
// }),
|
|
20
|
-
new ExtensionCodeJar({ lang }),
|
|
21
|
+
new ExtensionCodeJar({ lang: this.lang }),
|
|
21
22
|
];
|
|
22
23
|
}
|
|
23
24
|
}
|
package/esm/CodeEditorKit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditorKit.js","sourceRoot":"","sources":["../src/CodeEditorKit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CodeEditorKit.js","sourceRoot":"","sources":["../src/CodeEditorKit.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,wEAAwE;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,OAAO,aAAa;IAGI;IAF5B,IAAI,GAAG,qBAAqB,CAAC;IAE7B,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IACxC,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,wBAAwB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,iBAAiB,EAAE;YACvB,IAAI,mBAAmB,EAAE;YACzB,4BAA4B;YAC5B,+BAA+B;YAC/B,qBAAqB;YACrB,MAAM;YACN,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { AnyExtensionOrReq,
|
|
1
|
+
import { AnyExtensionOrReq, EditorKit } from '@kerebron/editor';
|
|
2
2
|
import { ExtensionMenuLegacy } from '@kerebron/extension-menu-legacy';
|
|
3
|
-
export declare class DevAdvancedEditorKit
|
|
3
|
+
export declare class DevAdvancedEditorKit implements EditorKit {
|
|
4
|
+
readonly menu?: ConstructorParameters<typeof ExtensionMenuLegacy>[0];
|
|
4
5
|
name: string;
|
|
5
|
-
requires: AnyExtensionOrReq[];
|
|
6
6
|
constructor(menu?: ConstructorParameters<typeof ExtensionMenuLegacy>[0]);
|
|
7
|
+
getExtensions(): AnyExtensionOrReq[];
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=DevAdvancedEditorKit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevAdvancedEditorKit.d.ts","sourceRoot":"","sources":["../src/DevAdvancedEditorKit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"DevAdvancedEditorKit.d.ts","sourceRoot":"","sources":["../src/DevAdvancedEditorKit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAa,MAAM,kBAAkB,CAAC;AAM3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAItE,qBAAa,oBAAqB,YAAW,SAAS;aAIlC,IAAI,CAAC,EAAE,qBAAqB,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAH7E,IAAI,SAAyB;gBAGX,IAAI,CAAC,EAAE,qBAAqB,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAI7E,aAAa,IAAI,iBAAiB,EAAE;CAcrC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Extension } from '@kerebron/editor';
|
|
2
1
|
import { ExtensionBasicEditor } from '@kerebron/extension-basic-editor/ExtensionBasicEditor';
|
|
3
2
|
import { ExtensionMarkdown } from '@kerebron/extension-markdown';
|
|
4
3
|
import { ExtensionOdt } from '@kerebron/extension-odt';
|
|
@@ -6,18 +5,20 @@ import { ExtensionTables } from '@kerebron/extension-tables';
|
|
|
6
5
|
import { ExtensionDevToolkit } from '@kerebron/extension-dev-toolkit';
|
|
7
6
|
import { ExtensionMenuLegacy } from '@kerebron/extension-menu-legacy';
|
|
8
7
|
import { ExtensionCodeJar } from '@kerebron/extension-codejar';
|
|
9
|
-
export class DevAdvancedEditorKit
|
|
8
|
+
export class DevAdvancedEditorKit {
|
|
9
|
+
menu;
|
|
10
10
|
name = 'dev-advanced-editor';
|
|
11
|
-
requires;
|
|
12
11
|
constructor(menu) {
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
this.menu = menu;
|
|
13
|
+
}
|
|
14
|
+
getExtensions() {
|
|
15
|
+
return [
|
|
15
16
|
new ExtensionBasicEditor(),
|
|
16
17
|
new ExtensionMarkdown(),
|
|
17
18
|
new ExtensionOdt(),
|
|
18
19
|
new ExtensionTables(),
|
|
19
20
|
new ExtensionDevToolkit(),
|
|
20
|
-
new ExtensionMenuLegacy(menu),
|
|
21
|
+
new ExtensionMenuLegacy(this.menu),
|
|
21
22
|
// new ExtensionCodeMirror({
|
|
22
23
|
// theme: [dracula],
|
|
23
24
|
// }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevAdvancedEditorKit.js","sourceRoot":"","sources":["../src/DevAdvancedEditorKit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DevAdvancedEditorKit.js","sourceRoot":"","sources":["../src/DevAdvancedEditorKit.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,OAAO,oBAAoB;IAIb;IAHlB,IAAI,GAAG,qBAAqB,CAAC;IAE7B,YACkB,IAA2D;QAA3D,SAAI,GAAJ,IAAI,CAAuD;IAE7E,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,oBAAoB,EAAE;YAC1B,IAAI,iBAAiB,EAAE;YACvB,IAAI,YAAY,EAAE;YAClB,IAAI,eAAe,EAAE;YACrB,IAAI,mBAAmB,EAAE;YACzB,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,4BAA4B;YAC5B,sBAAsB;YACtB,MAAM;YACN,IAAI,gBAAgB,EAAE;SACvB,CAAC;IACJ,CAAC;CACF"}
|
package/esm/LspEditorKit.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Extension } from '@kerebron/editor';
|
|
2
|
-
import type { AnyExtensionOrReq } from '@kerebron/editor';
|
|
2
|
+
import type { AnyExtensionOrReq, EditorKit } from '@kerebron/editor';
|
|
3
3
|
import { type LspTransportGetter } from '@kerebron/extension-lsp';
|
|
4
4
|
export interface LspEditorKitConfig {
|
|
5
5
|
getLspTransport: LspTransportGetter;
|
|
6
6
|
}
|
|
7
|
-
export declare class LspEditorKit
|
|
7
|
+
export declare class LspEditorKit implements EditorKit {
|
|
8
|
+
readonly config: ConstructorParameters<typeof Extension>[0];
|
|
8
9
|
name: string;
|
|
9
|
-
requires: AnyExtensionOrReq[];
|
|
10
10
|
md: string;
|
|
11
11
|
static createFrom(config?: LspEditorKitConfig): LspEditorKit;
|
|
12
12
|
constructor(config: ConstructorParameters<typeof Extension>[0]);
|
|
13
|
-
|
|
13
|
+
getExtensions(): AnyExtensionOrReq[];
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=LspEditorKit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LspEditorKit.d.ts","sourceRoot":"","sources":["../src/LspEditorKit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"LspEditorKit.d.ts","sourceRoot":"","sources":["../src/LspEditorKit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGrE,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAMhF,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,kBAAkB,CAAC;CACrC;AAsDD,qBAAa,YAAa,YAAW,SAAS;aAU1B,MAAM,EAAE,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IATpE,IAAI,SAAa;IAEjB,EAAE,EAAE,MAAM,CAAM;IAEhB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,kBAAkB;gBAK3B,MAAM,EAAE,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAIpE,aAAa,IAAI,iBAAiB,EAAE;CAQrC"}
|
package/esm/LspEditorKit.js
CHANGED
|
@@ -10,20 +10,8 @@ const defaultGetLspTransport = (lang) => {
|
|
|
10
10
|
}
|
|
11
11
|
return undefined;
|
|
12
12
|
};
|
|
13
|
-
|
|
14
|
-
name = 'lsp-
|
|
15
|
-
requires;
|
|
16
|
-
md = '';
|
|
17
|
-
static createFrom(config) {
|
|
18
|
-
return new LspEditorKit(config);
|
|
19
|
-
}
|
|
20
|
-
constructor(config) {
|
|
21
|
-
super(config);
|
|
22
|
-
const getLspTransport = config?.getLspTransport || defaultGetLspTransport;
|
|
23
|
-
this.requires = [
|
|
24
|
-
new ExtensionLsp({ getLspTransport: getLspTransport }),
|
|
25
|
-
];
|
|
26
|
-
}
|
|
13
|
+
class ExtensionLspListeners extends Extension {
|
|
14
|
+
name = 'lsp-listeners';
|
|
27
15
|
created() {
|
|
28
16
|
this.editor.addEventListener('selection', async (ev) => {
|
|
29
17
|
const selection = ev.detail.selection;
|
|
@@ -36,7 +24,7 @@ export class LspEditorKit extends Extension {
|
|
|
36
24
|
this.editor.addEventListener('transaction', async (ev) => {
|
|
37
25
|
// this.lastValue = ev.detail.transaction.doc;
|
|
38
26
|
const buffer = await this.editor.saveDocument('text/x-markdown');
|
|
39
|
-
this.md = new TextDecoder().decode(buffer);
|
|
27
|
+
// this.md = new TextDecoder().decode(buffer);
|
|
40
28
|
// this.$emit('input', this.lastValue);
|
|
41
29
|
});
|
|
42
30
|
this.editor.addEventListener('md:output', async (ev) => {
|
|
@@ -52,4 +40,23 @@ export class LspEditorKit extends Extension {
|
|
|
52
40
|
});
|
|
53
41
|
}
|
|
54
42
|
}
|
|
43
|
+
export class LspEditorKit {
|
|
44
|
+
config;
|
|
45
|
+
name = 'lsp-kit';
|
|
46
|
+
md = '';
|
|
47
|
+
static createFrom(config) {
|
|
48
|
+
return new LspEditorKit(config);
|
|
49
|
+
}
|
|
50
|
+
constructor(config) {
|
|
51
|
+
this.config = config;
|
|
52
|
+
}
|
|
53
|
+
getExtensions() {
|
|
54
|
+
const getLspTransport = this.config?.getLspTransport ||
|
|
55
|
+
defaultGetLspTransport;
|
|
56
|
+
return [
|
|
57
|
+
new ExtensionLsp({ getLspTransport: getLspTransport }),
|
|
58
|
+
new ExtensionLspListeners(),
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
55
62
|
//# sourceMappingURL=LspEditorKit.js.map
|
package/esm/LspEditorKit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LspEditorKit.js","sourceRoot":"","sources":["../src/LspEditorKit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,YAAY,EAA2B,MAAM,yBAAyB,CAAC;AAUhF,MAAM,sBAAsB,GAAuB,CACjD,IAAY,EACW,EAAE;IACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,MAAM,GAAG,GAAG,QAAQ,GAAG,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;IAEhE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"LspEditorKit.js","sourceRoot":"","sources":["../src/LspEditorKit.ts"],"names":[],"mappings":"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"}
|
package/esm/YjsEditorKit.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as Y from 'yjs';
|
|
2
|
-
import {
|
|
3
|
-
import type { AnyExtensionOrReq } from '@kerebron/editor';
|
|
2
|
+
import type { AnyExtensionOrReq, EditorKit } from '@kerebron/editor';
|
|
4
3
|
import { YjsProvider } from '@kerebron/extension-yjs';
|
|
5
|
-
export declare class YjsEditorKit
|
|
4
|
+
export declare class YjsEditorKit implements EditorKit {
|
|
5
|
+
private wsProvider;
|
|
6
6
|
private ydoc;
|
|
7
7
|
name: string;
|
|
8
8
|
requires: AnyExtensionOrReq[];
|
|
9
9
|
static createFrom(ydoc: Y.Doc, roomId: string): YjsEditorKit;
|
|
10
10
|
constructor(wsProvider: YjsProvider, ydoc: Y.Doc);
|
|
11
|
+
getExtensions(): AnyExtensionOrReq[];
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=YjsEditorKit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YjsEditorKit.d.ts","sourceRoot":"","sources":["../src/YjsEditorKit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"YjsEditorKit.d.ts","sourceRoot":"","sources":["../src/YjsEditorKit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAKzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAgB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEpE,qBAAa,YAAa,YAAW,SAAS;IA8BhC,OAAO,CAAC,UAAU;IAAe,OAAO,CAAC,IAAI;IA7BzD,IAAI,SAAgB;IACpB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAE9B,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM;gBA0BzB,UAAU,EAAE,WAAW,EAAU,IAAI,EAAE,CAAC,CAAC,GAAG;IAGhE,aAAa,IAAI,iBAAiB,EAAE;CAKrC"}
|
package/esm/YjsEditorKit.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as random from 'lib0/random';
|
|
2
2
|
import { WebsocketProvider } from 'y-websocket';
|
|
3
|
-
import { Extension } from '@kerebron/editor';
|
|
4
3
|
import { userColors } from '@kerebron/extension-yjs/userColors';
|
|
5
4
|
import { ExtensionYjs } from '@kerebron/extension-yjs';
|
|
6
|
-
export class YjsEditorKit
|
|
5
|
+
export class YjsEditorKit {
|
|
6
|
+
wsProvider;
|
|
7
7
|
ydoc;
|
|
8
8
|
name = 'yjs-editor';
|
|
9
9
|
requires;
|
|
@@ -25,10 +25,12 @@ export class YjsEditorKit extends Extension {
|
|
|
25
25
|
return new YjsEditorKit(wsProvider, ydoc);
|
|
26
26
|
}
|
|
27
27
|
constructor(wsProvider, ydoc) {
|
|
28
|
-
|
|
28
|
+
this.wsProvider = wsProvider;
|
|
29
29
|
this.ydoc = ydoc;
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
}
|
|
31
|
+
getExtensions() {
|
|
32
|
+
return [
|
|
33
|
+
new ExtensionYjs({ ydoc: this.ydoc, provider: this.wsProvider }),
|
|
32
34
|
];
|
|
33
35
|
}
|
|
34
36
|
}
|
package/esm/YjsEditorKit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YjsEditorKit.js","sourceRoot":"","sources":["../src/YjsEditorKit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"YjsEditorKit.js","sourceRoot":"","sources":["../src/YjsEditorKit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIhD,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAe,MAAM,yBAAyB,CAAC;AAEpE,MAAM,OAAO,YAAY;IA8BH;IAAiC;IA7BrD,IAAI,GAAG,YAAY,CAAC;IACpB,QAAQ,CAAsB;IAE9B,MAAM,CAAC,UAAU,CAAC,IAAW,EAAE,MAAc;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3E,MAAM,UAAU,GAAgB,IAAI,iBAAiB,CACnD,QAAQ,GAAG,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,EACnD,MAAM,EACN,IAAI,CACL,CAAC;QAEF,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,qCAAqC;QACvF,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;YACpD,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,UAAU,EAAE,SAAS,CAAC,KAAK;SAC5B,CAAC,CAAC;QAEH,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,YAAoB,UAAuB,EAAU,IAAW;QAA5C,eAAU,GAAV,UAAU,CAAa;QAAU,SAAI,GAAJ,IAAI,CAAO;IAChE,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;SACjE,CAAC;IACJ,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kerebron/editor-kits",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"module": "./esm/mod.js",
|
|
6
6
|
"exports": {
|
|
@@ -32,18 +32,18 @@
|
|
|
32
32
|
"src"
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@kerebron/editor": "0.
|
|
36
|
-
"@kerebron/extension-basic-editor": "0.
|
|
37
|
-
"@kerebron/extension-codejar": "0.
|
|
38
|
-
"@kerebron/extension-codemirror": "0.
|
|
39
|
-
"@kerebron/extension-dev-toolkit": "0.
|
|
40
|
-
"@kerebron/extension-lsp": "0.
|
|
41
|
-
"@kerebron/extension-markdown": "0.
|
|
42
|
-
"@kerebron/extension-menu": "0.
|
|
43
|
-
"@kerebron/extension-menu-legacy": "0.
|
|
44
|
-
"@kerebron/extension-odt": "0.
|
|
45
|
-
"@kerebron/extension-tables": "0.
|
|
46
|
-
"@kerebron/extension-yjs": "0.
|
|
35
|
+
"@kerebron/editor": "0.5.1",
|
|
36
|
+
"@kerebron/extension-basic-editor": "0.5.1",
|
|
37
|
+
"@kerebron/extension-codejar": "0.5.1",
|
|
38
|
+
"@kerebron/extension-codemirror": "0.5.1",
|
|
39
|
+
"@kerebron/extension-dev-toolkit": "0.5.1",
|
|
40
|
+
"@kerebron/extension-lsp": "0.5.1",
|
|
41
|
+
"@kerebron/extension-markdown": "0.5.1",
|
|
42
|
+
"@kerebron/extension-menu": "0.5.1",
|
|
43
|
+
"@kerebron/extension-menu-legacy": "0.5.1",
|
|
44
|
+
"@kerebron/extension-odt": "0.5.1",
|
|
45
|
+
"@kerebron/extension-tables": "0.5.1",
|
|
46
|
+
"@kerebron/extension-yjs": "0.5.1",
|
|
47
47
|
"lib0": "0.2.109",
|
|
48
48
|
"thememirror": "2.0.1",
|
|
49
49
|
"y-websocket": "3.0.0",
|
package/src/AdvancedEditorKit.ts
CHANGED
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
import { dracula } from 'thememirror';
|
|
2
2
|
|
|
3
|
-
import { AnyExtensionOrReq,
|
|
3
|
+
import { AnyExtensionOrReq, EditorKit } from '@kerebron/editor';
|
|
4
4
|
import { ExtensionBasicEditor } from '@kerebron/extension-basic-editor/ExtensionBasicEditor';
|
|
5
|
+
import { ExtensionCodeMirror } from '@kerebron/extension-codemirror';
|
|
6
|
+
import { ExtensionDevToolkit } from '@kerebron/extension-dev-toolkit';
|
|
5
7
|
import { ExtensionMarkdown } from '@kerebron/extension-markdown';
|
|
8
|
+
import { ExtensionCustomMenu } from '@kerebron/extension-menu';
|
|
6
9
|
import { ExtensionOdt } from '@kerebron/extension-odt';
|
|
7
10
|
import { ExtensionTables } from '@kerebron/extension-tables';
|
|
8
|
-
import { ExtensionDevToolkit } from '@kerebron/extension-dev-toolkit';
|
|
9
|
-
import { ExtensionCustomMenu } from '@kerebron/extension-menu';
|
|
10
|
-
import { ExtensionCodeMirror } from '@kerebron/extension-codemirror';
|
|
11
11
|
|
|
12
|
-
export class AdvancedEditorKit
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
export class AdvancedEditorKit implements EditorKit {
|
|
13
|
+
name = 'advanced-editor';
|
|
14
|
+
|
|
15
|
+
constructor(
|
|
16
|
+
private menu?: ConstructorParameters<typeof ExtensionCustomMenu>[0],
|
|
17
|
+
) {
|
|
18
|
+
}
|
|
15
19
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this.requires = [
|
|
20
|
+
getExtensions(): AnyExtensionOrReq[] {
|
|
21
|
+
return [
|
|
19
22
|
new ExtensionBasicEditor(),
|
|
20
23
|
new ExtensionMarkdown(),
|
|
21
24
|
new ExtensionOdt(),
|
|
22
25
|
new ExtensionTables(),
|
|
23
26
|
new ExtensionDevToolkit(),
|
|
24
|
-
new ExtensionCustomMenu(menu),
|
|
27
|
+
new ExtensionCustomMenu(this.menu),
|
|
25
28
|
new ExtensionCodeMirror({
|
|
26
29
|
theme: [dracula],
|
|
27
30
|
}),
|
package/src/CodeEditorKit.ts
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
import { dracula } from 'thememirror';
|
|
2
2
|
|
|
3
|
-
import { AnyExtensionOrReq, Extension } from '@kerebron/editor';
|
|
3
|
+
import { AnyExtensionOrReq, EditorKit, Extension } from '@kerebron/editor';
|
|
4
4
|
import { ExtensionBasicCodeEditor } from '@kerebron/extension-basic-editor/ExtensionBasicCodeEditor';
|
|
5
|
-
import { ExtensionMarkdown } from '@kerebron/extension-markdown';
|
|
6
5
|
import { ExtensionDevToolkit } from '@kerebron/extension-dev-toolkit';
|
|
6
|
+
import { ExtensionMarkdown } from '@kerebron/extension-markdown';
|
|
7
7
|
// import { ExtensionCodeMirror } from '@kerebron/extension-codemirror';
|
|
8
8
|
import { ExtensionCodeJar } from '@kerebron/extension-codejar';
|
|
9
9
|
|
|
10
|
-
export class CodeEditorKit
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
export class CodeEditorKit implements EditorKit {
|
|
11
|
+
name = 'dev-advanced-editor';
|
|
12
|
+
|
|
13
|
+
constructor(public readonly lang: string) {
|
|
14
|
+
}
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
new ExtensionBasicCodeEditor({ lang }),
|
|
16
|
+
getExtensions(): AnyExtensionOrReq[] {
|
|
17
|
+
return [
|
|
18
|
+
new ExtensionBasicCodeEditor({ lang: this.lang }),
|
|
18
19
|
new ExtensionMarkdown(),
|
|
19
20
|
new ExtensionDevToolkit(),
|
|
20
21
|
// new ExtensionCodeMirror({
|
|
21
22
|
// languageWhitelist: [lang],
|
|
22
23
|
// readOnly: false,
|
|
23
24
|
// }),
|
|
24
|
-
new ExtensionCodeJar({ lang }),
|
|
25
|
+
new ExtensionCodeJar({ lang: this.lang }),
|
|
25
26
|
];
|
|
26
27
|
}
|
|
27
28
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { dracula } from 'thememirror';
|
|
2
2
|
|
|
3
|
-
import { AnyExtensionOrReq, Extension } from '@kerebron/editor';
|
|
3
|
+
import { AnyExtensionOrReq, EditorKit, Extension } from '@kerebron/editor';
|
|
4
4
|
import { ExtensionBasicEditor } from '@kerebron/extension-basic-editor/ExtensionBasicEditor';
|
|
5
5
|
import { ExtensionMarkdown } from '@kerebron/extension-markdown';
|
|
6
6
|
import { ExtensionOdt } from '@kerebron/extension-odt';
|
|
@@ -10,19 +10,22 @@ import { ExtensionMenuLegacy } from '@kerebron/extension-menu-legacy';
|
|
|
10
10
|
import { ExtensionCodeMirror } from '@kerebron/extension-codemirror';
|
|
11
11
|
import { ExtensionCodeJar } from '@kerebron/extension-codejar';
|
|
12
12
|
|
|
13
|
-
export class DevAdvancedEditorKit
|
|
14
|
-
|
|
15
|
-
requires: AnyExtensionOrReq[];
|
|
13
|
+
export class DevAdvancedEditorKit implements EditorKit {
|
|
14
|
+
name = 'dev-advanced-editor';
|
|
16
15
|
|
|
17
|
-
constructor(
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
constructor(
|
|
17
|
+
public readonly menu?: ConstructorParameters<typeof ExtensionMenuLegacy>[0],
|
|
18
|
+
) {
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
getExtensions(): AnyExtensionOrReq[] {
|
|
22
|
+
return [
|
|
20
23
|
new ExtensionBasicEditor(),
|
|
21
24
|
new ExtensionMarkdown(),
|
|
22
25
|
new ExtensionOdt(),
|
|
23
26
|
new ExtensionTables(),
|
|
24
27
|
new ExtensionDevToolkit(),
|
|
25
|
-
new ExtensionMenuLegacy(menu),
|
|
28
|
+
new ExtensionMenuLegacy(this.menu),
|
|
26
29
|
// new ExtensionCodeMirror({
|
|
27
30
|
// theme: [dracula],
|
|
28
31
|
// }),
|
package/src/LspEditorKit.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Extension } from '@kerebron/editor';
|
|
2
|
-
import type { AnyExtensionOrReq } from '@kerebron/editor';
|
|
2
|
+
import type { AnyExtensionOrReq, EditorKit } from '@kerebron/editor';
|
|
3
3
|
|
|
4
4
|
import { LspWebSocketTransport } from '@kerebron/extension-lsp/LspWebSocketTransport';
|
|
5
5
|
import { ExtensionLsp, type LspTransportGetter } from '@kerebron/extension-lsp';
|
|
@@ -25,27 +25,8 @@ const defaultGetLspTransport: LspTransportGetter = (
|
|
|
25
25
|
return undefined;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
override name = 'lsp-
|
|
30
|
-
requires: AnyExtensionOrReq[];
|
|
31
|
-
|
|
32
|
-
md: string = '';
|
|
33
|
-
|
|
34
|
-
static createFrom(config?: LspEditorKitConfig) {
|
|
35
|
-
return new LspEditorKit(config);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
constructor(
|
|
39
|
-
config: ConstructorParameters<typeof Extension>[0],
|
|
40
|
-
) {
|
|
41
|
-
super(config);
|
|
42
|
-
|
|
43
|
-
const getLspTransport = config?.getLspTransport || defaultGetLspTransport;
|
|
44
|
-
|
|
45
|
-
this.requires = [
|
|
46
|
-
new ExtensionLsp({ getLspTransport: getLspTransport }),
|
|
47
|
-
];
|
|
48
|
-
}
|
|
28
|
+
class ExtensionLspListeners extends Extension {
|
|
29
|
+
override name = 'lsp-listeners';
|
|
49
30
|
|
|
50
31
|
override created() {
|
|
51
32
|
this.editor.addEventListener('selection', async (ev: CustomEvent) => {
|
|
@@ -62,7 +43,7 @@ export class LspEditorKit extends Extension {
|
|
|
62
43
|
async (ev: CustomEvent<any>) => {
|
|
63
44
|
// this.lastValue = ev.detail.transaction.doc;
|
|
64
45
|
const buffer = await this.editor.saveDocument('text/x-markdown');
|
|
65
|
-
this.md = new TextDecoder().decode(buffer);
|
|
46
|
+
// this.md = new TextDecoder().decode(buffer);
|
|
66
47
|
// this.$emit('input', this.lastValue);
|
|
67
48
|
},
|
|
68
49
|
);
|
|
@@ -82,3 +63,27 @@ export class LspEditorKit extends Extension {
|
|
|
82
63
|
});
|
|
83
64
|
}
|
|
84
65
|
}
|
|
66
|
+
|
|
67
|
+
export class LspEditorKit implements EditorKit {
|
|
68
|
+
name = 'lsp-kit';
|
|
69
|
+
|
|
70
|
+
md: string = '';
|
|
71
|
+
|
|
72
|
+
static createFrom(config?: LspEditorKitConfig) {
|
|
73
|
+
return new LspEditorKit(config);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
constructor(
|
|
77
|
+
public readonly config: ConstructorParameters<typeof Extension>[0],
|
|
78
|
+
) {
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
getExtensions(): AnyExtensionOrReq[] {
|
|
82
|
+
const getLspTransport = this.config?.getLspTransport ||
|
|
83
|
+
defaultGetLspTransport;
|
|
84
|
+
return [
|
|
85
|
+
new ExtensionLsp({ getLspTransport: getLspTransport }),
|
|
86
|
+
new ExtensionLspListeners(),
|
|
87
|
+
];
|
|
88
|
+
}
|
|
89
|
+
}
|
package/src/YjsEditorKit.ts
CHANGED
|
@@ -3,12 +3,12 @@ import * as random from 'lib0/random';
|
|
|
3
3
|
import { WebsocketProvider } from 'y-websocket';
|
|
4
4
|
|
|
5
5
|
import { Extension } from '@kerebron/editor';
|
|
6
|
-
import type { AnyExtensionOrReq } from '@kerebron/editor';
|
|
6
|
+
import type { AnyExtensionOrReq, EditorKit } from '@kerebron/editor';
|
|
7
7
|
import { userColors } from '@kerebron/extension-yjs/userColors';
|
|
8
8
|
import { ExtensionYjs, YjsProvider } from '@kerebron/extension-yjs';
|
|
9
9
|
|
|
10
|
-
export class YjsEditorKit
|
|
11
|
-
|
|
10
|
+
export class YjsEditorKit implements EditorKit {
|
|
11
|
+
name = 'yjs-editor';
|
|
12
12
|
requires: AnyExtensionOrReq[];
|
|
13
13
|
|
|
14
14
|
static createFrom(ydoc: Y.Doc, roomId: string) {
|
|
@@ -37,11 +37,12 @@ export class YjsEditorKit extends Extension {
|
|
|
37
37
|
return new YjsEditorKit(wsProvider, ydoc);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
constructor(wsProvider: YjsProvider, private ydoc: Y.Doc) {
|
|
41
|
-
|
|
40
|
+
constructor(private wsProvider: YjsProvider, private ydoc: Y.Doc) {
|
|
41
|
+
}
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
getExtensions(): AnyExtensionOrReq[] {
|
|
44
|
+
return [
|
|
45
|
+
new ExtensionYjs({ ydoc: this.ydoc, provider: this.wsProvider }),
|
|
45
46
|
];
|
|
46
47
|
}
|
|
47
48
|
}
|