UNPKG

easyest-xqp

Version:

1,460 lines (1,459 loc) 44.7 kB
var $e = Object.defineProperty; var qe = (e, n, i) => n in e ? $e(e, n, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[n] = i; var k = (e, n, i) => (qe(e, typeof n != "symbol" ? n + "" : n, i), i); import { m as Qe } from "./index-22aacd77.js"; import "vue"; import "hooks-xqp"; import "utils-xqp"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.41.0(38e1e3d097f84e336c311d071a9ffb5191d4ffd1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ var Ge = Object.defineProperty, Je = Object.getOwnPropertyDescriptor, Ye = Object.getOwnPropertyNames, Ze = Object.prototype.hasOwnProperty, Y = (e, n, i, r) => { if (n && typeof n == "object" || typeof n == "function") for (let t of Ye(n)) !Ze.call(e, t) && t !== i && Ge(e, t, { get: () => n[t], enumerable: !(r = Je(n, t)) || r.enumerable }); return e; }, Ke = (e, n, i) => (Y(e, n, "default"), i && Y(i, n, "default")), c = {}; Ke(c, Qe); var et = 2 * 60 * 1e3, Me = class { constructor(e) { k(this, "_defaults"); k(this, "_idleCheckInterval"); k(this, "_lastUsedTime"); k(this, "_configChangeListener"); k(this, "_worker"); k(this, "_client"); this._defaults = e, this._worker = null, this._client = null, this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3), this._lastUsedTime = 0, this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker()); } _stopWorker() { this._worker && (this._worker.dispose(), this._worker = null), this._client = null; } dispose() { clearInterval(this._idleCheckInterval), this._configChangeListener.dispose(), this._stopWorker(); } _checkIfIdle() { if (!this._worker) return; Date.now() - this._lastUsedTime > et && this._stopWorker(); } _getClient() { return this._lastUsedTime = Date.now(), this._client || (this._worker = c.editor.createWebWorker({ moduleId: "vs/language/html/htmlWorker", createData: { languageSettings: this._defaults.options, languageId: this._defaults.languageId }, label: this._defaults.languageId }), this._client = this._worker.getProxy()), this._client; } getLanguageServiceWorker(...e) { let n; return this._getClient().then((i) => { n = i; }).then((i) => { if (this._worker) return this._worker.withSyncedResources(e); }).then((i) => n); } }, Z; (function(e) { e.MIN_VALUE = -2147483648, e.MAX_VALUE = 2147483647; })(Z || (Z = {})); var H; (function(e) { e.MIN_VALUE = 0, e.MAX_VALUE = 2147483647; })(H || (H = {})); var b; (function(e) { function n(r, t) { return r === Number.MAX_VALUE && (r = H.MAX_VALUE), t === Number.MAX_VALUE && (t = H.MAX_VALUE), { line: r, character: t }; } e.create = n; function i(r) { var t = r; return s.objectLiteral(t) && s.uinteger(t.line) && s.uinteger(t.character); } e.is = i; })(b || (b = {})); var p; (function(e) { function n(r, t, a, o) { if (s.uinteger(r) && s.uinteger(t) && s.uinteger(a) && s.uinteger(o)) return { start: b.create(r, t), end: b.create(a, o) }; if (b.is(r) && b.is(t)) return { start: r, end: t }; throw new Error("Range#create called with invalid arguments[" + r + ", " + t + ", " + a + ", " + o + "]"); } e.create = n; function i(r) { var t = r; return s.objectLiteral(t) && b.is(t.start) && b.is(t.end); } e.is = i; })(p || (p = {})); var X; (function(e) { function n(r, t) { return { uri: r, range: t }; } e.create = n; function i(r) { var t = r; return s.defined(t) && p.is(t.range) && (s.string(t.uri) || s.undefined(t.uri)); } e.is = i; })(X || (X = {})); var K; (function(e) { function n(r, t, a, o) { return { targetUri: r, targetRange: t, targetSelectionRange: a, originSelectionRange: o }; } e.create = n; function i(r) { var t = r; return s.defined(t) && p.is(t.targetRange) && s.string(t.targetUri) && (p.is(t.targetSelectionRange) || s.undefined(t.targetSelectionRange)) && (p.is(t.originSelectionRange) || s.undefined(t.originSelectionRange)); } e.is = i; })(K || (K = {})); var B; (function(e) { function n(r, t, a, o) { return { red: r, green: t, blue: a, alpha: o }; } e.create = n; function i(r) { var t = r; return s.numberRange(t.red, 0, 1) && s.numberRange(t.green, 0, 1) && s.numberRange(t.blue, 0, 1) && s.numberRange(t.alpha, 0, 1); } e.is = i; })(B || (B = {})); var ee; (function(e) { function n(r, t) { return { range: r, color: t }; } e.create = n; function i(r) { var t = r; return p.is(t.range) && B.is(t.color); } e.is = i; })(ee || (ee = {})); var te; (function(e) { function n(r, t, a) { return { label: r, textEdit: t, additionalTextEdits: a }; } e.create = n; function i(r) { var t = r; return s.string(t.label) && (s.undefined(t.textEdit) || C.is(t)) && (s.undefined(t.additionalTextEdits) || s.typedArray(t.additionalTextEdits, C.is)); } e.is = i; })(te || (te = {})); var R; (function(e) { e.Comment = "comment", e.Imports = "imports", e.Region = "region"; })(R || (R = {})); var re; (function(e) { function n(r, t, a, o, u) { var f = { startLine: r, endLine: t }; return s.defined(a) && (f.startCharacter = a), s.defined(o) && (f.endCharacter = o), s.defined(u) && (f.kind = u), f; } e.create = n; function i(r) { var t = r; return s.uinteger(t.startLine) && s.uinteger(t.startLine) && (s.undefined(t.startCharacter) || s.uinteger(t.startCharacter)) && (s.undefined(t.endCharacter) || s.uinteger(t.endCharacter)) && (s.undefined(t.kind) || s.string(t.kind)); } e.is = i; })(re || (re = {})); var $; (function(e) { function n(r, t) { return { location: r, message: t }; } e.create = n; function i(r) { var t = r; return s.defined(t) && X.is(t.location) && s.string(t.message); } e.is = i; })($ || ($ = {})); var I; (function(e) { e.Error = 1, e.Warning = 2, e.Information = 3, e.Hint = 4; })(I || (I = {})); var ne; (function(e) { e.Unnecessary = 1, e.Deprecated = 2; })(ne || (ne = {})); var ie; (function(e) { function n(i) { var r = i; return r != null && s.string(r.href); } e.is = n; })(ie || (ie = {})); var U; (function(e) { function n(r, t, a, o, u, f) { var d = { range: r, message: t }; return s.defined(a) && (d.severity = a), s.defined(o) && (d.code = o), s.defined(u) && (d.source = u), s.defined(f) && (d.relatedInformation = f), d; } e.create = n; function i(r) { var t, a = r; return s.defined(a) && p.is(a.range) && s.string(a.message) && (s.number(a.severity) || s.undefined(a.severity)) && (s.integer(a.code) || s.string(a.code) || s.undefined(a.code)) && (s.undefined(a.codeDescription) || s.string((t = a.codeDescription) === null || t === void 0 ? void 0 : t.href)) && (s.string(a.source) || s.undefined(a.source)) && (s.undefined(a.relatedInformation) || s.typedArray(a.relatedInformation, $.is)); } e.is = i; })(U || (U = {})); var M; (function(e) { function n(r, t) { for (var a = [], o = 2; o < arguments.length; o++) a[o - 2] = arguments[o]; var u = { title: r, command: t }; return s.defined(a) && a.length > 0 && (u.arguments = a), u; } e.create = n; function i(r) { var t = r; return s.defined(t) && s.string(t.title) && s.string(t.command); } e.is = i; })(M || (M = {})); var C; (function(e) { function n(a, o) { return { range: a, newText: o }; } e.replace = n; function i(a, o) { return { range: { start: a, end: a }, newText: o }; } e.insert = i; function r(a) { return { range: a, newText: "" }; } e.del = r; function t(a) { var o = a; return s.objectLiteral(o) && s.string(o.newText) && p.is(o.range); } e.is = t; })(C || (C = {})); var P; (function(e) { function n(r, t, a) { var o = { label: r }; return t !== void 0 && (o.needsConfirmation = t), a !== void 0 && (o.description = a), o; } e.create = n; function i(r) { var t = r; return t !== void 0 && s.objectLiteral(t) && s.string(t.label) && (s.boolean(t.needsConfirmation) || t.needsConfirmation === void 0) && (s.string(t.description) || t.description === void 0); } e.is = i; })(P || (P = {})); var m; (function(e) { function n(i) { var r = i; return typeof r == "string"; } e.is = n; })(m || (m = {})); var x; (function(e) { function n(a, o, u) { return { range: a, newText: o, annotationId: u }; } e.replace = n; function i(a, o, u) { return { range: { start: a, end: a }, newText: o, annotationId: u }; } e.insert = i; function r(a, o) { return { range: a, newText: "", annotationId: o }; } e.del = r; function t(a) { var o = a; return C.is(o) && (P.is(o.annotationId) || m.is(o.annotationId)); } e.is = t; })(x || (x = {})); var O; (function(e) { function n(r, t) { return { textDocument: r, edits: t }; } e.create = n; function i(r) { var t = r; return s.defined(t) && V.is(t.textDocument) && Array.isArray(t.edits); } e.is = i; })(O || (O = {})); var S; (function(e) { function n(r, t, a) { var o = { kind: "create", uri: r }; return t !== void 0 && (t.overwrite !== void 0 || t.ignoreIfExists !== void 0) && (o.options = t), a !== void 0 && (o.annotationId = a), o; } e.create = n; function i(r) { var t = r; return t && t.kind === "create" && s.string(t.uri) && (t.options === void 0 || (t.options.overwrite === void 0 || s.boolean(t.options.overwrite)) && (t.options.ignoreIfExists === void 0 || s.boolean(t.options.ignoreIfExists))) && (t.annotationId === void 0 || m.is(t.annotationId)); } e.is = i; })(S || (S = {})); var T; (function(e) { function n(r, t, a, o) { var u = { kind: "rename", oldUri: r, newUri: t }; return a !== void 0 && (a.overwrite !== void 0 || a.ignoreIfExists !== void 0) && (u.options = a), o !== void 0 && (u.annotationId = o), u; } e.create = n; function i(r) { var t = r; return t && t.kind === "rename" && s.string(t.oldUri) && s.string(t.newUri) && (t.options === void 0 || (t.options.overwrite === void 0 || s.boolean(t.options.overwrite)) && (t.options.ignoreIfExists === void 0 || s.boolean(t.options.ignoreIfExists))) && (t.annotationId === void 0 || m.is(t.annotationId)); } e.is = i; })(T || (T = {})); var F; (function(e) { function n(r, t, a) { var o = { kind: "delete", uri: r }; return t !== void 0 && (t.recursive !== void 0 || t.ignoreIfNotExists !== void 0) && (o.options = t), a !== void 0 && (o.annotationId = a), o; } e.create = n; function i(r) { var t = r; return t && t.kind === "delete" && s.string(t.uri) && (t.options === void 0 || (t.options.recursive === void 0 || s.boolean(t.options.recursive)) && (t.options.ignoreIfNotExists === void 0 || s.boolean(t.options.ignoreIfNotExists))) && (t.annotationId === void 0 || m.is(t.annotationId)); } e.is = i; })(F || (F = {})); var q; (function(e) { function n(i) { var r = i; return r && (r.changes !== void 0 || r.documentChanges !== void 0) && (r.documentChanges === void 0 || r.documentChanges.every(function(t) { return s.string(t.kind) ? S.is(t) || T.is(t) || F.is(t) : O.is(t); })); } e.is = n; })(q || (q = {})); var W = function() { function e(n, i) { this.edits = n, this.changeAnnotations = i; } return e.prototype.insert = function(n, i, r) { var t, a; if (r === void 0 ? t = C.insert(n, i) : m.is(r) ? (a = r, t = x.insert(n, i, r)) : (this.assertChangeAnnotations(this.changeAnnotations), a = this.changeAnnotations.manage(r), t = x.insert(n, i, a)), this.edits.push(t), a !== void 0) return a; }, e.prototype.replace = function(n, i, r) { var t, a; if (r === void 0 ? t = C.replace(n, i) : m.is(r) ? (a = r, t = x.replace(n, i, r)) : (this.assertChangeAnnotations(this.changeAnnotations), a = this.changeAnnotations.manage(r), t = x.replace(n, i, a)), this.edits.push(t), a !== void 0) return a; }, e.prototype.delete = function(n, i) { var r, t; if (i === void 0 ? r = C.del(n) : m.is(i) ? (t = i, r = x.del(n, i)) : (this.assertChangeAnnotations(this.changeAnnotations), t = this.changeAnnotations.manage(i), r = x.del(n, t)), this.edits.push(r), t !== void 0) return t; }, e.prototype.add = function(n) { this.edits.push(n); }, e.prototype.all = function() { return this.edits; }, e.prototype.clear = function() { this.edits.splice(0, this.edits.length); }, e.prototype.assertChangeAnnotations = function(n) { if (n === void 0) throw new Error("Text edit change is not configured to manage change annotations."); }, e; }(), ae = function() { function e(n) { this._annotations = n === void 0 ? /* @__PURE__ */ Object.create(null) : n, this._counter = 0, this._size = 0; } return e.prototype.all = function() { return this._annotations; }, Object.defineProperty(e.prototype, "size", { get: function() { return this._size; }, enumerable: !1, configurable: !0 }), e.prototype.manage = function(n, i) { var r; if (m.is(n) ? r = n : (r = this.nextId(), i = n), this._annotations[r] !== void 0) throw new Error("Id " + r + " is already in use."); if (i === void 0) throw new Error("No annotation provided for id " + r); return this._annotations[r] = i, this._size++, r; }, e.prototype.nextId = function() { return this._counter++, this._counter.toString(); }, e; }(); (function() { function e(n) { var i = this; this._textEditChanges = /* @__PURE__ */ Object.create(null), n !== void 0 ? (this._workspaceEdit = n, n.documentChanges ? (this._changeAnnotations = new ae(n.changeAnnotations), n.changeAnnotations = this._changeAnnotations.all(), n.documentChanges.forEach(function(r) { if (O.is(r)) { var t = new W(r.edits, i._changeAnnotations); i._textEditChanges[r.textDocument.uri] = t; } })) : n.changes && Object.keys(n.changes).forEach(function(r) { var t = new W(n.changes[r]); i._textEditChanges[r] = t; })) : this._workspaceEdit = {}; } return Object.defineProperty(e.prototype, "edit", { get: function() { return this.initDocumentChanges(), this._changeAnnotations !== void 0 && (this._changeAnnotations.size === 0 ? this._workspaceEdit.changeAnnotations = void 0 : this._workspaceEdit.changeAnnotations = this._changeAnnotations.all()), this._workspaceEdit; }, enumerable: !1, configurable: !0 }), e.prototype.getTextEditChange = function(n) { if (V.is(n)) { if (this.initDocumentChanges(), this._workspaceEdit.documentChanges === void 0) throw new Error("Workspace edit is not configured for document changes."); var i = { uri: n.uri, version: n.version }, r = this._textEditChanges[i.uri]; if (!r) { var t = [], a = { textDocument: i, edits: t }; this._workspaceEdit.documentChanges.push(a), r = new W(t, this._changeAnnotations), this._textEditChanges[i.uri] = r; } return r; } else { if (this.initChanges(), this._workspaceEdit.changes === void 0) throw new Error("Workspace edit is not configured for normal text edit changes."); var r = this._textEditChanges[n]; if (!r) { var t = []; this._workspaceEdit.changes[n] = t, r = new W(t), this._textEditChanges[n] = r; } return r; } }, e.prototype.initDocumentChanges = function() { this._workspaceEdit.documentChanges === void 0 && this._workspaceEdit.changes === void 0 && (this._changeAnnotations = new ae(), this._workspaceEdit.documentChanges = [], this._workspaceEdit.changeAnnotations = this._changeAnnotations.all()); }, e.prototype.initChanges = function() { this._workspaceEdit.documentChanges === void 0 && this._workspaceEdit.changes === void 0 && (this._workspaceEdit.changes = /* @__PURE__ */ Object.create(null)); }, e.prototype.createFile = function(n, i, r) { if (this.initDocumentChanges(), this._workspaceEdit.documentChanges === void 0) throw new Error("Workspace edit is not configured for document changes."); var t; P.is(i) || m.is(i) ? t = i : r = i; var a, o; if (t === void 0 ? a = S.create(n, r) : (o = m.is(t) ? t : this._changeAnnotations.manage(t), a = S.create(n, r, o)), this._workspaceEdit.documentChanges.push(a), o !== void 0) return o; }, e.prototype.renameFile = function(n, i, r, t) { if (this.initDocumentChanges(), this._workspaceEdit.documentChanges === void 0) throw new Error("Workspace edit is not configured for document changes."); var a; P.is(r) || m.is(r) ? a = r : t = r; var o, u; if (a === void 0 ? o = T.create(n, i, t) : (u = m.is(a) ? a : this._changeAnnotations.manage(a), o = T.create(n, i, t, u)), this._workspaceEdit.documentChanges.push(o), u !== void 0) return u; }, e.prototype.deleteFile = function(n, i, r) { if (this.initDocumentChanges(), this._workspaceEdit.documentChanges === void 0) throw new Error("Workspace edit is not configured for document changes."); var t; P.is(i) || m.is(i) ? t = i : r = i; var a, o; if (t === void 0 ? a = F.create(n, r) : (o = m.is(t) ? t : this._changeAnnotations.manage(t), a = F.create(n, r, o)), this._workspaceEdit.documentChanges.push(a), o !== void 0) return o; }, e; })(); var oe; (function(e) { function n(r) { return { uri: r }; } e.create = n; function i(r) { var t = r; return s.defined(t) && s.string(t.uri); } e.is = i; })(oe || (oe = {})); var se; (function(e) { function n(r, t) { return { uri: r, version: t }; } e.create = n; function i(r) { var t = r; return s.defined(t) && s.string(t.uri) && s.integer(t.version); } e.is = i; })(se || (se = {})); var V; (function(e) { function n(r, t) { return { uri: r, version: t }; } e.create = n; function i(r) { var t = r; return s.defined(t) && s.string(t.uri) && (t.version === null || s.integer(t.version)); } e.is = i; })(V || (V = {})); var ue; (function(e) { function n(r, t, a, o) { return { uri: r, languageId: t, version: a, text: o }; } e.create = n; function i(r) { var t = r; return s.defined(t) && s.string(t.uri) && s.string(t.languageId) && s.integer(t.version) && s.string(t.text); } e.is = i; })(ue || (ue = {})); var L; (function(e) { e.PlainText = "plaintext", e.Markdown = "markdown"; })(L || (L = {})); (function(e) { function n(i) { var r = i; return r === e.PlainText || r === e.Markdown; } e.is = n; })(L || (L = {})); var Q; (function(e) { function n(i) { var r = i; return s.objectLiteral(i) && L.is(r.kind) && s.string(r.value); } e.is = n; })(Q || (Q = {})); var l; (function(e) { e.Text = 1, e.Method = 2, e.Function = 3, e.Constructor = 4, e.Field = 5, e.Variable = 6, e.Class = 7, e.Interface = 8, e.Module = 9, e.Property = 10, e.Unit = 11, e.Value = 12, e.Enum = 13, e.Keyword = 14, e.Snippet = 15, e.Color = 16, e.File = 17, e.Reference = 18, e.Folder = 19, e.EnumMember = 20, e.Constant = 21, e.Struct = 22, e.Event = 23, e.Operator = 24, e.TypeParameter = 25; })(l || (l = {})); var G; (function(e) { e.PlainText = 1, e.Snippet = 2; })(G || (G = {})); var ce; (function(e) { e.Deprecated = 1; })(ce || (ce = {})); var de; (function(e) { function n(r, t, a) { return { newText: r, insert: t, replace: a }; } e.create = n; function i(r) { var t = r; return t && s.string(t.newText) && p.is(t.insert) && p.is(t.replace); } e.is = i; })(de || (de = {})); var ge; (function(e) { e.asIs = 1, e.adjustIndentation = 2; })(ge || (ge = {})); var fe; (function(e) { function n(i) { return { label: i }; } e.create = n; })(fe || (fe = {})); var le; (function(e) { function n(i, r) { return { items: i || [], isIncomplete: !!r }; } e.create = n; })(le || (le = {})); var z; (function(e) { function n(r) { return r.replace(/[\\`*_{}[\]()#+\-.!]/g, "\\$&"); } e.fromPlainText = n; function i(r) { var t = r; return s.string(t) || s.objectLiteral(t) && s.string(t.language) && s.string(t.value); } e.is = i; })(z || (z = {})); var he; (function(e) { function n(i) { var r = i; return !!r && s.objectLiteral(r) && (Q.is(r.contents) || z.is(r.contents) || s.typedArray(r.contents, z.is)) && (i.range === void 0 || p.is(i.range)); } e.is = n; })(he || (he = {})); var ve; (function(e) { function n(i, r) { return r ? { label: i, documentation: r } : { label: i }; } e.create = n; })(ve || (ve = {})); var pe; (function(e) { function n(i, r) { for (var t = [], a = 2; a < arguments.length; a++) t[a - 2] = arguments[a]; var o = { label: i }; return s.defined(r) && (o.documentation = r), s.defined(t) ? o.parameters = t : o.parameters = [], o; } e.create = n; })(pe || (pe = {})); var D; (function(e) { e.Text = 1, e.Read = 2, e.Write = 3; })(D || (D = {})); var me; (function(e) { function n(i, r) { var t = { range: i }; return s.number(r) && (t.kind = r), t; } e.create = n; })(me || (me = {})); var h; (function(e) { e.File = 1, e.Module = 2, e.Namespace = 3, e.Package = 4, e.Class = 5, e.Method = 6, e.Property = 7, e.Field = 8, e.Constructor = 9, e.Enum = 10, e.Interface = 11, e.Function = 12, e.Variable = 13, e.Constant = 14, e.String = 15, e.Number = 16, e.Boolean = 17, e.Array = 18, e.Object = 19, e.Key = 20, e.Null = 21, e.EnumMember = 22, e.Struct = 23, e.Event = 24, e.Operator = 25, e.TypeParameter = 26; })(h || (h = {})); var _e; (function(e) { e.Deprecated = 1; })(_e || (_e = {})); var we; (function(e) { function n(i, r, t, a, o) { var u = { name: i, kind: r, location: { uri: a, range: t } }; return o && (u.containerName = o), u; } e.create = n; })(we || (we = {})); var ke; (function(e) { function n(r, t, a, o, u, f) { var d = { name: r, detail: t, kind: a, range: o, selectionRange: u }; return f !== void 0 && (d.children = f), d; } e.create = n; function i(r) { var t = r; return t && s.string(t.name) && s.number(t.kind) && p.is(t.range) && p.is(t.selectionRange) && (t.detail === void 0 || s.string(t.detail)) && (t.deprecated === void 0 || s.boolean(t.deprecated)) && (t.children === void 0 || Array.isArray(t.children)) && (t.tags === void 0 || Array.isArray(t.tags)); } e.is = i; })(ke || (ke = {})); var be; (function(e) { e.Empty = "", e.QuickFix = "quickfix", e.Refactor = "refactor", e.RefactorExtract = "refactor.extract", e.RefactorInline = "refactor.inline", e.RefactorRewrite = "refactor.rewrite", e.Source = "source", e.SourceOrganizeImports = "source.organizeImports", e.SourceFixAll = "source.fixAll"; })(be || (be = {})); var Ee; (function(e) { function n(r, t) { var a = { diagnostics: r }; return t != null && (a.only = t), a; } e.create = n; function i(r) { var t = r; return s.defined(t) && s.typedArray(t.diagnostics, U.is) && (t.only === void 0 || s.typedArray(t.only, s.string)); } e.is = i; })(Ee || (Ee = {})); var xe; (function(e) { function n(r, t, a) { var o = { title: r }, u = !0; return typeof t == "string" ? (u = !1, o.kind = t) : M.is(t) ? o.command = t : o.edit = t, u && a !== void 0 && (o.kind = a), o; } e.create = n; function i(r) { var t = r; return t && s.string(t.title) && (t.diagnostics === void 0 || s.typedArray(t.diagnostics, U.is)) && (t.kind === void 0 || s.string(t.kind)) && (t.edit !== void 0 || t.command !== void 0) && (t.command === void 0 || M.is(t.command)) && (t.isPreferred === void 0 || s.boolean(t.isPreferred)) && (t.edit === void 0 || q.is(t.edit)); } e.is = i; })(xe || (xe = {})); var Ce; (function(e) { function n(r, t) { var a = { range: r }; return s.defined(t) && (a.data = t), a; } e.create = n; function i(r) { var t = r; return s.defined(t) && p.is(t.range) && (s.undefined(t.command) || M.is(t.command)); } e.is = i; })(Ce || (Ce = {})); var Ae; (function(e) { function n(r, t) { return { tabSize: r, insertSpaces: t }; } e.create = n; function i(r) { var t = r; return s.defined(t) && s.uinteger(t.tabSize) && s.boolean(t.insertSpaces); } e.is = i; })(Ae || (Ae = {})); var ye; (function(e) { function n(r, t, a) { return { range: r, target: t, data: a }; } e.create = n; function i(r) { var t = r; return s.defined(t) && p.is(t.range) && (s.undefined(t.target) || s.string(t.target)); } e.is = i; })(ye || (ye = {})); var Ie; (function(e) { function n(r, t) { return { range: r, parent: t }; } e.create = n; function i(r) { var t = r; return t !== void 0 && p.is(t.range) && (t.parent === void 0 || e.is(t.parent)); } e.is = i; })(Ie || (Ie = {})); var Pe; (function(e) { function n(a, o, u, f) { return new tt(a, o, u, f); } e.create = n; function i(a) { var o = a; return !!(s.defined(o) && s.string(o.uri) && (s.undefined(o.languageId) || s.string(o.languageId)) && s.uinteger(o.lineCount) && s.func(o.getText) && s.func(o.positionAt) && s.func(o.offsetAt)); } e.is = i; function r(a, o) { for (var u = a.getText(), f = t(o, function(y, N) { var J = y.range.start.line - N.range.start.line; return J === 0 ? y.range.start.character - N.range.start.character : J; }), d = u.length, v = f.length - 1; v >= 0; v--) { var w = f[v], E = a.offsetAt(w.range.start), g = a.offsetAt(w.range.end); if (g <= d) u = u.substring(0, E) + w.newText + u.substring(g, u.length); else throw new Error("Overlapping edit"); d = E; } return u; } e.applyEdits = r; function t(a, o) { if (a.length <= 1) return a; var u = a.length / 2 | 0, f = a.slice(0, u), d = a.slice(u); t(f, o), t(d, o); for (var v = 0, w = 0, E = 0; v < f.length && w < d.length; ) { var g = o(f[v], d[w]); g <= 0 ? a[E++] = f[v++] : a[E++] = d[w++]; } for (; v < f.length; ) a[E++] = f[v++]; for (; w < d.length; ) a[E++] = d[w++]; return a; } })(Pe || (Pe = {})); var tt = function() { function e(n, i, r, t) { this._uri = n, this._languageId = i, this._version = r, this._content = t, this._lineOffsets = void 0; } return Object.defineProperty(e.prototype, "uri", { get: function() { return this._uri; }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "languageId", { get: function() { return this._languageId; }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "version", { get: function() { return this._version; }, enumerable: !1, configurable: !0 }), e.prototype.getText = function(n) { if (n) { var i = this.offsetAt(n.start), r = this.offsetAt(n.end); return this._content.substring(i, r); } return this._content; }, e.prototype.update = function(n, i) { this._content = n.text, this._version = i, this._lineOffsets = void 0; }, e.prototype.getLineOffsets = function() { if (this._lineOffsets === void 0) { for (var n = [], i = this._content, r = !0, t = 0; t < i.length; t++) { r && (n.push(t), r = !1); var a = i.charAt(t); r = a === "\r" || a === ` `, a === "\r" && t + 1 < i.length && i.charAt(t + 1) === ` ` && t++; } r && i.length > 0 && n.push(i.length), this._lineOffsets = n; } return this._lineOffsets; }, e.prototype.positionAt = function(n) { n = Math.max(Math.min(n, this._content.length), 0); var i = this.getLineOffsets(), r = 0, t = i.length; if (t === 0) return b.create(0, n); for (; r < t; ) { var a = Math.floor((r + t) / 2); i[a] > n ? t = a : r = a + 1; } var o = r - 1; return b.create(o, n - i[o]); }, e.prototype.offsetAt = function(n) { var i = this.getLineOffsets(); if (n.line >= i.length) return this._content.length; if (n.line < 0) return 0; var r = i[n.line], t = n.line + 1 < i.length ? i[n.line + 1] : this._content.length; return Math.max(Math.min(r + n.character, t), r); }, Object.defineProperty(e.prototype, "lineCount", { get: function() { return this.getLineOffsets().length; }, enumerable: !1, configurable: !0 }), e; }(), s; (function(e) { var n = Object.prototype.toString; function i(g) { return typeof g < "u"; } e.defined = i; function r(g) { return typeof g > "u"; } e.undefined = r; function t(g) { return g === !0 || g === !1; } e.boolean = t; function a(g) { return n.call(g) === "[object String]"; } e.string = a; function o(g) { return n.call(g) === "[object Number]"; } e.number = o; function u(g, y, N) { return n.call(g) === "[object Number]" && y <= g && g <= N; } e.numberRange = u; function f(g) { return n.call(g) === "[object Number]" && -2147483648 <= g && g <= 2147483647; } e.integer = f; function d(g) { return n.call(g) === "[object Number]" && 0 <= g && g <= 2147483647; } e.uinteger = d; function v(g) { return n.call(g) === "[object Function]"; } e.func = v; function w(g) { return g !== null && typeof g == "object"; } e.objectLiteral = w; function E(g, y) { return Array.isArray(g) && g.every(y); } e.typedArray = E; })(s || (s = {})); var wt = class { constructor(e, n, i) { k(this, "_disposables", []); k(this, "_listener", /* @__PURE__ */ Object.create(null)); this._languageId = e, this._worker = n; const r = (a) => { let o = a.getLanguageId(); if (o !== this._languageId) return; let u; this._listener[a.uri.toString()] = a.onDidChangeContent(() => { window.clearTimeout(u), u = window.setTimeout(() => this._doValidate(a.uri, o), 500); }), this._doValidate(a.uri, o); }, t = (a) => { c.editor.setModelMarkers(a, this._languageId, []); let o = a.uri.toString(), u = this._listener[o]; u && (u.dispose(), delete this._listener[o]); }; this._disposables.push(c.editor.onDidCreateModel(r)), this._disposables.push(c.editor.onWillDisposeModel(t)), this._disposables.push(c.editor.onDidChangeModelLanguage((a) => { t(a.model), r(a.model); })), this._disposables.push(i((a) => { c.editor.getModels().forEach((o) => { o.getLanguageId() === this._languageId && (t(o), r(o)); }); })), this._disposables.push({ dispose: () => { c.editor.getModels().forEach(t); for (let a in this._listener) this._listener[a].dispose(); } }), c.editor.getModels().forEach(r); } dispose() { this._disposables.forEach((e) => e && e.dispose()), this._disposables.length = 0; } _doValidate(e, n) { this._worker(e).then((i) => i.doValidation(e.toString())).then((i) => { const r = i.map((a) => nt(e, a)); let t = c.editor.getModel(e); t && t.getLanguageId() === n && c.editor.setModelMarkers(t, n, r); }).then(void 0, (i) => { console.error(i); }); } }; function rt(e) { switch (e) { case I.Error: return c.MarkerSeverity.Error; case I.Warning: return c.MarkerSeverity.Warning; case I.Information: return c.MarkerSeverity.Info; case I.Hint: return c.MarkerSeverity.Hint; default: return c.MarkerSeverity.Info; } } function nt(e, n) { let i = typeof n.code == "number" ? String(n.code) : n.code; return { severity: rt(n.severity), startLineNumber: n.range.start.line + 1, startColumn: n.range.start.character + 1, endLineNumber: n.range.end.line + 1, endColumn: n.range.end.character + 1, message: n.message, code: i, source: n.source }; } var it = class { constructor(e, n) { this._worker = e, this._triggerCharacters = n; } get triggerCharacters() { return this._triggerCharacters; } provideCompletionItems(e, n, i, r) { const t = e.uri; return this._worker(t).then((a) => a.doComplete(t.toString(), A(n))).then((a) => { if (!a) return; const o = e.getWordUntilPosition(n), u = new c.Range(n.lineNumber, o.startColumn, n.lineNumber, o.endColumn), f = a.items.map((d) => { const v = { label: d.label, insertText: d.insertText || d.label, sortText: d.sortText, filterText: d.filterText, documentation: d.documentation, detail: d.detail, command: st(d.command), range: u, kind: ot(d.kind) }; return d.textEdit && (at(d.textEdit) ? v.range = { insert: _(d.textEdit.insert), replace: _(d.textEdit.replace) } : v.range = _(d.textEdit.range), v.insertText = d.textEdit.newText), d.additionalTextEdits && (v.additionalTextEdits = d.additionalTextEdits.map(j)), d.insertTextFormat === G.Snippet && (v.insertTextRules = c.languages.CompletionItemInsertTextRule.InsertAsSnippet), v; }); return { isIncomplete: a.isIncomplete, suggestions: f }; }); } }; function A(e) { if (e) return { character: e.column - 1, line: e.lineNumber - 1 }; } function Se(e) { if (e) return { start: { line: e.startLineNumber - 1, character: e.startColumn - 1 }, end: { line: e.endLineNumber - 1, character: e.endColumn - 1 } }; } function _(e) { if (e) return new c.Range(e.start.line + 1, e.start.character + 1, e.end.line + 1, e.end.character + 1); } function at(e) { return typeof e.insert < "u" && typeof e.replace < "u"; } function ot(e) { const n = c.languages.CompletionItemKind; switch (e) { case l.Text: return n.Text; case l.Method: return n.Method; case l.Function: return n.Function; case l.Constructor: return n.Constructor; case l.Field: return n.Field; case l.Variable: return n.Variable; case l.Class: return n.Class; case l.Interface: return n.Interface; case l.Module: return n.Module; case l.Property: return n.Property; case l.Unit: return n.Unit; case l.Value: return n.Value; case l.Enum: return n.Enum; case l.Keyword: return n.Keyword; case l.Snippet: return n.Snippet; case l.Color: return n.Color; case l.File: return n.File; case l.Reference: return n.Reference; } return n.Property; } function j(e) { if (e) return { range: _(e.range), text: e.newText }; } function st(e) { return e && e.command === "editor.action.triggerSuggest" ? { id: e.command, title: e.title, arguments: e.arguments } : void 0; } var Te = class { constructor(e) { this._worker = e; } provideHover(e, n, i) { let r = e.uri; return this._worker(r).then((t) => t.doHover(r.toString(), A(n))).then((t) => { if (t) return { range: _(t.range), contents: ct(t.contents) }; }); } }; function ut(e) { return e && typeof e == "object" && typeof e.kind == "string"; } function Re(e) { return typeof e == "string" ? { value: e } : ut(e) ? e.kind === "plaintext" ? { value: e.value.replace(/[\\`*_{}[\]()#+\-.!]/g, "\\$&") } : { value: e.value } : { value: "```" + e.language + ` ` + e.value + "\n```\n" }; } function ct(e) { if (e) return Array.isArray(e) ? e.map(Re) : [Re(e)]; } var Fe = class { constructor(e) { this._worker = e; } provideDocumentHighlights(e, n, i) { const r = e.uri; return this._worker(r).then((t) => t.findDocumentHighlights(r.toString(), A(n))).then((t) => { if (t) return t.map((a) => ({ range: _(a.range), kind: dt(a.kind) })); }); } }; function dt(e) { switch (e) { case D.Read: return c.languages.DocumentHighlightKind.Read; case D.Write: return c.languages.DocumentHighlightKind.Write; case D.Text: return c.languages.DocumentHighlightKind.Text; } return c.languages.DocumentHighlightKind.Text; } var kt = class { constructor(e) { this._worker = e; } provideDefinition(e, n, i) { const r = e.uri; return this._worker(r).then((t) => t.findDefinition(r.toString(), A(n))).then((t) => { if (t) return [Le(t)]; }); } }; function Le(e) { return { uri: c.Uri.parse(e.uri), range: _(e.range) }; } var bt = class { constructor(e) { this._worker = e; } provideReferences(e, n, i, r) { const t = e.uri; return this._worker(t).then((a) => a.findReferences(t.toString(), A(n))).then((a) => { if (a) return a.map(Le); }); } }, je = class { constructor(e) { this._worker = e; } provideRenameEdits(e, n, i, r) { const t = e.uri; return this._worker(t).then((a) => a.doRename(t.toString(), A(n), i)).then((a) => gt(a)); } }; function gt(e) { if (!e || !e.changes) return; let n = []; for (let i in e.changes) { const r = c.Uri.parse(i); for (let t of e.changes[i]) n.push({ resource: r, versionId: void 0, textEdit: { range: _(t.range), text: t.newText } }); } return { edits: n }; } var Ne = class { constructor(e) { this._worker = e; } provideDocumentSymbols(e, n) { const i = e.uri; return this._worker(i).then((r) => r.findDocumentSymbols(i.toString())).then((r) => { if (r) return r.map((t) => ({ name: t.name, detail: "", containerName: t.containerName, kind: ft(t.kind), range: _(t.location.range), selectionRange: _(t.location.range), tags: [] })); }); } }; function ft(e) { let n = c.languages.SymbolKind; switch (e) { case h.File: return n.Array; case h.Module: return n.Module; case h.Namespace: return n.Namespace; case h.Package: return n.Package; case h.Class: return n.Class; case h.Method: return n.Method; case h.Property: return n.Property; case h.Field: return n.Field; case h.Constructor: return n.Constructor; case h.Enum: return n.Enum; case h.Interface: return n.Interface; case h.Function: return n.Function; case h.Variable: return n.Variable; case h.Constant: return n.Constant; case h.String: return n.String; case h.Number: return n.Number; case h.Boolean: return n.Boolean; case h.Array: return n.Array; } return n.Function; } var We = class { constructor(e) { this._worker = e; } provideLinks(e, n) { const i = e.uri; return this._worker(i).then((r) => r.findDocumentLinks(i.toString())).then((r) => { if (r) return { links: r.map((t) => ({ range: _(t.range), url: t.target })) }; }); } }, He = class { constructor(e) { this._worker = e; } provideDocumentFormattingEdits(e, n, i) { const r = e.uri; return this._worker(r).then((t) => t.format(r.toString(), null, Oe(n)).then((a) => { if (!(!a || a.length === 0)) return a.map(j); })); } }, Ue = class { constructor(e) { k(this, "canFormatMultipleRanges", !1); this._worker = e; } provideDocumentRangeFormattingEdits(e, n, i, r) { const t = e.uri; return this._worker(t).then((a) => a.format(t.toString(), Se(n), Oe(i)).then((o) => { if (!(!o || o.length === 0)) return o.map(j); })); } }; function Oe(e) { return { tabSize: e.tabSize, insertSpaces: e.insertSpaces }; } var Et = class { constructor(e) { this._worker = e; } provideDocumentColors(e, n) { const i = e.uri; return this._worker(i).then((r) => r.findDocumentColors(i.toString())).then((r) => { if (r) return r.map((t) => ({ color: t.color, range: _(t.range) })); }); } provideColorPresentations(e, n, i) { const r = e.uri; return this._worker(r).then((t) => t.getColorPresentations(r.toString(), n.color, Se(n.range))).then((t) => { if (t) return t.map((a) => { let o = { label: a.label }; return a.textEdit && (o.textEdit = j(a.textEdit)), a.additionalTextEdits && (o.additionalTextEdits = a.additionalTextEdits.map(j)), o; }); }); } }, Ve = class { constructor(e) { this._worker = e; } provideFoldingRanges(e, n, i) { const r = e.uri; return this._worker(r).then((t) => t.getFoldingRanges(r.toString(), n)).then((t) => { if (t) return t.map((a) => { const o = { start: a.startLine + 1, end: a.endLine + 1 }; return typeof a.kind < "u" && (o.kind = lt(a.kind)), o; }); }); } }; function lt(e) { switch (e) { case R.Comment: return c.languages.FoldingRangeKind.Comment; case R.Imports: return c.languages.FoldingRangeKind.Imports; case R.Region: return c.languages.FoldingRangeKind.Region; } } var ze = class { constructor(e) { this._worker = e; } provideSelectionRanges(e, n, i) { const r = e.uri; return this._worker(r).then((t) => t.getSelectionRanges(r.toString(), n.map(A))).then((t) => { if (t) return t.map((a) => { const o = []; for (; a; ) o.push({ range: _(a.range) }), a = a.parent; return o; }); }); } }, Xe = class extends it { constructor(e) { super(e, [".", ":", "<", '"', "=", "/"]); } }; function xt(e) { const n = new Me(e), i = (...t) => n.getLanguageServiceWorker(...t); let r = e.languageId; c.languages.registerCompletionItemProvider(r, new Xe(i)), c.languages.registerHoverProvider(r, new Te(i)), c.languages.registerDocumentHighlightProvider(r, new Fe(i)), c.languages.registerLinkProvider(r, new We(i)), c.languages.registerFoldingRangeProvider(r, new Ve(i)), c.languages.registerDocumentSymbolProvider(r, new Ne(i)), c.languages.registerSelectionRangeProvider(r, new ze(i)), c.languages.registerRenameProvider(r, new je(i)), r === "html" && (c.languages.registerDocumentFormattingEditProvider(r, new He(i)), c.languages.registerDocumentRangeFormattingEditProvider(r, new Ue(i))); } function Ct(e) { const n = [], i = [], r = new Me(e); n.push(r); const t = (...o) => r.getLanguageServiceWorker(...o); function a() { const { languageId: o, modeConfiguration: u } = e; Be(i), u.completionItems && i.push(c.languages.registerCompletionItemProvider(o, new Xe(t))), u.hovers && i.push(c.languages.registerHoverProvider(o, new Te(t))), u.documentHighlights && i.push(c.languages.registerDocumentHighlightProvider(o, new Fe(t))), u.links && i.push(c.languages.registerLinkProvider(o, new We(t))), u.documentSymbols && i.push(c.languages.registerDocumentSymbolProvider(o, new Ne(t))), u.rename && i.push(c.languages.registerRenameProvider(o, new je(t))), u.foldingRanges && i.push(c.languages.registerFoldingRangeProvider(o, new Ve(t))), u.selectionRanges && i.push(c.languages.registerSelectionRangeProvider(o, new ze(t))), u.documentFormattingEdits && i.push(c.languages.registerDocumentFormattingEditProvider(o, new He(t))), u.documentRangeFormattingEdits && i.push(c.languages.registerDocumentRangeFormattingEditProvider(o, new Ue(t))); } return a(), n.push(De(i)), De(n); } function De(e) { return { dispose: () => Be(e) }; } function Be(e) { for (; e.length; ) e.pop().dispose(); } export { it as CompletionAdapter, kt as DefinitionAdapter, wt as DiagnosticsAdapter, Et as DocumentColorAdapter, He as DocumentFormattingEditProvider, Fe as DocumentHighlightAdapter, We as DocumentLinkAdapter, Ue as DocumentRangeFormattingEditProvider, Ne as DocumentSymbolAdapter, Ve as FoldingRangeAdapter, Te as HoverAdapter, bt as ReferenceAdapter, je as RenameAdapter, ze as SelectionRangeAdapter, Me as WorkerManager, A as fromPosition, Se as fromRange, Ct as setupMode, xt as setupMode1, _ as toRange, j as toTextEdit };