@difizen/libro-cofine-editor 0.1.13 → 0.1.15

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,11 +1,10 @@
1
- import { EditorHandlerContribution, LanguageOptionsRegistry } from '@difizen/libro-cofine-editor-core';
1
+ import { EditorHandlerContribution } from '@difizen/libro-cofine-editor-core';
2
2
  import { LibroService } from '@difizen/libro-core';
3
- import type { LSPConnection } from '@difizen/libro-lsp';
4
3
  import { ILSPDocumentConnectionManager } from '@difizen/libro-lsp';
5
4
  import { DisposableCollection } from '@difizen/mana-app';
6
- import * as monaco from '@difizen/monaco-editor-core';
5
+ import type { editor } from '@difizen/monaco-editor-core';
6
+ import { languages } from '@difizen/monaco-editor-core';
7
7
  export declare class LSPContribution implements EditorHandlerContribution {
8
- protected readonly optionsResgistry: LanguageOptionsRegistry;
9
8
  protected readonly libroService: LibroService;
10
9
  protected readonly lspDocumentConnectionManager: ILSPDocumentConnectionManager;
11
10
  protected toDispose: DisposableCollection;
@@ -13,10 +12,8 @@ export declare class LSPContribution implements EditorHandlerContribution {
13
12
  beforeCreate(): void;
14
13
  afterCreate(editor: any): void;
15
14
  canHandle(language: string): boolean;
16
- getLanguageSelector(model: monaco.editor.ITextModel): monaco.languages.LanguageFilter;
17
- getVirtualDocument(): Promise<import("@difizen/libro-lsp").VirtualDocument | null | undefined>;
18
- getLSPConnection(): Promise<LSPConnection>;
19
- registerLSPFeature(editor: monaco.editor.IStandaloneCodeEditor): void;
15
+ getLanguageSelector(model: editor.ITextModel): languages.LanguageFilter;
16
+ registerLSPFeature(editor: editor.IStandaloneCodeEditor): void;
20
17
  protected isDisposed: boolean;
21
18
  get disposed(): boolean;
22
19
  disposeLanguageFeature(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-contribution.d.ts","sourceRoot":"","sources":["../../../src/language/lsp/lsp-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAc,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AACxF,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAC;AAStD,qBAGa,eAAgB,YAAW,yBAAyB;IAE/D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,4BAA4B,EAAE,6BAA6B,CAAC;IAE/E,SAAS,CAAC,SAAS,uBAA8B;IAEjD,SAAS,CAAC,QAAQ,WAAc;IAEhC,YAAY;IAGZ,WAAW,CAAC,MAAM,EAAE,GAAG;IAGvB,SAAS,CAAC,QAAQ,EAAE,MAAM;IAI1B,mBAAmB,CACjB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,GAC9B,MAAM,CAAC,SAAS,CAAC,cAAc;IAO5B,kBAAkB;IAkBlB,gBAAgB;IActB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB;IAkE9D,SAAS,CAAC,UAAU,UAAS;IAE7B,IAAI,QAAQ,YAEX;IAED,sBAAsB;IAItB,OAAO;CAIR"}
1
+ {"version":3,"file":"lsp-contribution.d.ts","sourceRoot":"","sources":["../../../src/language/lsp/lsp-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAc,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AACxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAYxD,qBAGa,eAAgB,YAAW,yBAAyB;IACzC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,4BAA4B,EAAE,6BAA6B,CAAC;IAE/E,SAAS,CAAC,SAAS,uBAA8B;IAEjD,SAAS,CAAC,QAAQ,WAAc;IAEhC,YAAY;IAGZ,WAAW,CAAC,MAAM,EAAE,GAAG;IAgBvB,SAAS,CAAC,QAAQ,EAAE,MAAM;IAI1B,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,cAAc;IAOvE,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,qBAAqB;IAsDvD,SAAS,CAAC,UAAU,UAAS;IAE7B,IAAI,QAAQ,YAEX;IAED,sBAAsB;IAItB,OAAO;CAIR"}
@@ -1,14 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor, _descriptor2, _descriptor3;
3
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
10
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
11
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
2
+ var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
12
3
  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
13
4
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14
5
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
@@ -17,11 +8,15 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
17
8
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
9
  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
19
10
  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }
20
- import { EditorHandlerContribution, LanguageOptionsRegistry } from '@difizen/libro-cofine-editor-core';
11
+ import { EditorHandlerContribution } from '@difizen/libro-cofine-editor-core';
21
12
  import { LibroService } from '@difizen/libro-core';
22
13
  import { ILSPDocumentConnectionManager } from '@difizen/libro-lsp';
23
14
  import { Disposable, DisposableCollection, inject, singleton } from '@difizen/mana-app';
24
- import * as monaco from '@difizen/monaco-editor-core';
15
+ import { languages } from '@difizen/monaco-editor-core';
16
+ // import { ILanguageFeaturesService } from '@difizen/monaco-editor-core/esm/vs/editor/common/services/languageFeatures.js';
17
+ // import { StandaloneServices } from '@difizen/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices.js';
18
+ // import { getSingletonServiceDescriptors } from '@difizen/monaco-editor-core/esm/vs/platform/instantiation/common/extensions.js';
19
+
25
20
  import { LibroE2URIScheme } from "../../libro-e2-editor.js";
26
21
  import { CompletionProvider } from "./completion-provider.js";
27
22
  import { DiagnosticProvider } from "./diagnostic-provider.js";
@@ -29,12 +24,11 @@ import { HoverProvider } from "./hover-provider.js";
29
24
  import { SignatureHelpProvider } from "./signature-help-provider.js";
30
25
  export var LSPContribution = (_dec = singleton({
31
26
  contrib: [EditorHandlerContribution]
32
- }), _dec2 = inject(LanguageOptionsRegistry), _dec3 = inject(LibroService), _dec4 = inject(ILSPDocumentConnectionManager), _dec(_class = (_class2 = /*#__PURE__*/function () {
27
+ }), _dec2 = inject(LibroService), _dec3 = inject(ILSPDocumentConnectionManager), _dec(_class = (_class2 = /*#__PURE__*/function () {
33
28
  function LSPContribution() {
34
29
  _classCallCheck(this, LSPContribution);
35
- _initializerDefineProperty(this, "optionsResgistry", _descriptor, this);
36
- _initializerDefineProperty(this, "libroService", _descriptor2, this);
37
- _initializerDefineProperty(this, "lspDocumentConnectionManager", _descriptor3, this);
30
+ _initializerDefineProperty(this, "libroService", _descriptor, this);
31
+ _initializerDefineProperty(this, "lspDocumentConnectionManager", _descriptor2, this);
38
32
  this.toDispose = new DisposableCollection();
39
33
  this.lspLangs = ['python'];
40
34
  this.isDisposed = false;
@@ -48,6 +42,19 @@ export var LSPContribution = (_dec = singleton({
48
42
  key: "afterCreate",
49
43
  value: function afterCreate(editor) {
50
44
  this.registerLSPFeature(editor);
45
+ // const languageFeaturesService = getOrigin(StandaloneServices).get(
46
+ // ILanguageFeaturesService,
47
+ // );
48
+ // for (const [id, descriptor] of getSingletonServiceDescriptors()) {
49
+ // if (id === ILanguageFeaturesService) {
50
+ // console.log('lll', descriptor);
51
+ // }
52
+ // }
53
+ // console.log(
54
+ // StandaloneServices,
55
+ // StandaloneServices.initialize(),
56
+ // getOrigin(languageFeaturesService),
57
+ // );
51
58
  }
52
59
  }, {
53
60
  key: "canHandle",
@@ -62,123 +69,40 @@ export var LSPContribution = (_dec = singleton({
62
69
  pattern: model.uri.path
63
70
  };
64
71
  }
65
- }, {
66
- key: "getVirtualDocument",
67
- value: function () {
68
- var _getVirtualDocument = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
69
- var libroView, adapter, virtualDocument;
70
- return _regeneratorRuntime().wrap(function _callee$(_context) {
71
- while (1) switch (_context.prev = _context.next) {
72
- case 0:
73
- libroView = this.libroService.active;
74
- if (libroView) {
75
- _context.next = 3;
76
- break;
77
- }
78
- return _context.abrupt("return");
79
- case 3:
80
- _context.next = 5;
81
- return this.lspDocumentConnectionManager.ready;
82
- case 5:
83
- adapter = this.lspDocumentConnectionManager.adapters.get(libroView.model.id);
84
- if (adapter) {
85
- _context.next = 8;
86
- break;
87
- }
88
- throw new Error('no adapter');
89
- case 8:
90
- _context.next = 10;
91
- return adapter.ready;
92
- case 10:
93
- // Get the associated virtual document of the opened document
94
- virtualDocument = adapter.virtualDocument;
95
- return _context.abrupt("return", virtualDocument);
96
- case 12:
97
- case "end":
98
- return _context.stop();
99
- }
100
- }, _callee, this);
101
- }));
102
- function getVirtualDocument() {
103
- return _getVirtualDocument.apply(this, arguments);
104
- }
105
- return getVirtualDocument;
106
- }()
107
- }, {
108
- key: "getLSPConnection",
109
- value: function () {
110
- var _getLSPConnection = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
111
- var virtualDocument, lspConnection;
112
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
113
- while (1) switch (_context2.prev = _context2.next) {
114
- case 0:
115
- _context2.next = 2;
116
- return this.getVirtualDocument();
117
- case 2:
118
- virtualDocument = _context2.sent;
119
- if (virtualDocument) {
120
- _context2.next = 5;
121
- break;
122
- }
123
- throw new Error('no virtualDocument');
124
- case 5:
125
- // Get the LSP connection of the virtual document.
126
- lspConnection = this.lspDocumentConnectionManager.connections.get(virtualDocument.uri);
127
- return _context2.abrupt("return", lspConnection);
128
- case 7:
129
- case "end":
130
- return _context2.stop();
131
- }
132
- }, _callee2, this);
133
- }));
134
- function getLSPConnection() {
135
- return _getLSPConnection.apply(this, arguments);
136
- }
137
- return getLSPConnection;
138
- }()
139
72
  }, {
140
73
  key: "registerLSPFeature",
141
74
  value: function registerLSPFeature(editor) {
142
- var _this = this;
143
75
  var model = editor.getModel();
144
76
  if (!model) {
145
77
  return;
146
78
  }
147
- Promise.all([this.getVirtualDocument(), this.getLSPConnection()]).then(function (_ref) {
148
- var _ref2 = _slicedToArray(_ref, 2),
149
- virtualDocument = _ref2[0],
150
- lspConnection = _ref2[1];
151
- if (!lspConnection || !virtualDocument) {
152
- return;
153
- }
154
- _this.toDispose.push(monaco.languages.registerCompletionItemProvider(_this.getLanguageSelector(model), new CompletionProvider(_this.libroService, lspConnection, virtualDocument)));
155
- _this.toDispose.push(monaco.languages.registerHoverProvider(_this.getLanguageSelector(model), new HoverProvider(_this.libroService, lspConnection, virtualDocument)));
156
- var provider = new DiagnosticProvider(_this.libroService, lspConnection, virtualDocument);
157
- _this.toDispose.push(Disposable.create(function () {
158
- return provider.dispose();
159
- }));
160
- _this.toDispose.push(monaco.languages.registerSignatureHelpProvider(_this.getLanguageSelector(model), new SignatureHelpProvider(_this.libroService, lspConnection, virtualDocument)));
161
- // const formatProvider = new FormatProvider(
162
- // this.libroService,
163
- // lspConnection,
164
- // virtualDocument,
165
- // );
166
- // monaco.languages.registerDocumentFormattingEditProvider(
167
- // this.getLanguageSelector(model),
168
- // formatProvider,
169
- // );
170
- // monaco.languages.registerDocumentRangeFormattingEditProvider(
171
- // this.getLanguageSelector(model),
172
- // formatProvider,
173
- // );
174
- return;
175
- }).catch(console.error);
79
+ this.toDispose.push(languages.registerCompletionItemProvider(this.getLanguageSelector(model), new CompletionProvider(this.libroService, this.lspDocumentConnectionManager)));
80
+ this.toDispose.push(languages.registerHoverProvider(this.getLanguageSelector(model), new HoverProvider(this.libroService, this.lspDocumentConnectionManager)));
81
+ var provider = new DiagnosticProvider(this.libroService, this.lspDocumentConnectionManager);
82
+ this.toDispose.push(Disposable.create(function () {
83
+ return provider.dispose();
84
+ }));
85
+ this.toDispose.push(languages.registerSignatureHelpProvider(this.getLanguageSelector(model), new SignatureHelpProvider(this.libroService, this.lspDocumentConnectionManager)));
86
+ // const formatProvider = new FormatProvider(
87
+ // this.libroService,
88
+ // lspConnection,
89
+ // virtualDocument,
90
+ // );
91
+ // languages.registerDocumentFormattingEditProvider(
92
+ // this.getLanguageSelector(model),
93
+ // formatProvider,
94
+ // );
95
+ // languages.registerDocumentRangeFormattingEditProvider(
96
+ // this.getLanguageSelector(model),
97
+ // formatProvider,
98
+ // );
99
+ return;
176
100
 
177
101
  // // SignatureHelp
178
- // monaco.languages.registerSignatureHelpProvider(id, new SignatureHelpProvider(this._worker));
102
+ // languages.registerSignatureHelpProvider(id, new SignatureHelpProvider(this._worker));
179
103
 
180
104
  // // 定义跳转;
181
- // monaco.languages.registerDefinitionProvider(id, new DefinitionAdapter(this._worker));
105
+ // languages.registerDefinitionProvider(id, new DefinitionAdapter(this._worker));
182
106
  }
183
107
  }, {
184
108
  key: "disposed",
@@ -198,17 +122,12 @@ export var LSPContribution = (_dec = singleton({
198
122
  }
199
123
  }]);
200
124
  return LSPContribution;
201
- }(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "optionsResgistry", [_dec2], {
202
- configurable: true,
203
- enumerable: true,
204
- writable: true,
205
- initializer: null
206
- }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "libroService", [_dec3], {
125
+ }(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "libroService", [_dec2], {
207
126
  configurable: true,
208
127
  enumerable: true,
209
128
  writable: true,
210
129
  initializer: null
211
- }), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "lspDocumentConnectionManager", [_dec4], {
130
+ }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "lspDocumentConnectionManager", [_dec3], {
212
131
  configurable: true,
213
132
  enumerable: true,
214
133
  writable: true,
@@ -1,7 +1,7 @@
1
- import type { CodeEditorFactory, CompletionProvider, ICoordinate, IEditor, IEditorConfig, IEditorOptions, IModel, IPosition, IRange, SearchMatch, TooltipProvider } from '@difizen/libro-code-editor';
1
+ import type { CodeEditorFactory, CompletionProvider, EditorState, EditorStateFactory, ICoordinate, IEditor, IEditorConfig, IEditorOptions, IModel, IPosition, IRange, SearchMatch, TooltipProvider } from '@difizen/libro-code-editor';
2
2
  import type { E2Editor } from '@difizen/libro-cofine-editor-core';
3
3
  import type { LSPProvider } from '@difizen/libro-lsp';
4
- import { CommandRegistry, ThemeService } from '@difizen/mana-app';
4
+ import { CommandRegistry, Deferred, ThemeService } from '@difizen/mana-app';
5
5
  import { DisposableCollection, Emitter } from '@difizen/mana-app';
6
6
  import 'resize-observer-polyfill';
7
7
  import { LSPContribution } from './language/lsp/lsp-contribution.js';
@@ -9,6 +9,7 @@ import { LanguageSpecRegistry } from './language-specs.js';
9
9
  import { PlaceholderContentWidget } from './placeholder.js';
10
10
  import type { MonacoEditorOptions, MonacoEditorType, MonacoMatch } from './types.js';
11
11
  import './index.less';
12
+ import * as monaco from '@difizen/monaco-editor-core';
12
13
  export interface LibroE2EditorConfig extends IEditorConfig {
13
14
  /**
14
15
  * The mode to use.
@@ -154,12 +155,18 @@ export interface LibroE2EditorOptions extends IEditorOptions {
154
155
  */
155
156
  config?: Partial<LibroE2EditorConfig>;
156
157
  }
158
+ export declare const LibroE2EditorState: unique symbol;
159
+ export type LibroE2EditorState = EditorState<E2EditorState>;
157
160
  export declare const libroE2DefaultConfig: Required<LibroE2EditorConfig>;
158
161
  export declare const LibroE2EditorFactory: unique symbol;
159
162
  export type LibroE2EditorFactory = CodeEditorFactory;
160
163
  export declare const E2EditorClassname = "libro-e2-editor";
161
164
  export declare const LibroE2URIScheme = "libro-e2";
165
+ export type E2EditorState = monaco.editor.ITextModel | null;
166
+ export declare const e2StateFactory: (languageSpecRegistry: LanguageSpecRegistry) => EditorStateFactory<E2EditorState>;
162
167
  export declare class LibroE2Editor implements IEditor {
168
+ protected editorReadyDeferred: Deferred<void>;
169
+ editorReady: Promise<void>;
163
170
  protected readonly themeService: ThemeService;
164
171
  protected readonly languageSpecRegistry: LanguageSpecRegistry;
165
172
  protected readonly commandRegistry: CommandRegistry;
@@ -177,7 +184,7 @@ export declare class LibroE2Editor implements IEditor {
177
184
  protected placeholder: PlaceholderContentWidget;
178
185
  protected oldDeltaDecorations: string[];
179
186
  protected _config: LibroE2EditorConfig;
180
- private resizeObserver;
187
+ private intersectionObserver;
181
188
  private editorContentHeight;
182
189
  protected _uuid: string;
183
190
  /**
@@ -190,6 +197,7 @@ export declare class LibroE2Editor implements IEditor {
190
197
  * Returns a model for this editor.
191
198
  */
192
199
  get model(): IModel;
200
+ editorState: EditorState<E2EditorState>;
193
201
  protected _editor?: E2Editor<MonacoEditorType>;
194
202
  get editor(): E2Editor<MonacoEditorType> | undefined;
195
203
  get monacoEditor(): MonacoEditorType | undefined;
@@ -198,10 +206,11 @@ export declare class LibroE2Editor implements IEditor {
198
206
  completionProvider?: CompletionProvider;
199
207
  tooltipProvider?: TooltipProvider;
200
208
  protected isLayouting: boolean;
201
- constructor(options: LibroE2EditorOptions, themeService: ThemeService, languageSpecRegistry: LanguageSpecRegistry);
209
+ constructor(options: LibroE2EditorOptions, state: LibroE2EditorState, themeService: ThemeService, languageSpecRegistry: LanguageSpecRegistry);
202
210
  get languageSpec(): import("./language-specs.js").LanguageSpec | undefined;
203
211
  get theme(): string;
204
212
  protected toMonacoOptions(editorConfig: Partial<LibroE2EditorConfig>): MonacoEditorOptions;
213
+ getState(): EditorState<E2EditorState>;
205
214
  protected createEditor(host: HTMLElement, config: LibroE2EditorConfig): Promise<void>;
206
215
  protected inspectResize(): void;
207
216
  protected getEditorNode(): HTMLDivElement;
@@ -1 +1 @@
1
- {"version":3,"file":"libro-e2-editor.d.ts","sourceRoot":"","sources":["../src/libro-e2-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libro-e2-editor.d.ts","sourceRoot":"","sources":["../src/libro-e2-editor.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
17
17
  import { defaultConfig } from '@difizen/libro-code-editor';
18
18
  import { EditorProvider, MonacoEnvironment } from '@difizen/libro-cofine-editor-core';
19
19
  import { NotebookCommands } from '@difizen/libro-core';
20
- import { CommandRegistry, inject, ThemeService, transient, watch } from '@difizen/mana-app';
20
+ import { CommandRegistry, Deferred, getOrigin, inject, ThemeService, transient, watch } from '@difizen/mana-app';
21
21
  import { Disposable, DisposableCollection, Emitter } from '@difizen/mana-app';
22
22
  import { editor, Selection } from '@difizen/monaco-editor-core';
23
23
  import 'resize-observer-polyfill';
@@ -27,7 +27,9 @@ import { LanguageSpecRegistry } from "./language-specs.js";
27
27
  import { PlaceholderContentWidget } from "./placeholder.js";
28
28
  import { MonacoRange, MonacoUri } from "./types.js";
29
29
  import "./index.less";
30
+ import * as monaco from '@difizen/monaco-editor-core';
30
31
  export var LibroE2EditorOptions = Symbol('LibroE2EditorOptions');
32
+ export var LibroE2EditorState = Symbol('LibroE2EditorState');
31
33
  export var libroE2DefaultConfig = _objectSpread(_objectSpread({}, defaultConfig), {}, {
32
34
  theme: {
33
35
  dark: 'libro-dark',
@@ -82,10 +84,33 @@ export var libroE2DefaultConfig = _objectSpread(_objectSpread({}, defaultConfig)
82
84
  export var LibroE2EditorFactory = Symbol('LibroE2EditorFactory');
83
85
  export var E2EditorClassname = 'libro-e2-editor';
84
86
  export var LibroE2URIScheme = 'libro-e2';
87
+ export var e2StateFactory = function e2StateFactory(languageSpecRegistry) {
88
+ return function (options) {
89
+ var spec = languageSpecRegistry.languageSpecs.find(function (item) {
90
+ return item.mime === options.model.mimeType;
91
+ });
92
+ var uri = MonacoUri.from({
93
+ scheme: LibroE2URIScheme,
94
+ path: "".concat(options.uuid).concat(spec === null || spec === void 0 ? void 0 : spec.ext[0])
95
+ });
96
+ var monacoModel = monaco.editor.createModel(options.model.value, spec === null || spec === void 0 ? void 0 : spec.language, uri);
97
+ return {
98
+ state: monacoModel,
99
+ toJSON: function toJSON() {
100
+ return {};
101
+ },
102
+ dispose: function dispose() {
103
+ monacoModel.dispose();
104
+ }
105
+ };
106
+ };
107
+ };
85
108
  export var LibroE2Editor = (_dec = transient(), _dec2 = inject(CommandRegistry), _dec3 = inject(LSPContribution), _dec(_class = (_class2 = /*#__PURE__*/function () {
86
- function LibroE2Editor(options, themeService, languageSpecRegistry) {
109
+ function LibroE2Editor(options, state, themeService, languageSpecRegistry) {
87
110
  var _this = this;
88
111
  _classCallCheck(this, LibroE2Editor);
112
+ this.editorReadyDeferred = new Deferred();
113
+ this.editorReady = this.editorReadyDeferred.promise;
89
114
  _initializerDefineProperty(this, "commandRegistry", _descriptor, this);
90
115
  _initializerDefineProperty(this, "lspContribution", _descriptor2, this);
91
116
  this.defaultLineHeight = 20;
@@ -153,8 +178,10 @@ export var LibroE2Editor = (_dec = transient(), _dec2 = inject(CommandRegistry),
153
178
  (_this$monacoEditor7 = _this.monacoEditor) === null || _this$monacoEditor7 === void 0 || _this$monacoEditor7.trigger('source', 'redo', {});
154
179
  };
155
180
  this.focus = function () {
156
- var _this$monacoEditor8;
157
- (_this$monacoEditor8 = _this.monacoEditor) === null || _this$monacoEditor8 === void 0 || _this$monacoEditor8.focus();
181
+ window.requestAnimationFrame(function () {
182
+ var _this$monacoEditor8;
183
+ (_this$monacoEditor8 = _this.monacoEditor) === null || _this$monacoEditor8 === void 0 || _this$monacoEditor8.focus();
184
+ });
158
185
  };
159
186
  this.hasFocus = function () {
160
187
  var _this$monacoEditor$ha, _this$monacoEditor9;
@@ -311,8 +338,8 @@ export var LibroE2Editor = (_dec = transient(), _dec2 = inject(CommandRegistry),
311
338
  _this._isDisposed = true;
312
339
  };
313
340
  this.disposeResizeObserver = function () {
314
- if (_this.resizeObserver) {
315
- _this.resizeObserver.disconnect();
341
+ if (_this.intersectionObserver) {
342
+ getOrigin(_this.intersectionObserver).disconnect();
316
343
  }
317
344
  };
318
345
  this.themeService = themeService;
@@ -330,6 +357,7 @@ export var LibroE2Editor = (_dec = transient(), _dec2 = inject(CommandRegistry),
330
357
  this.lspProvider = options.lspProvider;
331
358
  this.editorHost = document.createElement('div');
332
359
  this.host.append(this.editorHost);
360
+ this.editorState = state;
333
361
  this.createEditor(this.editorHost, fullConfig);
334
362
  this.onMimeTypeChanged();
335
363
  this.onCursorActivity();
@@ -338,8 +366,9 @@ export var LibroE2Editor = (_dec = transient(), _dec2 = inject(CommandRegistry),
338
366
  this.toDispose.push(watch(this._model, 'selections', this.onSelectionChange));
339
367
  this.toDispose.push(this.themeService.onDidColorThemeChange(this.onThemeChange));
340
368
  }
341
- LibroE2Editor = inject(LanguageSpecRegistry)(LibroE2Editor, undefined, 2) || LibroE2Editor;
342
- LibroE2Editor = inject(ThemeService)(LibroE2Editor, undefined, 1) || LibroE2Editor;
369
+ LibroE2Editor = inject(LanguageSpecRegistry)(LibroE2Editor, undefined, 3) || LibroE2Editor;
370
+ LibroE2Editor = inject(ThemeService)(LibroE2Editor, undefined, 2) || LibroE2Editor;
371
+ LibroE2Editor = inject(LibroE2EditorState)(LibroE2Editor, undefined, 1) || LibroE2Editor;
343
372
  LibroE2Editor = inject(LibroE2EditorOptions)(LibroE2Editor, undefined, 0) || LibroE2Editor;
344
373
  _createClass(LibroE2Editor, [{
345
374
  key: "uuid",
@@ -409,7 +438,7 @@ export var LibroE2Editor = (_dec = transient(), _dec2 = inject(CommandRegistry),
409
438
  lineDecorationsWidth: 15,
410
439
  lineNumbersMinChars: 3,
411
440
  suggestSelection: 'first',
412
- wordBasedSuggestions: 'off',
441
+ wordBasedSuggestions: false,
413
442
  scrollBeyondLastLine: false,
414
443
  /**
415
444
  * 使用该选项可以让modal widget出现在正确的范围,而不是被遮挡,解决z-index问题,但是会导致hover组件之类的无法被选中
@@ -443,10 +472,23 @@ export var LibroE2Editor = (_dec = transient(), _dec2 = inject(CommandRegistry),
443
472
  rulers: editorConfig.rulers,
444
473
  wordWrapColumn: editorConfig.wordWrapColumn,
445
474
  'semanticHighlighting.enabled': true,
446
- maxTokenizationLineLength: 10000
475
+ maxTokenizationLineLength: 10000,
447
476
  // wrappingStrategy: 'advanced',
477
+ hover: {
478
+ enabled: true
479
+ }
448
480
  };
449
481
  }
482
+ }, {
483
+ key: "getState",
484
+ value: function getState() {
485
+ var cursorPosition = this.getCursorPosition();
486
+ var selections = this.getSelections();
487
+ return _objectSpread(_objectSpread({}, this.editorState), {}, {
488
+ cursorPosition: cursorPosition,
489
+ selections: selections
490
+ });
491
+ }
450
492
  }, {
451
493
  key: "createEditor",
452
494
  value: function () {
@@ -462,7 +504,7 @@ export var LibroE2Editor = (_dec = transient(), _dec2 = inject(CommandRegistry),
462
504
  _this$monacoEditor32,
463
505
  _this$languageSpec2,
464
506
  _this$languageSpec2$a;
465
- var editorConfig, editorPorvider, uri, options, e2Editor;
507
+ var editorConfig, editorPorvider, model, options;
466
508
  return _regeneratorRuntime().wrap(function _callee$(_context) {
467
509
  while (1) switch (_context.prev = _context.next) {
468
510
  case 0:
@@ -482,21 +524,16 @@ export var LibroE2Editor = (_dec = transient(), _dec2 = inject(CommandRegistry),
482
524
  return (_this$languageSpec = this.languageSpec) === null || _this$languageSpec === void 0 || (_this$languageSpec$be = _this$languageSpec.beforeEditorInit) === null || _this$languageSpec$be === void 0 ? void 0 : _this$languageSpec$be.call(_this$languageSpec);
483
525
  case 8:
484
526
  editorPorvider = MonacoEnvironment.container.get(EditorProvider);
485
- uri = MonacoUri.from({
486
- scheme: LibroE2URIScheme,
487
- path: "".concat(this.uuid).concat(this.languageSpec.ext[0])
488
- });
527
+ model = this.editorState.state;
489
528
  options = _objectSpread(_objectSpread({}, this.toMonacoOptions(editorConfig)), {}, {
490
529
  /**
491
530
  * language ia an uri:
492
531
  */
493
532
  language: this.languageSpec.language,
494
- uri: uri,
495
533
  theme: this.theme,
496
- value: this.model.value
534
+ model: getOrigin(model)
497
535
  });
498
- e2Editor = editorPorvider.create(host, options);
499
- this._editor = e2Editor;
536
+ this._editor = editorPorvider.create(host, options);
500
537
  this.toDispose.push((_this$monacoEditor$on = (_this$monacoEditor30 = this.monacoEditor) === null || _this$monacoEditor30 === void 0 ? void 0 : _this$monacoEditor30.onDidChangeModelContent(function () {
501
538
  var _this3$monacoEditor;
502
539
  var value = (_this3$monacoEditor = _this3.monacoEditor) === null || _this3$monacoEditor === void 0 ? void 0 : _this3$monacoEditor.getValue();
@@ -512,10 +549,11 @@ export var LibroE2Editor = (_dec = transient(), _dec2 = inject(CommandRegistry),
512
549
  this.updateEditorSize();
513
550
  this.inspectResize();
514
551
  this.handleCommand(this.commandRegistry);
515
- _context.next = 21;
552
+ _context.next = 20;
516
553
  return (_this$languageSpec2 = this.languageSpec) === null || _this$languageSpec2 === void 0 || (_this$languageSpec2$a = _this$languageSpec2.afterEditorInit) === null || _this$languageSpec2$a === void 0 ? void 0 : _this$languageSpec2$a.call(_this$languageSpec2, this);
517
- case 21:
554
+ case 20:
518
555
  this.placeholder = new PlaceholderContentWidget(config.placeholder, this.monacoEditor);
556
+ this.editorReadyDeferred.resolve();
519
557
 
520
558
  // console.log(
521
559
  // 'editor._themeService.getColorTheme()',
@@ -541,16 +579,13 @@ export var LibroE2Editor = (_dec = transient(), _dec2 = inject(CommandRegistry),
541
579
  }, {
542
580
  key: "inspectResize",
543
581
  value: function inspectResize() {
544
- // this.resizeObserver = new ResizeObserver((entries) => {
545
- // entries.forEach((entry) => {
546
- // const isVisible =
547
- // entry.contentRect.width !== 0 && entry.contentRect.height !== 0;
548
- // if (isVisible) {
549
- // this.updateEditorSize();
550
- // }
551
- // });
552
- // });
553
- // this.resizeObserver.observe(this.host);
582
+ var _this4 = this;
583
+ this.intersectionObserver = new IntersectionObserver(function (entries) {
584
+ if (entries[0].isIntersecting) {
585
+ _this4.updateEditorSize();
586
+ }
587
+ });
588
+ this.intersectionObserver.observe(this.host);
554
589
  }
555
590
  }, {
556
591
  key: "getEditorNode",
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAgB/C,eAAO,MAAM,mBAAmB,YAyB5B,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiB/C,eAAO,MAAM,mBAAmB,YA0B5B,CAAC"}
package/es/module.js CHANGED
@@ -6,18 +6,22 @@ import { CodeEditorModule } from '@difizen/libro-code-editor';
6
6
  import { ManaModule } from '@difizen/mana-app';
7
7
  import { LibroE2EditorContribution } from "./editor-contribution.js";
8
8
  import { LanguageSpecContribution, LanguageSpecRegistry, LibroLanguageSpecs } from "./language-specs.js";
9
- import { LibroE2Editor, LibroE2EditorFactory, LibroE2EditorOptions } from "./libro-e2-editor.js";
9
+ import { LibroE2Editor, LibroE2EditorFactory, LibroE2EditorOptions, LibroE2EditorState } from "./libro-e2-editor.js";
10
10
  import { loadE2 } from "./libro-e2-preload.js";
11
11
  import { LibroSQLRequestAPI } from "./libro-sql-api.js";
12
12
  export var LibroE2EditorModule = ManaModule.create().register(LibroE2EditorContribution, LibroE2Editor, LanguageSpecRegistry, LibroLanguageSpecs, LibroSQLRequestAPI, {
13
13
  token: LibroE2EditorFactory,
14
14
  useFactory: function useFactory(ctx) {
15
- return function (options) {
15
+ return function (options, editorState) {
16
16
  var child = ctx.container.createChild();
17
17
  child.register({
18
18
  token: LibroE2EditorOptions,
19
19
  useValue: options
20
20
  });
21
+ child.register({
22
+ token: LibroE2EditorState,
23
+ useValue: editorState
24
+ });
21
25
  return child.get(LibroE2Editor);
22
26
  };
23
27
  }