@kerebron/editor-kits 0.4.30 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,9 @@
1
- import { AnyExtensionOrReq, Extension } from '@kerebron/editor';
1
+ import { AnyExtensionOrReq, EditorKit } from '@kerebron/editor';
2
2
  import { ExtensionCustomMenu } from '@kerebron/extension-menu';
3
- export declare class AdvancedEditorKit extends Extension {
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;AAMhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,qBAAa,iBAAkB,SAAQ,SAAS;IACrC,IAAI,SAAqB;IAClC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;gBAElB,IAAI,CAAC,EAAE,qBAAqB,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAcxE"}
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"}
@@ -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
- import { ExtensionDevToolkit } from '@kerebron/extension-dev-toolkit';
8
- import { ExtensionCustomMenu } from '@kerebron/extension-menu';
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
- super();
15
- this.requires = [
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;AAEtC,OAAO,EAAqB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,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,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IACrC,IAAI,GAAG,iBAAiB,CAAC;IAClC,QAAQ,CAAsB;IAE9B,YAAY,IAA2D;QACrE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG;YACd,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;YAC7B,IAAI,mBAAmB,CAAC;gBACtB,KAAK,EAAE,CAAC,OAAO,CAAC;aACjB,CAAC;SACH,CAAC;IACJ,CAAC;CACF"}
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"}
@@ -1,7 +1,8 @@
1
- import { AnyExtensionOrReq, Extension } from '@kerebron/editor';
2
- export declare class CodeEditorKit extends Extension {
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,EAAE,MAAM,kBAAkB,CAAC;AAOhE,qBAAa,aAAc,SAAQ,SAAS;IACjC,IAAI,SAAyB;IACtC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;gBAElB,IAAI,EAAE,MAAM;CAazB"}
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"}
@@ -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 extends Extension {
6
+ export class CodeEditorKit {
7
+ lang;
8
8
  name = 'dev-advanced-editor';
9
- requires;
10
9
  constructor(lang) {
11
- super();
12
- this.requires = [
13
- new ExtensionBasicCodeEditor({ lang }),
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditorKit.js","sourceRoot":"","sources":["../src/CodeEditorKit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,wEAAwE;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,OAAO,aAAc,SAAQ,SAAS;IACjC,IAAI,GAAG,qBAAqB,CAAC;IACtC,QAAQ,CAAsB;IAE9B,YAAY,IAAY;QACtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC;YACtC,IAAI,iBAAiB,EAAE;YACvB,IAAI,mBAAmB,EAAE;YACzB,4BAA4B;YAC5B,+BAA+B;YAC/B,qBAAqB;YACrB,MAAM;YACN,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC;SAC/B,CAAC;IACJ,CAAC;CACF"}
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, Extension } from '@kerebron/editor';
1
+ import { AnyExtensionOrReq, EditorKit } from '@kerebron/editor';
2
2
  import { ExtensionMenuLegacy } from '@kerebron/extension-menu-legacy';
3
- export declare class DevAdvancedEditorKit extends Extension {
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,EAAE,MAAM,kBAAkB,CAAC;AAMhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAItE,qBAAa,oBAAqB,SAAQ,SAAS;IACxC,IAAI,SAAyB;IACtC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;gBAElB,IAAI,CAAC,EAAE,qBAAqB,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAexE"}
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 extends Extension {
8
+ export class DevAdvancedEditorKit {
9
+ menu;
10
10
  name = 'dev-advanced-editor';
11
- requires;
12
11
  constructor(menu) {
13
- super();
14
- this.requires = [
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":"AAEA,OAAO,EAAqB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,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,oBAAqB,SAAQ,SAAS;IACxC,IAAI,GAAG,qBAAqB,CAAC;IACtC,QAAQ,CAAsB;IAE9B,YAAY,IAA2D;QACrE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG;YACd,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;YAC7B,4BAA4B;YAC5B,sBAAsB;YACtB,MAAM;YACN,IAAI,gBAAgB,EAAE;SACvB,CAAC;IACJ,CAAC;CACF"}
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"}
@@ -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 extends Extension {
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
- created(): void;
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;AAG1D,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAMhF,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,kBAAkB,CAAC;CACrC;AAeD,qBAAa,YAAa,SAAQ,SAAS;IAChC,IAAI,SAAa;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAE9B,EAAE,EAAE,MAAM,CAAM;IAEhB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,kBAAkB;gBAK3C,MAAM,EAAE,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAW3C,OAAO;CAkCjB"}
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"}
@@ -10,20 +10,8 @@ const defaultGetLspTransport = (lang) => {
10
10
  }
11
11
  return undefined;
12
12
  };
13
- export class LspEditorKit extends Extension {
14
- name = 'lsp-kit';
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
@@ -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,OAAO,YAAa,SAAQ,SAAS;IAChC,IAAI,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAsB;IAE9B,EAAE,GAAW,EAAE,CAAC;IAEhB,MAAM,CAAC,UAAU,CAAC,MAA2B;QAC3C,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,YACE,MAAkD;QAElD,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,MAAM,eAAe,GAAG,MAAM,EAAE,eAAe,IAAI,sBAAsB,CAAC;QAE1E,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,YAAY,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;SACvD,CAAC;IACJ,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,EAAe,EAAE,EAAE;YAClE,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;YACtC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChE,oCAAoC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,aAAa,EACb,KAAK,EAAE,EAAoB,EAAE,EAAE;YAC7B,8CAA8C;YAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;YACjE,IAAI,CAAC,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3C,uCAAuC;QACzC,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,EAAoB,EAAE,EAAE;YACvE,MAAM,MAAM,GAAuB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM;iBACnB,QAAQ,EAAE;iBACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAC9D;iBACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACd,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChC,KAAK,EAAE,IAAI,CAAC,GAAG;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"LspEditorKit.js","sourceRoot":"","sources":["../src/LspEditorKit.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import * as Y from 'yjs';
2
- import { Extension } from '@kerebron/editor';
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 extends Extension {
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;AAIzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAgB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEpE,qBAAa,YAAa,SAAQ,SAAS;IA8BJ,OAAO,CAAC,IAAI;IA7BxC,IAAI,SAAgB;IAC7B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAE9B,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM;gBA0BjC,UAAU,EAAE,WAAW,EAAU,IAAI,EAAE,CAAC,CAAC,GAAG;CAOzD"}
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"}
@@ -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 extends Extension {
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
- super();
28
+ this.wsProvider = wsProvider;
29
29
  this.ydoc = ydoc;
30
- this.requires = [
31
- new ExtensionYjs({ ydoc: this.ydoc, provider: wsProvider }),
30
+ }
31
+ getExtensions() {
32
+ return [
33
+ new ExtensionYjs({ ydoc: this.ydoc, provider: this.wsProvider }),
32
34
  ];
33
35
  }
34
36
  }
@@ -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;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAe,MAAM,yBAAyB,CAAC;AAEpE,MAAM,OAAO,YAAa,SAAQ,SAAS;IA8BI;IA7BpC,IAAI,GAAG,YAAY,CAAC;IAC7B,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,YAAY,UAAuB,EAAU,IAAW;QACtD,KAAK,EAAE,CAAC;QADmC,SAAI,GAAJ,IAAI,CAAO;QAGtD,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;SAC5D,CAAC;IACJ,CAAC;CACF"}
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.4.30",
3
+ "version": "0.5.0",
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.4.30",
36
- "@kerebron/extension-basic-editor": "0.4.30",
37
- "@kerebron/extension-codejar": "0.4.30",
38
- "@kerebron/extension-codemirror": "0.4.30",
39
- "@kerebron/extension-dev-toolkit": "0.4.30",
40
- "@kerebron/extension-lsp": "0.4.30",
41
- "@kerebron/extension-markdown": "0.4.30",
42
- "@kerebron/extension-menu": "0.4.30",
43
- "@kerebron/extension-menu-legacy": "0.4.30",
44
- "@kerebron/extension-odt": "0.4.30",
45
- "@kerebron/extension-tables": "0.4.30",
46
- "@kerebron/extension-yjs": "0.4.30",
35
+ "@kerebron/editor": "0.5.0",
36
+ "@kerebron/extension-basic-editor": "0.5.0",
37
+ "@kerebron/extension-codejar": "0.5.0",
38
+ "@kerebron/extension-codemirror": "0.5.0",
39
+ "@kerebron/extension-dev-toolkit": "0.5.0",
40
+ "@kerebron/extension-lsp": "0.5.0",
41
+ "@kerebron/extension-markdown": "0.5.0",
42
+ "@kerebron/extension-menu": "0.5.0",
43
+ "@kerebron/extension-menu-legacy": "0.5.0",
44
+ "@kerebron/extension-odt": "0.5.0",
45
+ "@kerebron/extension-tables": "0.5.0",
46
+ "@kerebron/extension-yjs": "0.5.0",
47
47
  "lib0": "0.2.109",
48
48
  "thememirror": "2.0.1",
49
49
  "y-websocket": "3.0.0",
@@ -1,27 +1,30 @@
1
1
  import { dracula } from 'thememirror';
2
2
 
3
- import { AnyExtensionOrReq, Extension } from '@kerebron/editor';
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 extends Extension {
13
- override name = 'advanced-editor';
14
- requires: AnyExtensionOrReq[];
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
- constructor(menu?: ConstructorParameters<typeof ExtensionCustomMenu>[0]) {
17
- super();
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
  }),
@@ -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 extends Extension {
11
- override name = 'dev-advanced-editor';
12
- requires: AnyExtensionOrReq[];
10
+ export class CodeEditorKit implements EditorKit {
11
+ name = 'dev-advanced-editor';
12
+
13
+ constructor(public readonly lang: string) {
14
+ }
13
15
 
14
- constructor(lang: string) {
15
- super();
16
- this.requires = [
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 extends Extension {
14
- override name = 'dev-advanced-editor';
15
- requires: AnyExtensionOrReq[];
13
+ export class DevAdvancedEditorKit implements EditorKit {
14
+ name = 'dev-advanced-editor';
16
15
 
17
- constructor(menu?: ConstructorParameters<typeof ExtensionMenuLegacy>[0]) {
18
- super();
19
- this.requires = [
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
  // }),
@@ -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
- export class LspEditorKit extends Extension {
29
- override name = 'lsp-kit';
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
+ }
@@ -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 extends Extension {
11
- override name = 'yjs-editor';
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
- super();
40
+ constructor(private wsProvider: YjsProvider, private ydoc: Y.Doc) {
41
+ }
42
42
 
43
- this.requires = [
44
- new ExtensionYjs({ ydoc: this.ydoc, provider: wsProvider }),
43
+ getExtensions(): AnyExtensionOrReq[] {
44
+ return [
45
+ new ExtensionYjs({ ydoc: this.ydoc, provider: this.wsProvider }),
45
46
  ];
46
47
  }
47
48
  }