@harnessio/ui 0.0.79 → 0.0.80

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.
Files changed (35) hide show
  1. package/dist/{cssMode-BRhrOS0p.js → cssMode-BqJOkWhq.js} +2 -2
  2. package/dist/{cssMode-BRhrOS0p.js.map → cssMode-BqJOkWhq.js.map} +1 -1
  3. package/dist/{freemarker2-CQ6lwF21.js → freemarker2-V-SyMxhh.js} +2 -2
  4. package/dist/{freemarker2-CQ6lwF21.js.map → freemarker2-V-SyMxhh.js.map} +1 -1
  5. package/dist/{handlebars-D-wyBNId.js → handlebars-DvK4ju-C.js} +2 -2
  6. package/dist/{handlebars-D-wyBNId.js.map → handlebars-DvK4ju-C.js.map} +1 -1
  7. package/dist/{html-cS-eW_85.js → html-D4bbYl_C.js} +2 -2
  8. package/dist/{html-cS-eW_85.js.map → html-D4bbYl_C.js.map} +1 -1
  9. package/dist/{htmlMode-BkkPMLEw.js → htmlMode-C7OthjaV.js} +2 -2
  10. package/dist/{htmlMode-BkkPMLEw.js.map → htmlMode-C7OthjaV.js.map} +1 -1
  11. package/dist/{index-BrE3wxxS.js → index-3HZ1nCb7.js} +53 -36
  12. package/dist/{index-BrE3wxxS.js.map → index-3HZ1nCb7.js.map} +1 -1
  13. package/dist/index.d.ts +5 -1
  14. package/dist/index.js +1 -1
  15. package/dist/{javascript-DD40Kj1E.js → javascript-B9X18_AK.js} +2 -2
  16. package/dist/{javascript-DD40Kj1E.js.map → javascript-B9X18_AK.js.map} +1 -1
  17. package/dist/{jsonMode-DAL61m27.js → jsonMode-B-fRzbr9.js} +2 -2
  18. package/dist/{jsonMode-DAL61m27.js.map → jsonMode-B-fRzbr9.js.map} +1 -1
  19. package/dist/{liquid-COlHOL1n.js → liquid-COpa2Esc.js} +2 -2
  20. package/dist/{liquid-COlHOL1n.js.map → liquid-COpa2Esc.js.map} +1 -1
  21. package/dist/{python-HtQJOrK9.js → python-QJXUYfCk.js} +2 -2
  22. package/dist/{python-HtQJOrK9.js.map → python-QJXUYfCk.js.map} +1 -1
  23. package/dist/{razor-RM2bCj-V.js → razor-UNT6ya_B.js} +2 -2
  24. package/dist/{razor-RM2bCj-V.js.map → razor-UNT6ya_B.js.map} +1 -1
  25. package/dist/{tsMode-DrLvgRUe.js → tsMode-CVrrm6ju.js} +2 -2
  26. package/dist/{tsMode-DrLvgRUe.js.map → tsMode-CVrrm6ju.js.map} +1 -1
  27. package/dist/{typescript-DBfbzat-.js → typescript-DDoSSb4Q.js} +2 -2
  28. package/dist/{typescript-DBfbzat-.js.map → typescript-DDoSSb4Q.js.map} +1 -1
  29. package/dist/views.d.ts +5 -1
  30. package/dist/views.js +1 -1
  31. package/dist/{xml-D6gm7lkI.js → xml-DxTJc9ok.js} +2 -2
  32. package/dist/{xml-D6gm7lkI.js.map → xml-DxTJc9ok.js.map} +1 -1
  33. package/dist/{yaml-CNm5AA6e.js → yaml-BOrdPKAK.js} +2 -2
  34. package/dist/{yaml-CNm5AA6e.js.map → yaml-BOrdPKAK.js.map} +1 -1
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"htmlMode-BkkPMLEw.js","sources":["../../../node_modules/.pnpm/monaco-editor@0.40.0/node_modules/monaco-editor/esm/vs/language/html/htmlMode.js"],"sourcesContent":["/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\n\n// src/fillers/monaco-editor-core.ts\nvar monaco_editor_core_exports = {};\n__reExport(monaco_editor_core_exports, monaco_editor_core_star);\nimport * as monaco_editor_core_star from \"../../editor/editor.api.js\";\n\n// src/language/html/workerManager.ts\nvar STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;\nvar WorkerManager = class {\n _defaults;\n _idleCheckInterval;\n _lastUsedTime;\n _configChangeListener;\n _worker;\n _client;\n constructor(defaults) {\n this._defaults = defaults;\n this._worker = null;\n this._client = null;\n this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);\n this._lastUsedTime = 0;\n this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());\n }\n _stopWorker() {\n if (this._worker) {\n this._worker.dispose();\n this._worker = null;\n }\n this._client = null;\n }\n dispose() {\n clearInterval(this._idleCheckInterval);\n this._configChangeListener.dispose();\n this._stopWorker();\n }\n _checkIfIdle() {\n if (!this._worker) {\n return;\n }\n let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;\n if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {\n this._stopWorker();\n }\n }\n _getClient() {\n this._lastUsedTime = Date.now();\n if (!this._client) {\n this._worker = monaco_editor_core_exports.editor.createWebWorker({\n moduleId: \"vs/language/html/htmlWorker\",\n createData: {\n languageSettings: this._defaults.options,\n languageId: this._defaults.languageId\n },\n label: this._defaults.languageId\n });\n this._client = this._worker.getProxy();\n }\n return this._client;\n }\n getLanguageServiceWorker(...resources) {\n let _client;\n return this._getClient().then((client) => {\n _client = client;\n }).then((_) => {\n if (this._worker) {\n return this._worker.withSyncedResources(resources);\n }\n }).then((_) => _client);\n }\n};\n\n// node_modules/vscode-languageserver-types/lib/esm/main.js\nvar integer;\n(function(integer2) {\n integer2.MIN_VALUE = -2147483648;\n integer2.MAX_VALUE = 2147483647;\n})(integer || (integer = {}));\nvar uinteger;\n(function(uinteger2) {\n uinteger2.MIN_VALUE = 0;\n uinteger2.MAX_VALUE = 2147483647;\n})(uinteger || (uinteger = {}));\nvar Position;\n(function(Position3) {\n function create(line, character) {\n if (line === Number.MAX_VALUE) {\n line = uinteger.MAX_VALUE;\n }\n if (character === Number.MAX_VALUE) {\n character = uinteger.MAX_VALUE;\n }\n return { line, character };\n }\n Position3.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.line) && Is.uinteger(candidate.character);\n }\n Position3.is = is;\n})(Position || (Position = {}));\nvar Range;\n(function(Range3) {\n function create(one, two, three, four) {\n if (Is.uinteger(one) && Is.uinteger(two) && Is.uinteger(three) && Is.uinteger(four)) {\n return { start: Position.create(one, two), end: Position.create(three, four) };\n } else if (Position.is(one) && Position.is(two)) {\n return { start: one, end: two };\n } else {\n throw new Error(\"Range#create called with invalid arguments[\" + one + \", \" + two + \", \" + three + \", \" + four + \"]\");\n }\n }\n Range3.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end);\n }\n Range3.is = is;\n})(Range || (Range = {}));\nvar Location;\n(function(Location2) {\n function create(uri, range) {\n return { uri, range };\n }\n Location2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri));\n }\n Location2.is = is;\n})(Location || (Location = {}));\nvar LocationLink;\n(function(LocationLink2) {\n function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) {\n return { targetUri, targetRange, targetSelectionRange, originSelectionRange };\n }\n LocationLink2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri) && (Range.is(candidate.targetSelectionRange) || Is.undefined(candidate.targetSelectionRange)) && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange));\n }\n LocationLink2.is = is;\n})(LocationLink || (LocationLink = {}));\nvar Color;\n(function(Color2) {\n function create(red, green, blue, alpha) {\n return {\n red,\n green,\n blue,\n alpha\n };\n }\n Color2.create = create;\n function is(value) {\n var candidate = value;\n return Is.numberRange(candidate.red, 0, 1) && Is.numberRange(candidate.green, 0, 1) && Is.numberRange(candidate.blue, 0, 1) && Is.numberRange(candidate.alpha, 0, 1);\n }\n Color2.is = is;\n})(Color || (Color = {}));\nvar ColorInformation;\n(function(ColorInformation2) {\n function create(range, color) {\n return {\n range,\n color\n };\n }\n ColorInformation2.create = create;\n function is(value) {\n var candidate = value;\n return Range.is(candidate.range) && Color.is(candidate.color);\n }\n ColorInformation2.is = is;\n})(ColorInformation || (ColorInformation = {}));\nvar ColorPresentation;\n(function(ColorPresentation2) {\n function create(label, textEdit, additionalTextEdits) {\n return {\n label,\n textEdit,\n additionalTextEdits\n };\n }\n ColorPresentation2.create = create;\n function is(value) {\n var candidate = value;\n return Is.string(candidate.label) && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate)) && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is));\n }\n ColorPresentation2.is = is;\n})(ColorPresentation || (ColorPresentation = {}));\nvar FoldingRangeKind;\n(function(FoldingRangeKind2) {\n FoldingRangeKind2[\"Comment\"] = \"comment\";\n FoldingRangeKind2[\"Imports\"] = \"imports\";\n FoldingRangeKind2[\"Region\"] = \"region\";\n})(FoldingRangeKind || (FoldingRangeKind = {}));\nvar FoldingRange;\n(function(FoldingRange2) {\n function create(startLine, endLine, startCharacter, endCharacter, kind) {\n var result = {\n startLine,\n endLine\n };\n if (Is.defined(startCharacter)) {\n result.startCharacter = startCharacter;\n }\n if (Is.defined(endCharacter)) {\n result.endCharacter = endCharacter;\n }\n if (Is.defined(kind)) {\n result.kind = kind;\n }\n return result;\n }\n FoldingRange2.create = create;\n function is(value) {\n var candidate = value;\n return Is.uinteger(candidate.startLine) && Is.uinteger(candidate.startLine) && (Is.undefined(candidate.startCharacter) || Is.uinteger(candidate.startCharacter)) && (Is.undefined(candidate.endCharacter) || Is.uinteger(candidate.endCharacter)) && (Is.undefined(candidate.kind) || Is.string(candidate.kind));\n }\n FoldingRange2.is = is;\n})(FoldingRange || (FoldingRange = {}));\nvar DiagnosticRelatedInformation;\n(function(DiagnosticRelatedInformation2) {\n function create(location, message) {\n return {\n location,\n message\n };\n }\n DiagnosticRelatedInformation2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message);\n }\n DiagnosticRelatedInformation2.is = is;\n})(DiagnosticRelatedInformation || (DiagnosticRelatedInformation = {}));\nvar DiagnosticSeverity;\n(function(DiagnosticSeverity2) {\n DiagnosticSeverity2.Error = 1;\n DiagnosticSeverity2.Warning = 2;\n DiagnosticSeverity2.Information = 3;\n DiagnosticSeverity2.Hint = 4;\n})(DiagnosticSeverity || (DiagnosticSeverity = {}));\nvar DiagnosticTag;\n(function(DiagnosticTag2) {\n DiagnosticTag2.Unnecessary = 1;\n DiagnosticTag2.Deprecated = 2;\n})(DiagnosticTag || (DiagnosticTag = {}));\nvar CodeDescription;\n(function(CodeDescription2) {\n function is(value) {\n var candidate = value;\n return candidate !== void 0 && candidate !== null && Is.string(candidate.href);\n }\n CodeDescription2.is = is;\n})(CodeDescription || (CodeDescription = {}));\nvar Diagnostic;\n(function(Diagnostic2) {\n function create(range, message, severity, code, source, relatedInformation) {\n var result = { range, message };\n if (Is.defined(severity)) {\n result.severity = severity;\n }\n if (Is.defined(code)) {\n result.code = code;\n }\n if (Is.defined(source)) {\n result.source = source;\n }\n if (Is.defined(relatedInformation)) {\n result.relatedInformation = relatedInformation;\n }\n return result;\n }\n Diagnostic2.create = create;\n function is(value) {\n var _a;\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && Is.string(candidate.message) && (Is.number(candidate.severity) || Is.undefined(candidate.severity)) && (Is.integer(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code)) && (Is.undefined(candidate.codeDescription) || Is.string((_a = candidate.codeDescription) === null || _a === void 0 ? void 0 : _a.href)) && (Is.string(candidate.source) || Is.undefined(candidate.source)) && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is));\n }\n Diagnostic2.is = is;\n})(Diagnostic || (Diagnostic = {}));\nvar Command;\n(function(Command2) {\n function create(title, command) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var result = { title, command };\n if (Is.defined(args) && args.length > 0) {\n result.arguments = args;\n }\n return result;\n }\n Command2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command);\n }\n Command2.is = is;\n})(Command || (Command = {}));\nvar TextEdit;\n(function(TextEdit2) {\n function replace(range, newText) {\n return { range, newText };\n }\n TextEdit2.replace = replace;\n function insert(position, newText) {\n return { range: { start: position, end: position }, newText };\n }\n TextEdit2.insert = insert;\n function del(range) {\n return { range, newText: \"\" };\n }\n TextEdit2.del = del;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.newText) && Range.is(candidate.range);\n }\n TextEdit2.is = is;\n})(TextEdit || (TextEdit = {}));\nvar ChangeAnnotation;\n(function(ChangeAnnotation2) {\n function create(label, needsConfirmation, description) {\n var result = { label };\n if (needsConfirmation !== void 0) {\n result.needsConfirmation = needsConfirmation;\n }\n if (description !== void 0) {\n result.description = description;\n }\n return result;\n }\n ChangeAnnotation2.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== void 0 && Is.objectLiteral(candidate) && Is.string(candidate.label) && (Is.boolean(candidate.needsConfirmation) || candidate.needsConfirmation === void 0) && (Is.string(candidate.description) || candidate.description === void 0);\n }\n ChangeAnnotation2.is = is;\n})(ChangeAnnotation || (ChangeAnnotation = {}));\nvar ChangeAnnotationIdentifier;\n(function(ChangeAnnotationIdentifier2) {\n function is(value) {\n var candidate = value;\n return typeof candidate === \"string\";\n }\n ChangeAnnotationIdentifier2.is = is;\n})(ChangeAnnotationIdentifier || (ChangeAnnotationIdentifier = {}));\nvar AnnotatedTextEdit;\n(function(AnnotatedTextEdit2) {\n function replace(range, newText, annotation) {\n return { range, newText, annotationId: annotation };\n }\n AnnotatedTextEdit2.replace = replace;\n function insert(position, newText, annotation) {\n return { range: { start: position, end: position }, newText, annotationId: annotation };\n }\n AnnotatedTextEdit2.insert = insert;\n function del(range, annotation) {\n return { range, newText: \"\", annotationId: annotation };\n }\n AnnotatedTextEdit2.del = del;\n function is(value) {\n var candidate = value;\n return TextEdit.is(candidate) && (ChangeAnnotation.is(candidate.annotationId) || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n AnnotatedTextEdit2.is = is;\n})(AnnotatedTextEdit || (AnnotatedTextEdit = {}));\nvar TextDocumentEdit;\n(function(TextDocumentEdit2) {\n function create(textDocument, edits) {\n return { textDocument, edits };\n }\n TextDocumentEdit2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument) && Array.isArray(candidate.edits);\n }\n TextDocumentEdit2.is = is;\n})(TextDocumentEdit || (TextDocumentEdit = {}));\nvar CreateFile;\n(function(CreateFile2) {\n function create(uri, options, annotation) {\n var result = {\n kind: \"create\",\n uri\n };\n if (options !== void 0 && (options.overwrite !== void 0 || options.ignoreIfExists !== void 0)) {\n result.options = options;\n }\n if (annotation !== void 0) {\n result.annotationId = annotation;\n }\n return result;\n }\n CreateFile2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === \"create\" && Is.string(candidate.uri) && (candidate.options === void 0 || (candidate.options.overwrite === void 0 || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === void 0 || Is.boolean(candidate.options.ignoreIfExists))) && (candidate.annotationId === void 0 || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n CreateFile2.is = is;\n})(CreateFile || (CreateFile = {}));\nvar RenameFile;\n(function(RenameFile2) {\n function create(oldUri, newUri, options, annotation) {\n var result = {\n kind: \"rename\",\n oldUri,\n newUri\n };\n if (options !== void 0 && (options.overwrite !== void 0 || options.ignoreIfExists !== void 0)) {\n result.options = options;\n }\n if (annotation !== void 0) {\n result.annotationId = annotation;\n }\n return result;\n }\n RenameFile2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === \"rename\" && Is.string(candidate.oldUri) && Is.string(candidate.newUri) && (candidate.options === void 0 || (candidate.options.overwrite === void 0 || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === void 0 || Is.boolean(candidate.options.ignoreIfExists))) && (candidate.annotationId === void 0 || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n RenameFile2.is = is;\n})(RenameFile || (RenameFile = {}));\nvar DeleteFile;\n(function(DeleteFile2) {\n function create(uri, options, annotation) {\n var result = {\n kind: \"delete\",\n uri\n };\n if (options !== void 0 && (options.recursive !== void 0 || options.ignoreIfNotExists !== void 0)) {\n result.options = options;\n }\n if (annotation !== void 0) {\n result.annotationId = annotation;\n }\n return result;\n }\n DeleteFile2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === \"delete\" && Is.string(candidate.uri) && (candidate.options === void 0 || (candidate.options.recursive === void 0 || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === void 0 || Is.boolean(candidate.options.ignoreIfNotExists))) && (candidate.annotationId === void 0 || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n DeleteFile2.is = is;\n})(DeleteFile || (DeleteFile = {}));\nvar WorkspaceEdit;\n(function(WorkspaceEdit2) {\n function is(value) {\n var candidate = value;\n return candidate && (candidate.changes !== void 0 || candidate.documentChanges !== void 0) && (candidate.documentChanges === void 0 || candidate.documentChanges.every(function(change) {\n if (Is.string(change.kind)) {\n return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change);\n } else {\n return TextDocumentEdit.is(change);\n }\n }));\n }\n WorkspaceEdit2.is = is;\n})(WorkspaceEdit || (WorkspaceEdit = {}));\nvar TextEditChangeImpl = function() {\n function TextEditChangeImpl2(edits, changeAnnotations) {\n this.edits = edits;\n this.changeAnnotations = changeAnnotations;\n }\n TextEditChangeImpl2.prototype.insert = function(position, newText, annotation) {\n var edit;\n var id;\n if (annotation === void 0) {\n edit = TextEdit.insert(position, newText);\n } else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.insert(position, newText, annotation);\n } else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.insert(position, newText, id);\n }\n this.edits.push(edit);\n if (id !== void 0) {\n return id;\n }\n };\n TextEditChangeImpl2.prototype.replace = function(range, newText, annotation) {\n var edit;\n var id;\n if (annotation === void 0) {\n edit = TextEdit.replace(range, newText);\n } else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.replace(range, newText, annotation);\n } else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.replace(range, newText, id);\n }\n this.edits.push(edit);\n if (id !== void 0) {\n return id;\n }\n };\n TextEditChangeImpl2.prototype.delete = function(range, annotation) {\n var edit;\n var id;\n if (annotation === void 0) {\n edit = TextEdit.del(range);\n } else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.del(range, annotation);\n } else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.del(range, id);\n }\n this.edits.push(edit);\n if (id !== void 0) {\n return id;\n }\n };\n TextEditChangeImpl2.prototype.add = function(edit) {\n this.edits.push(edit);\n };\n TextEditChangeImpl2.prototype.all = function() {\n return this.edits;\n };\n TextEditChangeImpl2.prototype.clear = function() {\n this.edits.splice(0, this.edits.length);\n };\n TextEditChangeImpl2.prototype.assertChangeAnnotations = function(value) {\n if (value === void 0) {\n throw new Error(\"Text edit change is not configured to manage change annotations.\");\n }\n };\n return TextEditChangeImpl2;\n}();\nvar ChangeAnnotations = function() {\n function ChangeAnnotations2(annotations) {\n this._annotations = annotations === void 0 ? /* @__PURE__ */ Object.create(null) : annotations;\n this._counter = 0;\n this._size = 0;\n }\n ChangeAnnotations2.prototype.all = function() {\n return this._annotations;\n };\n Object.defineProperty(ChangeAnnotations2.prototype, \"size\", {\n get: function() {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n ChangeAnnotations2.prototype.manage = function(idOrAnnotation, annotation) {\n var id;\n if (ChangeAnnotationIdentifier.is(idOrAnnotation)) {\n id = idOrAnnotation;\n } else {\n id = this.nextId();\n annotation = idOrAnnotation;\n }\n if (this._annotations[id] !== void 0) {\n throw new Error(\"Id \" + id + \" is already in use.\");\n }\n if (annotation === void 0) {\n throw new Error(\"No annotation provided for id \" + id);\n }\n this._annotations[id] = annotation;\n this._size++;\n return id;\n };\n ChangeAnnotations2.prototype.nextId = function() {\n this._counter++;\n return this._counter.toString();\n };\n return ChangeAnnotations2;\n}();\nvar WorkspaceChange = function() {\n function WorkspaceChange2(workspaceEdit) {\n var _this = this;\n this._textEditChanges = /* @__PURE__ */ Object.create(null);\n if (workspaceEdit !== void 0) {\n this._workspaceEdit = workspaceEdit;\n if (workspaceEdit.documentChanges) {\n this._changeAnnotations = new ChangeAnnotations(workspaceEdit.changeAnnotations);\n workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n workspaceEdit.documentChanges.forEach(function(change) {\n if (TextDocumentEdit.is(change)) {\n var textEditChange = new TextEditChangeImpl(change.edits, _this._changeAnnotations);\n _this._textEditChanges[change.textDocument.uri] = textEditChange;\n }\n });\n } else if (workspaceEdit.changes) {\n Object.keys(workspaceEdit.changes).forEach(function(key) {\n var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]);\n _this._textEditChanges[key] = textEditChange;\n });\n }\n } else {\n this._workspaceEdit = {};\n }\n }\n Object.defineProperty(WorkspaceChange2.prototype, \"edit\", {\n get: function() {\n this.initDocumentChanges();\n if (this._changeAnnotations !== void 0) {\n if (this._changeAnnotations.size === 0) {\n this._workspaceEdit.changeAnnotations = void 0;\n } else {\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n }\n return this._workspaceEdit;\n },\n enumerable: false,\n configurable: true\n });\n WorkspaceChange2.prototype.getTextEditChange = function(key) {\n if (OptionalVersionedTextDocumentIdentifier.is(key)) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === void 0) {\n throw new Error(\"Workspace edit is not configured for document changes.\");\n }\n var textDocument = { uri: key.uri, version: key.version };\n var result = this._textEditChanges[textDocument.uri];\n if (!result) {\n var edits = [];\n var textDocumentEdit = {\n textDocument,\n edits\n };\n this._workspaceEdit.documentChanges.push(textDocumentEdit);\n result = new TextEditChangeImpl(edits, this._changeAnnotations);\n this._textEditChanges[textDocument.uri] = result;\n }\n return result;\n } else {\n this.initChanges();\n if (this._workspaceEdit.changes === void 0) {\n throw new Error(\"Workspace edit is not configured for normal text edit changes.\");\n }\n var result = this._textEditChanges[key];\n if (!result) {\n var edits = [];\n this._workspaceEdit.changes[key] = edits;\n result = new TextEditChangeImpl(edits);\n this._textEditChanges[key] = result;\n }\n return result;\n }\n };\n WorkspaceChange2.prototype.initDocumentChanges = function() {\n if (this._workspaceEdit.documentChanges === void 0 && this._workspaceEdit.changes === void 0) {\n this._changeAnnotations = new ChangeAnnotations();\n this._workspaceEdit.documentChanges = [];\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n };\n WorkspaceChange2.prototype.initChanges = function() {\n if (this._workspaceEdit.documentChanges === void 0 && this._workspaceEdit.changes === void 0) {\n this._workspaceEdit.changes = /* @__PURE__ */ Object.create(null);\n }\n };\n WorkspaceChange2.prototype.createFile = function(uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === void 0) {\n throw new Error(\"Workspace edit is not configured for document changes.\");\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n } else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === void 0) {\n operation = CreateFile.create(uri, options);\n } else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = CreateFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== void 0) {\n return id;\n }\n };\n WorkspaceChange2.prototype.renameFile = function(oldUri, newUri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === void 0) {\n throw new Error(\"Workspace edit is not configured for document changes.\");\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n } else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === void 0) {\n operation = RenameFile.create(oldUri, newUri, options);\n } else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = RenameFile.create(oldUri, newUri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== void 0) {\n return id;\n }\n };\n WorkspaceChange2.prototype.deleteFile = function(uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === void 0) {\n throw new Error(\"Workspace edit is not configured for document changes.\");\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n } else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === void 0) {\n operation = DeleteFile.create(uri, options);\n } else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = DeleteFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== void 0) {\n return id;\n }\n };\n return WorkspaceChange2;\n}();\nvar TextDocumentIdentifier;\n(function(TextDocumentIdentifier2) {\n function create(uri) {\n return { uri };\n }\n TextDocumentIdentifier2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri);\n }\n TextDocumentIdentifier2.is = is;\n})(TextDocumentIdentifier || (TextDocumentIdentifier = {}));\nvar VersionedTextDocumentIdentifier;\n(function(VersionedTextDocumentIdentifier2) {\n function create(uri, version) {\n return { uri, version };\n }\n VersionedTextDocumentIdentifier2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.integer(candidate.version);\n }\n VersionedTextDocumentIdentifier2.is = is;\n})(VersionedTextDocumentIdentifier || (VersionedTextDocumentIdentifier = {}));\nvar OptionalVersionedTextDocumentIdentifier;\n(function(OptionalVersionedTextDocumentIdentifier2) {\n function create(uri, version) {\n return { uri, version };\n }\n OptionalVersionedTextDocumentIdentifier2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.integer(candidate.version));\n }\n OptionalVersionedTextDocumentIdentifier2.is = is;\n})(OptionalVersionedTextDocumentIdentifier || (OptionalVersionedTextDocumentIdentifier = {}));\nvar TextDocumentItem;\n(function(TextDocumentItem2) {\n function create(uri, languageId, version, text) {\n return { uri, languageId, version, text };\n }\n TextDocumentItem2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.integer(candidate.version) && Is.string(candidate.text);\n }\n TextDocumentItem2.is = is;\n})(TextDocumentItem || (TextDocumentItem = {}));\nvar MarkupKind;\n(function(MarkupKind2) {\n MarkupKind2.PlainText = \"plaintext\";\n MarkupKind2.Markdown = \"markdown\";\n})(MarkupKind || (MarkupKind = {}));\n(function(MarkupKind2) {\n function is(value) {\n var candidate = value;\n return candidate === MarkupKind2.PlainText || candidate === MarkupKind2.Markdown;\n }\n MarkupKind2.is = is;\n})(MarkupKind || (MarkupKind = {}));\nvar MarkupContent;\n(function(MarkupContent2) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value);\n }\n MarkupContent2.is = is;\n})(MarkupContent || (MarkupContent = {}));\nvar CompletionItemKind;\n(function(CompletionItemKind2) {\n CompletionItemKind2.Text = 1;\n CompletionItemKind2.Method = 2;\n CompletionItemKind2.Function = 3;\n CompletionItemKind2.Constructor = 4;\n CompletionItemKind2.Field = 5;\n CompletionItemKind2.Variable = 6;\n CompletionItemKind2.Class = 7;\n CompletionItemKind2.Interface = 8;\n CompletionItemKind2.Module = 9;\n CompletionItemKind2.Property = 10;\n CompletionItemKind2.Unit = 11;\n CompletionItemKind2.Value = 12;\n CompletionItemKind2.Enum = 13;\n CompletionItemKind2.Keyword = 14;\n CompletionItemKind2.Snippet = 15;\n CompletionItemKind2.Color = 16;\n CompletionItemKind2.File = 17;\n CompletionItemKind2.Reference = 18;\n CompletionItemKind2.Folder = 19;\n CompletionItemKind2.EnumMember = 20;\n CompletionItemKind2.Constant = 21;\n CompletionItemKind2.Struct = 22;\n CompletionItemKind2.Event = 23;\n CompletionItemKind2.Operator = 24;\n CompletionItemKind2.TypeParameter = 25;\n})(CompletionItemKind || (CompletionItemKind = {}));\nvar InsertTextFormat;\n(function(InsertTextFormat2) {\n InsertTextFormat2.PlainText = 1;\n InsertTextFormat2.Snippet = 2;\n})(InsertTextFormat || (InsertTextFormat = {}));\nvar CompletionItemTag;\n(function(CompletionItemTag2) {\n CompletionItemTag2.Deprecated = 1;\n})(CompletionItemTag || (CompletionItemTag = {}));\nvar InsertReplaceEdit;\n(function(InsertReplaceEdit2) {\n function create(newText, insert, replace) {\n return { newText, insert, replace };\n }\n InsertReplaceEdit2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.newText) && Range.is(candidate.insert) && Range.is(candidate.replace);\n }\n InsertReplaceEdit2.is = is;\n})(InsertReplaceEdit || (InsertReplaceEdit = {}));\nvar InsertTextMode;\n(function(InsertTextMode2) {\n InsertTextMode2.asIs = 1;\n InsertTextMode2.adjustIndentation = 2;\n})(InsertTextMode || (InsertTextMode = {}));\nvar CompletionItem;\n(function(CompletionItem2) {\n function create(label) {\n return { label };\n }\n CompletionItem2.create = create;\n})(CompletionItem || (CompletionItem = {}));\nvar CompletionList;\n(function(CompletionList2) {\n function create(items, isIncomplete) {\n return { items: items ? items : [], isIncomplete: !!isIncomplete };\n }\n CompletionList2.create = create;\n})(CompletionList || (CompletionList = {}));\nvar MarkedString;\n(function(MarkedString2) {\n function fromPlainText(plainText) {\n return plainText.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, \"\\\\$&\");\n }\n MarkedString2.fromPlainText = fromPlainText;\n function is(value) {\n var candidate = value;\n return Is.string(candidate) || Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value);\n }\n MarkedString2.is = is;\n})(MarkedString || (MarkedString = {}));\nvar Hover;\n(function(Hover2) {\n function is(value) {\n var candidate = value;\n return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) || MarkedString.is(candidate.contents) || Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === void 0 || Range.is(value.range));\n }\n Hover2.is = is;\n})(Hover || (Hover = {}));\nvar ParameterInformation;\n(function(ParameterInformation2) {\n function create(label, documentation) {\n return documentation ? { label, documentation } : { label };\n }\n ParameterInformation2.create = create;\n})(ParameterInformation || (ParameterInformation = {}));\nvar SignatureInformation;\n(function(SignatureInformation2) {\n function create(label, documentation) {\n var parameters = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n parameters[_i - 2] = arguments[_i];\n }\n var result = { label };\n if (Is.defined(documentation)) {\n result.documentation = documentation;\n }\n if (Is.defined(parameters)) {\n result.parameters = parameters;\n } else {\n result.parameters = [];\n }\n return result;\n }\n SignatureInformation2.create = create;\n})(SignatureInformation || (SignatureInformation = {}));\nvar DocumentHighlightKind;\n(function(DocumentHighlightKind2) {\n DocumentHighlightKind2.Text = 1;\n DocumentHighlightKind2.Read = 2;\n DocumentHighlightKind2.Write = 3;\n})(DocumentHighlightKind || (DocumentHighlightKind = {}));\nvar DocumentHighlight;\n(function(DocumentHighlight2) {\n function create(range, kind) {\n var result = { range };\n if (Is.number(kind)) {\n result.kind = kind;\n }\n return result;\n }\n DocumentHighlight2.create = create;\n})(DocumentHighlight || (DocumentHighlight = {}));\nvar SymbolKind;\n(function(SymbolKind2) {\n SymbolKind2.File = 1;\n SymbolKind2.Module = 2;\n SymbolKind2.Namespace = 3;\n SymbolKind2.Package = 4;\n SymbolKind2.Class = 5;\n SymbolKind2.Method = 6;\n SymbolKind2.Property = 7;\n SymbolKind2.Field = 8;\n SymbolKind2.Constructor = 9;\n SymbolKind2.Enum = 10;\n SymbolKind2.Interface = 11;\n SymbolKind2.Function = 12;\n SymbolKind2.Variable = 13;\n SymbolKind2.Constant = 14;\n SymbolKind2.String = 15;\n SymbolKind2.Number = 16;\n SymbolKind2.Boolean = 17;\n SymbolKind2.Array = 18;\n SymbolKind2.Object = 19;\n SymbolKind2.Key = 20;\n SymbolKind2.Null = 21;\n SymbolKind2.EnumMember = 22;\n SymbolKind2.Struct = 23;\n SymbolKind2.Event = 24;\n SymbolKind2.Operator = 25;\n SymbolKind2.TypeParameter = 26;\n})(SymbolKind || (SymbolKind = {}));\nvar SymbolTag;\n(function(SymbolTag2) {\n SymbolTag2.Deprecated = 1;\n})(SymbolTag || (SymbolTag = {}));\nvar SymbolInformation;\n(function(SymbolInformation2) {\n function create(name, kind, range, uri, containerName) {\n var result = {\n name,\n kind,\n location: { uri, range }\n };\n if (containerName) {\n result.containerName = containerName;\n }\n return result;\n }\n SymbolInformation2.create = create;\n})(SymbolInformation || (SymbolInformation = {}));\nvar DocumentSymbol;\n(function(DocumentSymbol2) {\n function create(name, detail, kind, range, selectionRange, children) {\n var result = {\n name,\n detail,\n kind,\n range,\n selectionRange\n };\n if (children !== void 0) {\n result.children = children;\n }\n return result;\n }\n DocumentSymbol2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.name) && Is.number(candidate.kind) && Range.is(candidate.range) && Range.is(candidate.selectionRange) && (candidate.detail === void 0 || Is.string(candidate.detail)) && (candidate.deprecated === void 0 || Is.boolean(candidate.deprecated)) && (candidate.children === void 0 || Array.isArray(candidate.children)) && (candidate.tags === void 0 || Array.isArray(candidate.tags));\n }\n DocumentSymbol2.is = is;\n})(DocumentSymbol || (DocumentSymbol = {}));\nvar CodeActionKind;\n(function(CodeActionKind2) {\n CodeActionKind2.Empty = \"\";\n CodeActionKind2.QuickFix = \"quickfix\";\n CodeActionKind2.Refactor = \"refactor\";\n CodeActionKind2.RefactorExtract = \"refactor.extract\";\n CodeActionKind2.RefactorInline = \"refactor.inline\";\n CodeActionKind2.RefactorRewrite = \"refactor.rewrite\";\n CodeActionKind2.Source = \"source\";\n CodeActionKind2.SourceOrganizeImports = \"source.organizeImports\";\n CodeActionKind2.SourceFixAll = \"source.fixAll\";\n})(CodeActionKind || (CodeActionKind = {}));\nvar CodeActionContext;\n(function(CodeActionContext2) {\n function create(diagnostics, only) {\n var result = { diagnostics };\n if (only !== void 0 && only !== null) {\n result.only = only;\n }\n return result;\n }\n CodeActionContext2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is) && (candidate.only === void 0 || Is.typedArray(candidate.only, Is.string));\n }\n CodeActionContext2.is = is;\n})(CodeActionContext || (CodeActionContext = {}));\nvar CodeAction;\n(function(CodeAction2) {\n function create(title, kindOrCommandOrEdit, kind) {\n var result = { title };\n var checkKind = true;\n if (typeof kindOrCommandOrEdit === \"string\") {\n checkKind = false;\n result.kind = kindOrCommandOrEdit;\n } else if (Command.is(kindOrCommandOrEdit)) {\n result.command = kindOrCommandOrEdit;\n } else {\n result.edit = kindOrCommandOrEdit;\n }\n if (checkKind && kind !== void 0) {\n result.kind = kind;\n }\n return result;\n }\n CodeAction2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.title) && (candidate.diagnostics === void 0 || Is.typedArray(candidate.diagnostics, Diagnostic.is)) && (candidate.kind === void 0 || Is.string(candidate.kind)) && (candidate.edit !== void 0 || candidate.command !== void 0) && (candidate.command === void 0 || Command.is(candidate.command)) && (candidate.isPreferred === void 0 || Is.boolean(candidate.isPreferred)) && (candidate.edit === void 0 || WorkspaceEdit.is(candidate.edit));\n }\n CodeAction2.is = is;\n})(CodeAction || (CodeAction = {}));\nvar CodeLens;\n(function(CodeLens2) {\n function create(range, data) {\n var result = { range };\n if (Is.defined(data)) {\n result.data = data;\n }\n return result;\n }\n CodeLens2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command));\n }\n CodeLens2.is = is;\n})(CodeLens || (CodeLens = {}));\nvar FormattingOptions;\n(function(FormattingOptions2) {\n function create(tabSize, insertSpaces) {\n return { tabSize, insertSpaces };\n }\n FormattingOptions2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.uinteger(candidate.tabSize) && Is.boolean(candidate.insertSpaces);\n }\n FormattingOptions2.is = is;\n})(FormattingOptions || (FormattingOptions = {}));\nvar DocumentLink;\n(function(DocumentLink2) {\n function create(range, target, data) {\n return { range, target, data };\n }\n DocumentLink2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target));\n }\n DocumentLink2.is = is;\n})(DocumentLink || (DocumentLink = {}));\nvar SelectionRange;\n(function(SelectionRange2) {\n function create(range, parent) {\n return { range, parent };\n }\n SelectionRange2.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== void 0 && Range.is(candidate.range) && (candidate.parent === void 0 || SelectionRange2.is(candidate.parent));\n }\n SelectionRange2.is = is;\n})(SelectionRange || (SelectionRange = {}));\nvar TextDocument;\n(function(TextDocument2) {\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.uinteger(candidate.lineCount) && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false;\n }\n TextDocument2.is = is;\n function applyEdits(document, edits) {\n var text = document.getText();\n var sortedEdits = mergeSort(edits, function(a, b) {\n var diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n var lastModifiedOffset = text.length;\n for (var i = sortedEdits.length - 1; i >= 0; i--) {\n var e = sortedEdits[i];\n var startOffset = document.offsetAt(e.range.start);\n var endOffset = document.offsetAt(e.range.end);\n if (endOffset <= lastModifiedOffset) {\n text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length);\n } else {\n throw new Error(\"Overlapping edit\");\n }\n lastModifiedOffset = startOffset;\n }\n return text;\n }\n TextDocument2.applyEdits = applyEdits;\n function mergeSort(data, compare) {\n if (data.length <= 1) {\n return data;\n }\n var p = data.length / 2 | 0;\n var left = data.slice(0, p);\n var right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n var leftIdx = 0;\n var rightIdx = 0;\n var i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n var ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n data[i++] = left[leftIdx++];\n } else {\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n }\n})(TextDocument || (TextDocument = {}));\nvar FullTextDocument = function() {\n function FullTextDocument2(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = void 0;\n }\n Object.defineProperty(FullTextDocument2.prototype, \"uri\", {\n get: function() {\n return this._uri;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument2.prototype, \"languageId\", {\n get: function() {\n return this._languageId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument2.prototype, \"version\", {\n get: function() {\n return this._version;\n },\n enumerable: false,\n configurable: true\n });\n FullTextDocument2.prototype.getText = function(range) {\n if (range) {\n var start = this.offsetAt(range.start);\n var end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n };\n FullTextDocument2.prototype.update = function(event, version) {\n this._content = event.text;\n this._version = version;\n this._lineOffsets = void 0;\n };\n FullTextDocument2.prototype.getLineOffsets = function() {\n if (this._lineOffsets === void 0) {\n var lineOffsets = [];\n var text = this._content;\n var isLineStart = true;\n for (var i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n var ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n this._lineOffsets = lineOffsets;\n }\n return this._lineOffsets;\n };\n FullTextDocument2.prototype.positionAt = function(offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n var lineOffsets = this.getLineOffsets();\n var low = 0, high = lineOffsets.length;\n if (high === 0) {\n return Position.create(0, offset);\n }\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n var line = low - 1;\n return Position.create(line, offset - lineOffsets[line]);\n };\n FullTextDocument2.prototype.offsetAt = function(position) {\n var lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n } else if (position.line < 0) {\n return 0;\n }\n var lineOffset = lineOffsets[position.line];\n var nextLineOffset = position.line + 1 < lineOffsets.length ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n };\n Object.defineProperty(FullTextDocument2.prototype, \"lineCount\", {\n get: function() {\n return this.getLineOffsets().length;\n },\n enumerable: false,\n configurable: true\n });\n return FullTextDocument2;\n}();\nvar Is;\n(function(Is2) {\n var toString = Object.prototype.toString;\n function defined(value) {\n return typeof value !== \"undefined\";\n }\n Is2.defined = defined;\n function undefined2(value) {\n return typeof value === \"undefined\";\n }\n Is2.undefined = undefined2;\n function boolean(value) {\n return value === true || value === false;\n }\n Is2.boolean = boolean;\n function string(value) {\n return toString.call(value) === \"[object String]\";\n }\n Is2.string = string;\n function number(value) {\n return toString.call(value) === \"[object Number]\";\n }\n Is2.number = number;\n function numberRange(value, min, max) {\n return toString.call(value) === \"[object Number]\" && min <= value && value <= max;\n }\n Is2.numberRange = numberRange;\n function integer2(value) {\n return toString.call(value) === \"[object Number]\" && -2147483648 <= value && value <= 2147483647;\n }\n Is2.integer = integer2;\n function uinteger2(value) {\n return toString.call(value) === \"[object Number]\" && 0 <= value && value <= 2147483647;\n }\n Is2.uinteger = uinteger2;\n function func(value) {\n return toString.call(value) === \"[object Function]\";\n }\n Is2.func = func;\n function objectLiteral(value) {\n return value !== null && typeof value === \"object\";\n }\n Is2.objectLiteral = objectLiteral;\n function typedArray(value, check) {\n return Array.isArray(value) && value.every(check);\n }\n Is2.typedArray = typedArray;\n})(Is || (Is = {}));\n\n// src/language/common/lspLanguageFeatures.ts\nvar DiagnosticsAdapter = class {\n constructor(_languageId, _worker, configChangeEvent) {\n this._languageId = _languageId;\n this._worker = _worker;\n const onModelAdd = (model) => {\n let modeId = model.getLanguageId();\n if (modeId !== this._languageId) {\n return;\n }\n let handle;\n this._listener[model.uri.toString()] = model.onDidChangeContent(() => {\n window.clearTimeout(handle);\n handle = window.setTimeout(() => this._doValidate(model.uri, modeId), 500);\n });\n this._doValidate(model.uri, modeId);\n };\n const onModelRemoved = (model) => {\n monaco_editor_core_exports.editor.setModelMarkers(model, this._languageId, []);\n let uriStr = model.uri.toString();\n let listener = this._listener[uriStr];\n if (listener) {\n listener.dispose();\n delete this._listener[uriStr];\n }\n };\n this._disposables.push(monaco_editor_core_exports.editor.onDidCreateModel(onModelAdd));\n this._disposables.push(monaco_editor_core_exports.editor.onWillDisposeModel(onModelRemoved));\n this._disposables.push(monaco_editor_core_exports.editor.onDidChangeModelLanguage((event) => {\n onModelRemoved(event.model);\n onModelAdd(event.model);\n }));\n this._disposables.push(configChangeEvent((_) => {\n monaco_editor_core_exports.editor.getModels().forEach((model) => {\n if (model.getLanguageId() === this._languageId) {\n onModelRemoved(model);\n onModelAdd(model);\n }\n });\n }));\n this._disposables.push({\n dispose: () => {\n monaco_editor_core_exports.editor.getModels().forEach(onModelRemoved);\n for (let key in this._listener) {\n this._listener[key].dispose();\n }\n }\n });\n monaco_editor_core_exports.editor.getModels().forEach(onModelAdd);\n }\n _disposables = [];\n _listener = /* @__PURE__ */ Object.create(null);\n dispose() {\n this._disposables.forEach((d) => d && d.dispose());\n this._disposables.length = 0;\n }\n _doValidate(resource, languageId) {\n this._worker(resource).then((worker) => {\n return worker.doValidation(resource.toString());\n }).then((diagnostics) => {\n const markers = diagnostics.map((d) => toDiagnostics(resource, d));\n let model = monaco_editor_core_exports.editor.getModel(resource);\n if (model && model.getLanguageId() === languageId) {\n monaco_editor_core_exports.editor.setModelMarkers(model, languageId, markers);\n }\n }).then(void 0, (err) => {\n console.error(err);\n });\n }\n};\nfunction toSeverity(lsSeverity) {\n switch (lsSeverity) {\n case DiagnosticSeverity.Error:\n return monaco_editor_core_exports.MarkerSeverity.Error;\n case DiagnosticSeverity.Warning:\n return monaco_editor_core_exports.MarkerSeverity.Warning;\n case DiagnosticSeverity.Information:\n return monaco_editor_core_exports.MarkerSeverity.Info;\n case DiagnosticSeverity.Hint:\n return monaco_editor_core_exports.MarkerSeverity.Hint;\n default:\n return monaco_editor_core_exports.MarkerSeverity.Info;\n }\n}\nfunction toDiagnostics(resource, diag) {\n let code = typeof diag.code === \"number\" ? String(diag.code) : diag.code;\n return {\n severity: toSeverity(diag.severity),\n startLineNumber: diag.range.start.line + 1,\n startColumn: diag.range.start.character + 1,\n endLineNumber: diag.range.end.line + 1,\n endColumn: diag.range.end.character + 1,\n message: diag.message,\n code,\n source: diag.source\n };\n}\nvar CompletionAdapter = class {\n constructor(_worker, _triggerCharacters) {\n this._worker = _worker;\n this._triggerCharacters = _triggerCharacters;\n }\n get triggerCharacters() {\n return this._triggerCharacters;\n }\n provideCompletionItems(model, position, context, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.doComplete(resource.toString(), fromPosition(position));\n }).then((info) => {\n if (!info) {\n return;\n }\n const wordInfo = model.getWordUntilPosition(position);\n const wordRange = new monaco_editor_core_exports.Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, wordInfo.endColumn);\n const items = info.items.map((entry) => {\n const item = {\n label: entry.label,\n insertText: entry.insertText || entry.label,\n sortText: entry.sortText,\n filterText: entry.filterText,\n documentation: entry.documentation,\n detail: entry.detail,\n command: toCommand(entry.command),\n range: wordRange,\n kind: toCompletionItemKind(entry.kind)\n };\n if (entry.textEdit) {\n if (isInsertReplaceEdit(entry.textEdit)) {\n item.range = {\n insert: toRange(entry.textEdit.insert),\n replace: toRange(entry.textEdit.replace)\n };\n } else {\n item.range = toRange(entry.textEdit.range);\n }\n item.insertText = entry.textEdit.newText;\n }\n if (entry.additionalTextEdits) {\n item.additionalTextEdits = entry.additionalTextEdits.map(toTextEdit);\n }\n if (entry.insertTextFormat === InsertTextFormat.Snippet) {\n item.insertTextRules = monaco_editor_core_exports.languages.CompletionItemInsertTextRule.InsertAsSnippet;\n }\n return item;\n });\n return {\n isIncomplete: info.isIncomplete,\n suggestions: items\n };\n });\n }\n};\nfunction fromPosition(position) {\n if (!position) {\n return void 0;\n }\n return { character: position.column - 1, line: position.lineNumber - 1 };\n}\nfunction fromRange(range) {\n if (!range) {\n return void 0;\n }\n return {\n start: {\n line: range.startLineNumber - 1,\n character: range.startColumn - 1\n },\n end: { line: range.endLineNumber - 1, character: range.endColumn - 1 }\n };\n}\nfunction toRange(range) {\n if (!range) {\n return void 0;\n }\n return new monaco_editor_core_exports.Range(range.start.line + 1, range.start.character + 1, range.end.line + 1, range.end.character + 1);\n}\nfunction isInsertReplaceEdit(edit) {\n return typeof edit.insert !== \"undefined\" && typeof edit.replace !== \"undefined\";\n}\nfunction toCompletionItemKind(kind) {\n const mItemKind = monaco_editor_core_exports.languages.CompletionItemKind;\n switch (kind) {\n case CompletionItemKind.Text:\n return mItemKind.Text;\n case CompletionItemKind.Method:\n return mItemKind.Method;\n case CompletionItemKind.Function:\n return mItemKind.Function;\n case CompletionItemKind.Constructor:\n return mItemKind.Constructor;\n case CompletionItemKind.Field:\n return mItemKind.Field;\n case CompletionItemKind.Variable:\n return mItemKind.Variable;\n case CompletionItemKind.Class:\n return mItemKind.Class;\n case CompletionItemKind.Interface:\n return mItemKind.Interface;\n case CompletionItemKind.Module:\n return mItemKind.Module;\n case CompletionItemKind.Property:\n return mItemKind.Property;\n case CompletionItemKind.Unit:\n return mItemKind.Unit;\n case CompletionItemKind.Value:\n return mItemKind.Value;\n case CompletionItemKind.Enum:\n return mItemKind.Enum;\n case CompletionItemKind.Keyword:\n return mItemKind.Keyword;\n case CompletionItemKind.Snippet:\n return mItemKind.Snippet;\n case CompletionItemKind.Color:\n return mItemKind.Color;\n case CompletionItemKind.File:\n return mItemKind.File;\n case CompletionItemKind.Reference:\n return mItemKind.Reference;\n }\n return mItemKind.Property;\n}\nfunction toTextEdit(textEdit) {\n if (!textEdit) {\n return void 0;\n }\n return {\n range: toRange(textEdit.range),\n text: textEdit.newText\n };\n}\nfunction toCommand(c) {\n return c && c.command === \"editor.action.triggerSuggest\" ? { id: c.command, title: c.title, arguments: c.arguments } : void 0;\n}\nvar HoverAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideHover(model, position, token) {\n let resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.doHover(resource.toString(), fromPosition(position));\n }).then((info) => {\n if (!info) {\n return;\n }\n return {\n range: toRange(info.range),\n contents: toMarkedStringArray(info.contents)\n };\n });\n }\n};\nfunction isMarkupContent(thing) {\n return thing && typeof thing === \"object\" && typeof thing.kind === \"string\";\n}\nfunction toMarkdownString(entry) {\n if (typeof entry === \"string\") {\n return {\n value: entry\n };\n }\n if (isMarkupContent(entry)) {\n if (entry.kind === \"plaintext\") {\n return {\n value: entry.value.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, \"\\\\$&\")\n };\n }\n return {\n value: entry.value\n };\n }\n return { value: \"```\" + entry.language + \"\\n\" + entry.value + \"\\n```\\n\" };\n}\nfunction toMarkedStringArray(contents) {\n if (!contents) {\n return void 0;\n }\n if (Array.isArray(contents)) {\n return contents.map(toMarkdownString);\n }\n return [toMarkdownString(contents)];\n}\nvar DocumentHighlightAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideDocumentHighlights(model, position, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.findDocumentHighlights(resource.toString(), fromPosition(position))).then((entries) => {\n if (!entries) {\n return;\n }\n return entries.map((entry) => {\n return {\n range: toRange(entry.range),\n kind: toDocumentHighlightKind(entry.kind)\n };\n });\n });\n }\n};\nfunction toDocumentHighlightKind(kind) {\n switch (kind) {\n case DocumentHighlightKind.Read:\n return monaco_editor_core_exports.languages.DocumentHighlightKind.Read;\n case DocumentHighlightKind.Write:\n return monaco_editor_core_exports.languages.DocumentHighlightKind.Write;\n case DocumentHighlightKind.Text:\n return monaco_editor_core_exports.languages.DocumentHighlightKind.Text;\n }\n return monaco_editor_core_exports.languages.DocumentHighlightKind.Text;\n}\nvar DefinitionAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideDefinition(model, position, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.findDefinition(resource.toString(), fromPosition(position));\n }).then((definition) => {\n if (!definition) {\n return;\n }\n return [toLocation(definition)];\n });\n }\n};\nfunction toLocation(location) {\n return {\n uri: monaco_editor_core_exports.Uri.parse(location.uri),\n range: toRange(location.range)\n };\n}\nvar ReferenceAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideReferences(model, position, context, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.findReferences(resource.toString(), fromPosition(position));\n }).then((entries) => {\n if (!entries) {\n return;\n }\n return entries.map(toLocation);\n });\n }\n};\nvar RenameAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideRenameEdits(model, position, newName, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.doRename(resource.toString(), fromPosition(position), newName);\n }).then((edit) => {\n return toWorkspaceEdit(edit);\n });\n }\n};\nfunction toWorkspaceEdit(edit) {\n if (!edit || !edit.changes) {\n return void 0;\n }\n let resourceEdits = [];\n for (let uri in edit.changes) {\n const _uri = monaco_editor_core_exports.Uri.parse(uri);\n for (let e of edit.changes[uri]) {\n resourceEdits.push({\n resource: _uri,\n versionId: void 0,\n textEdit: {\n range: toRange(e.range),\n text: e.newText\n }\n });\n }\n }\n return {\n edits: resourceEdits\n };\n}\nvar DocumentSymbolAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideDocumentSymbols(model, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.findDocumentSymbols(resource.toString())).then((items) => {\n if (!items) {\n return;\n }\n return items.map((item) => ({\n name: item.name,\n detail: \"\",\n containerName: item.containerName,\n kind: toSymbolKind(item.kind),\n range: toRange(item.location.range),\n selectionRange: toRange(item.location.range),\n tags: []\n }));\n });\n }\n};\nfunction toSymbolKind(kind) {\n let mKind = monaco_editor_core_exports.languages.SymbolKind;\n switch (kind) {\n case SymbolKind.File:\n return mKind.Array;\n case SymbolKind.Module:\n return mKind.Module;\n case SymbolKind.Namespace:\n return mKind.Namespace;\n case SymbolKind.Package:\n return mKind.Package;\n case SymbolKind.Class:\n return mKind.Class;\n case SymbolKind.Method:\n return mKind.Method;\n case SymbolKind.Property:\n return mKind.Property;\n case SymbolKind.Field:\n return mKind.Field;\n case SymbolKind.Constructor:\n return mKind.Constructor;\n case SymbolKind.Enum:\n return mKind.Enum;\n case SymbolKind.Interface:\n return mKind.Interface;\n case SymbolKind.Function:\n return mKind.Function;\n case SymbolKind.Variable:\n return mKind.Variable;\n case SymbolKind.Constant:\n return mKind.Constant;\n case SymbolKind.String:\n return mKind.String;\n case SymbolKind.Number:\n return mKind.Number;\n case SymbolKind.Boolean:\n return mKind.Boolean;\n case SymbolKind.Array:\n return mKind.Array;\n }\n return mKind.Function;\n}\nvar DocumentLinkAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideLinks(model, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.findDocumentLinks(resource.toString())).then((items) => {\n if (!items) {\n return;\n }\n return {\n links: items.map((item) => ({\n range: toRange(item.range),\n url: item.target\n }))\n };\n });\n }\n};\nvar DocumentFormattingEditProvider = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideDocumentFormattingEdits(model, options, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.format(resource.toString(), null, fromFormattingOptions(options)).then((edits) => {\n if (!edits || edits.length === 0) {\n return;\n }\n return edits.map(toTextEdit);\n });\n });\n }\n};\nvar DocumentRangeFormattingEditProvider = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n canFormatMultipleRanges = false;\n provideDocumentRangeFormattingEdits(model, range, options, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.format(resource.toString(), fromRange(range), fromFormattingOptions(options)).then((edits) => {\n if (!edits || edits.length === 0) {\n return;\n }\n return edits.map(toTextEdit);\n });\n });\n }\n};\nfunction fromFormattingOptions(options) {\n return {\n tabSize: options.tabSize,\n insertSpaces: options.insertSpaces\n };\n}\nvar DocumentColorAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideDocumentColors(model, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.findDocumentColors(resource.toString())).then((infos) => {\n if (!infos) {\n return;\n }\n return infos.map((item) => ({\n color: item.color,\n range: toRange(item.range)\n }));\n });\n }\n provideColorPresentations(model, info, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.getColorPresentations(resource.toString(), info.color, fromRange(info.range))).then((presentations) => {\n if (!presentations) {\n return;\n }\n return presentations.map((presentation) => {\n let item = {\n label: presentation.label\n };\n if (presentation.textEdit) {\n item.textEdit = toTextEdit(presentation.textEdit);\n }\n if (presentation.additionalTextEdits) {\n item.additionalTextEdits = presentation.additionalTextEdits.map(toTextEdit);\n }\n return item;\n });\n });\n }\n};\nvar FoldingRangeAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideFoldingRanges(model, context, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.getFoldingRanges(resource.toString(), context)).then((ranges) => {\n if (!ranges) {\n return;\n }\n return ranges.map((range) => {\n const result = {\n start: range.startLine + 1,\n end: range.endLine + 1\n };\n if (typeof range.kind !== \"undefined\") {\n result.kind = toFoldingRangeKind(range.kind);\n }\n return result;\n });\n });\n }\n};\nfunction toFoldingRangeKind(kind) {\n switch (kind) {\n case FoldingRangeKind.Comment:\n return monaco_editor_core_exports.languages.FoldingRangeKind.Comment;\n case FoldingRangeKind.Imports:\n return monaco_editor_core_exports.languages.FoldingRangeKind.Imports;\n case FoldingRangeKind.Region:\n return monaco_editor_core_exports.languages.FoldingRangeKind.Region;\n }\n return void 0;\n}\nvar SelectionRangeAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideSelectionRanges(model, positions, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.getSelectionRanges(resource.toString(), positions.map(fromPosition))).then((selectionRanges) => {\n if (!selectionRanges) {\n return;\n }\n return selectionRanges.map((selectionRange) => {\n const result = [];\n while (selectionRange) {\n result.push({ range: toRange(selectionRange.range) });\n selectionRange = selectionRange.parent;\n }\n return result;\n });\n });\n }\n};\n\n// src/language/html/htmlMode.ts\nvar HTMLCompletionAdapter = class extends CompletionAdapter {\n constructor(worker) {\n super(worker, [\".\", \":\", \"<\", '\"', \"=\", \"/\"]);\n }\n};\nfunction setupMode1(defaults) {\n const client = new WorkerManager(defaults);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n let languageId = defaults.languageId;\n monaco_editor_core_exports.languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker));\n monaco_editor_core_exports.languages.registerHoverProvider(languageId, new HoverAdapter(worker));\n monaco_editor_core_exports.languages.registerDocumentHighlightProvider(languageId, new DocumentHighlightAdapter(worker));\n monaco_editor_core_exports.languages.registerLinkProvider(languageId, new DocumentLinkAdapter(worker));\n monaco_editor_core_exports.languages.registerFoldingRangeProvider(languageId, new FoldingRangeAdapter(worker));\n monaco_editor_core_exports.languages.registerDocumentSymbolProvider(languageId, new DocumentSymbolAdapter(worker));\n monaco_editor_core_exports.languages.registerSelectionRangeProvider(languageId, new SelectionRangeAdapter(worker));\n monaco_editor_core_exports.languages.registerRenameProvider(languageId, new RenameAdapter(worker));\n if (languageId === \"html\") {\n monaco_editor_core_exports.languages.registerDocumentFormattingEditProvider(languageId, new DocumentFormattingEditProvider(worker));\n monaco_editor_core_exports.languages.registerDocumentRangeFormattingEditProvider(languageId, new DocumentRangeFormattingEditProvider(worker));\n }\n}\nfunction setupMode(defaults) {\n const disposables = [];\n const providers = [];\n const client = new WorkerManager(defaults);\n disposables.push(client);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n function registerProviders() {\n const { languageId, modeConfiguration } = defaults;\n disposeAll(providers);\n if (modeConfiguration.completionItems) {\n providers.push(monaco_editor_core_exports.languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker)));\n }\n if (modeConfiguration.hovers) {\n providers.push(monaco_editor_core_exports.languages.registerHoverProvider(languageId, new HoverAdapter(worker)));\n }\n if (modeConfiguration.documentHighlights) {\n providers.push(monaco_editor_core_exports.languages.registerDocumentHighlightProvider(languageId, new DocumentHighlightAdapter(worker)));\n }\n if (modeConfiguration.links) {\n providers.push(monaco_editor_core_exports.languages.registerLinkProvider(languageId, new DocumentLinkAdapter(worker)));\n }\n if (modeConfiguration.documentSymbols) {\n providers.push(monaco_editor_core_exports.languages.registerDocumentSymbolProvider(languageId, new DocumentSymbolAdapter(worker)));\n }\n if (modeConfiguration.rename) {\n providers.push(monaco_editor_core_exports.languages.registerRenameProvider(languageId, new RenameAdapter(worker)));\n }\n if (modeConfiguration.foldingRanges) {\n providers.push(monaco_editor_core_exports.languages.registerFoldingRangeProvider(languageId, new FoldingRangeAdapter(worker)));\n }\n if (modeConfiguration.selectionRanges) {\n providers.push(monaco_editor_core_exports.languages.registerSelectionRangeProvider(languageId, new SelectionRangeAdapter(worker)));\n }\n if (modeConfiguration.documentFormattingEdits) {\n providers.push(monaco_editor_core_exports.languages.registerDocumentFormattingEditProvider(languageId, new DocumentFormattingEditProvider(worker)));\n }\n if (modeConfiguration.documentRangeFormattingEdits) {\n providers.push(monaco_editor_core_exports.languages.registerDocumentRangeFormattingEditProvider(languageId, new DocumentRangeFormattingEditProvider(worker)));\n }\n }\n registerProviders();\n disposables.push(asDisposable(providers));\n return asDisposable(disposables);\n}\nfunction asDisposable(disposables) {\n return { dispose: () => disposeAll(disposables) };\n}\nfunction disposeAll(disposables) {\n while (disposables.length) {\n disposables.pop().dispose();\n }\n}\nexport {\n CompletionAdapter,\n DefinitionAdapter,\n DiagnosticsAdapter,\n DocumentColorAdapter,\n DocumentFormattingEditProvider,\n DocumentHighlightAdapter,\n DocumentLinkAdapter,\n DocumentRangeFormattingEditProvider,\n DocumentSymbolAdapter,\n FoldingRangeAdapter,\n HoverAdapter,\n ReferenceAdapter,\n RenameAdapter,\n SelectionRangeAdapter,\n WorkerManager,\n fromPosition,\n fromRange,\n setupMode,\n setupMode1,\n toRange,\n toTextEdit\n};\n"],"names":["__defProp","__getOwnPropDesc","__getOwnPropNames","__hasOwnProp","__copyProps","to","from","except","desc","key","__reExport","target","mod","secondTarget","monaco_editor_core_exports","monaco_editor_core_star","STOP_WHEN_IDLE_FOR","WorkerManager","defaults","__publicField","resources","_client","client","_","integer","integer2","uinteger","uinteger2","Position","Position3","create","line","character","is","value","candidate","Is","Range","Range3","one","two","three","four","Location","Location2","uri","range","LocationLink","LocationLink2","targetUri","targetRange","targetSelectionRange","originSelectionRange","Color","Color2","red","green","blue","alpha","ColorInformation","ColorInformation2","color","ColorPresentation","ColorPresentation2","label","textEdit","additionalTextEdits","TextEdit","FoldingRangeKind","FoldingRangeKind2","FoldingRange","FoldingRange2","startLine","endLine","startCharacter","endCharacter","kind","result","DiagnosticRelatedInformation","DiagnosticRelatedInformation2","location","message","DiagnosticSeverity","DiagnosticSeverity2","DiagnosticTag","DiagnosticTag2","CodeDescription","CodeDescription2","Diagnostic","Diagnostic2","severity","code","source","relatedInformation","_a","Command","Command2","title","command","args","_i","TextEdit2","replace","newText","insert","position","del","ChangeAnnotation","ChangeAnnotation2","needsConfirmation","description","ChangeAnnotationIdentifier","ChangeAnnotationIdentifier2","AnnotatedTextEdit","AnnotatedTextEdit2","annotation","TextDocumentEdit","TextDocumentEdit2","textDocument","edits","OptionalVersionedTextDocumentIdentifier","CreateFile","CreateFile2","options","RenameFile","RenameFile2","oldUri","newUri","DeleteFile","DeleteFile2","WorkspaceEdit","WorkspaceEdit2","change","TextEditChangeImpl","TextEditChangeImpl2","changeAnnotations","edit","id","ChangeAnnotations","ChangeAnnotations2","annotations","idOrAnnotation","WorkspaceChange2","workspaceEdit","_this","textEditChange","textDocumentEdit","optionsOrAnnotation","operation","TextDocumentIdentifier","TextDocumentIdentifier2","VersionedTextDocumentIdentifier","VersionedTextDocumentIdentifier2","version","OptionalVersionedTextDocumentIdentifier2","TextDocumentItem","TextDocumentItem2","languageId","text","MarkupKind","MarkupKind2","MarkupContent","MarkupContent2","CompletionItemKind","CompletionItemKind2","InsertTextFormat","InsertTextFormat2","CompletionItemTag","CompletionItemTag2","InsertReplaceEdit","InsertReplaceEdit2","InsertTextMode","InsertTextMode2","CompletionItem","CompletionItem2","CompletionList","CompletionList2","items","isIncomplete","MarkedString","MarkedString2","fromPlainText","plainText","Hover","Hover2","ParameterInformation","ParameterInformation2","documentation","SignatureInformation","SignatureInformation2","parameters","DocumentHighlightKind","DocumentHighlightKind2","DocumentHighlight","DocumentHighlight2","SymbolKind","SymbolKind2","SymbolTag","SymbolTag2","SymbolInformation","SymbolInformation2","name","containerName","DocumentSymbol","DocumentSymbol2","detail","selectionRange","children","CodeActionKind","CodeActionKind2","CodeActionContext","CodeActionContext2","diagnostics","only","CodeAction","CodeAction2","kindOrCommandOrEdit","checkKind","CodeLens","CodeLens2","data","FormattingOptions","FormattingOptions2","tabSize","insertSpaces","DocumentLink","DocumentLink2","SelectionRange","SelectionRange2","parent","TextDocument","TextDocument2","content","FullTextDocument","applyEdits","document","sortedEdits","mergeSort","a","b","diff","lastModifiedOffset","i","e","startOffset","endOffset","compare","p","left","right","leftIdx","rightIdx","ret","FullTextDocument2","start","end","event","lineOffsets","isLineStart","ch","offset","low","high","mid","lineOffset","nextLineOffset","Is2","toString","defined","undefined2","boolean","string","number","numberRange","min","max","func","objectLiteral","typedArray","check","DiagnosticsAdapter","_languageId","_worker","configChangeEvent","onModelAdd","model","modeId","handle","onModelRemoved","uriStr","listener","d","resource","worker","markers","toDiagnostics","err","toSeverity","lsSeverity","diag","CompletionAdapter","_triggerCharacters","context","token","fromPosition","info","wordInfo","wordRange","entry","item","toCommand","toCompletionItemKind","isInsertReplaceEdit","toRange","toTextEdit","fromRange","mItemKind","c","HoverAdapter","toMarkedStringArray","isMarkupContent","thing","toMarkdownString","contents","DocumentHighlightAdapter","entries","toDocumentHighlightKind","DefinitionAdapter","definition","toLocation","ReferenceAdapter","RenameAdapter","newName","toWorkspaceEdit","resourceEdits","_uri","DocumentSymbolAdapter","toSymbolKind","mKind","DocumentLinkAdapter","DocumentFormattingEditProvider","fromFormattingOptions","DocumentRangeFormattingEditProvider","DocumentColorAdapter","infos","presentations","presentation","FoldingRangeAdapter","ranges","toFoldingRangeKind","SelectionRangeAdapter","positions","selectionRanges","HTMLCompletionAdapter","setupMode1","uris","setupMode","disposables","providers","registerProviders","modeConfiguration","disposeAll","asDisposable"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"htmlMode-C7OthjaV.js","sources":["../../../node_modules/.pnpm/monaco-editor@0.40.0/node_modules/monaco-editor/esm/vs/language/html/htmlMode.js"],"sourcesContent":["/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\n\n// src/fillers/monaco-editor-core.ts\nvar monaco_editor_core_exports = {};\n__reExport(monaco_editor_core_exports, monaco_editor_core_star);\nimport * as monaco_editor_core_star from \"../../editor/editor.api.js\";\n\n// src/language/html/workerManager.ts\nvar STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;\nvar WorkerManager = class {\n _defaults;\n _idleCheckInterval;\n _lastUsedTime;\n _configChangeListener;\n _worker;\n _client;\n constructor(defaults) {\n this._defaults = defaults;\n this._worker = null;\n this._client = null;\n this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);\n this._lastUsedTime = 0;\n this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());\n }\n _stopWorker() {\n if (this._worker) {\n this._worker.dispose();\n this._worker = null;\n }\n this._client = null;\n }\n dispose() {\n clearInterval(this._idleCheckInterval);\n this._configChangeListener.dispose();\n this._stopWorker();\n }\n _checkIfIdle() {\n if (!this._worker) {\n return;\n }\n let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;\n if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {\n this._stopWorker();\n }\n }\n _getClient() {\n this._lastUsedTime = Date.now();\n if (!this._client) {\n this._worker = monaco_editor_core_exports.editor.createWebWorker({\n moduleId: \"vs/language/html/htmlWorker\",\n createData: {\n languageSettings: this._defaults.options,\n languageId: this._defaults.languageId\n },\n label: this._defaults.languageId\n });\n this._client = this._worker.getProxy();\n }\n return this._client;\n }\n getLanguageServiceWorker(...resources) {\n let _client;\n return this._getClient().then((client) => {\n _client = client;\n }).then((_) => {\n if (this._worker) {\n return this._worker.withSyncedResources(resources);\n }\n }).then((_) => _client);\n }\n};\n\n// node_modules/vscode-languageserver-types/lib/esm/main.js\nvar integer;\n(function(integer2) {\n integer2.MIN_VALUE = -2147483648;\n integer2.MAX_VALUE = 2147483647;\n})(integer || (integer = {}));\nvar uinteger;\n(function(uinteger2) {\n uinteger2.MIN_VALUE = 0;\n uinteger2.MAX_VALUE = 2147483647;\n})(uinteger || (uinteger = {}));\nvar Position;\n(function(Position3) {\n function create(line, character) {\n if (line === Number.MAX_VALUE) {\n line = uinteger.MAX_VALUE;\n }\n if (character === Number.MAX_VALUE) {\n character = uinteger.MAX_VALUE;\n }\n return { line, character };\n }\n Position3.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.line) && Is.uinteger(candidate.character);\n }\n Position3.is = is;\n})(Position || (Position = {}));\nvar Range;\n(function(Range3) {\n function create(one, two, three, four) {\n if (Is.uinteger(one) && Is.uinteger(two) && Is.uinteger(three) && Is.uinteger(four)) {\n return { start: Position.create(one, two), end: Position.create(three, four) };\n } else if (Position.is(one) && Position.is(two)) {\n return { start: one, end: two };\n } else {\n throw new Error(\"Range#create called with invalid arguments[\" + one + \", \" + two + \", \" + three + \", \" + four + \"]\");\n }\n }\n Range3.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end);\n }\n Range3.is = is;\n})(Range || (Range = {}));\nvar Location;\n(function(Location2) {\n function create(uri, range) {\n return { uri, range };\n }\n Location2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri));\n }\n Location2.is = is;\n})(Location || (Location = {}));\nvar LocationLink;\n(function(LocationLink2) {\n function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) {\n return { targetUri, targetRange, targetSelectionRange, originSelectionRange };\n }\n LocationLink2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri) && (Range.is(candidate.targetSelectionRange) || Is.undefined(candidate.targetSelectionRange)) && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange));\n }\n LocationLink2.is = is;\n})(LocationLink || (LocationLink = {}));\nvar Color;\n(function(Color2) {\n function create(red, green, blue, alpha) {\n return {\n red,\n green,\n blue,\n alpha\n };\n }\n Color2.create = create;\n function is(value) {\n var candidate = value;\n return Is.numberRange(candidate.red, 0, 1) && Is.numberRange(candidate.green, 0, 1) && Is.numberRange(candidate.blue, 0, 1) && Is.numberRange(candidate.alpha, 0, 1);\n }\n Color2.is = is;\n})(Color || (Color = {}));\nvar ColorInformation;\n(function(ColorInformation2) {\n function create(range, color) {\n return {\n range,\n color\n };\n }\n ColorInformation2.create = create;\n function is(value) {\n var candidate = value;\n return Range.is(candidate.range) && Color.is(candidate.color);\n }\n ColorInformation2.is = is;\n})(ColorInformation || (ColorInformation = {}));\nvar ColorPresentation;\n(function(ColorPresentation2) {\n function create(label, textEdit, additionalTextEdits) {\n return {\n label,\n textEdit,\n additionalTextEdits\n };\n }\n ColorPresentation2.create = create;\n function is(value) {\n var candidate = value;\n return Is.string(candidate.label) && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate)) && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is));\n }\n ColorPresentation2.is = is;\n})(ColorPresentation || (ColorPresentation = {}));\nvar FoldingRangeKind;\n(function(FoldingRangeKind2) {\n FoldingRangeKind2[\"Comment\"] = \"comment\";\n FoldingRangeKind2[\"Imports\"] = \"imports\";\n FoldingRangeKind2[\"Region\"] = \"region\";\n})(FoldingRangeKind || (FoldingRangeKind = {}));\nvar FoldingRange;\n(function(FoldingRange2) {\n function create(startLine, endLine, startCharacter, endCharacter, kind) {\n var result = {\n startLine,\n endLine\n };\n if (Is.defined(startCharacter)) {\n result.startCharacter = startCharacter;\n }\n if (Is.defined(endCharacter)) {\n result.endCharacter = endCharacter;\n }\n if (Is.defined(kind)) {\n result.kind = kind;\n }\n return result;\n }\n FoldingRange2.create = create;\n function is(value) {\n var candidate = value;\n return Is.uinteger(candidate.startLine) && Is.uinteger(candidate.startLine) && (Is.undefined(candidate.startCharacter) || Is.uinteger(candidate.startCharacter)) && (Is.undefined(candidate.endCharacter) || Is.uinteger(candidate.endCharacter)) && (Is.undefined(candidate.kind) || Is.string(candidate.kind));\n }\n FoldingRange2.is = is;\n})(FoldingRange || (FoldingRange = {}));\nvar DiagnosticRelatedInformation;\n(function(DiagnosticRelatedInformation2) {\n function create(location, message) {\n return {\n location,\n message\n };\n }\n DiagnosticRelatedInformation2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message);\n }\n DiagnosticRelatedInformation2.is = is;\n})(DiagnosticRelatedInformation || (DiagnosticRelatedInformation = {}));\nvar DiagnosticSeverity;\n(function(DiagnosticSeverity2) {\n DiagnosticSeverity2.Error = 1;\n DiagnosticSeverity2.Warning = 2;\n DiagnosticSeverity2.Information = 3;\n DiagnosticSeverity2.Hint = 4;\n})(DiagnosticSeverity || (DiagnosticSeverity = {}));\nvar DiagnosticTag;\n(function(DiagnosticTag2) {\n DiagnosticTag2.Unnecessary = 1;\n DiagnosticTag2.Deprecated = 2;\n})(DiagnosticTag || (DiagnosticTag = {}));\nvar CodeDescription;\n(function(CodeDescription2) {\n function is(value) {\n var candidate = value;\n return candidate !== void 0 && candidate !== null && Is.string(candidate.href);\n }\n CodeDescription2.is = is;\n})(CodeDescription || (CodeDescription = {}));\nvar Diagnostic;\n(function(Diagnostic2) {\n function create(range, message, severity, code, source, relatedInformation) {\n var result = { range, message };\n if (Is.defined(severity)) {\n result.severity = severity;\n }\n if (Is.defined(code)) {\n result.code = code;\n }\n if (Is.defined(source)) {\n result.source = source;\n }\n if (Is.defined(relatedInformation)) {\n result.relatedInformation = relatedInformation;\n }\n return result;\n }\n Diagnostic2.create = create;\n function is(value) {\n var _a;\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && Is.string(candidate.message) && (Is.number(candidate.severity) || Is.undefined(candidate.severity)) && (Is.integer(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code)) && (Is.undefined(candidate.codeDescription) || Is.string((_a = candidate.codeDescription) === null || _a === void 0 ? void 0 : _a.href)) && (Is.string(candidate.source) || Is.undefined(candidate.source)) && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is));\n }\n Diagnostic2.is = is;\n})(Diagnostic || (Diagnostic = {}));\nvar Command;\n(function(Command2) {\n function create(title, command) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var result = { title, command };\n if (Is.defined(args) && args.length > 0) {\n result.arguments = args;\n }\n return result;\n }\n Command2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command);\n }\n Command2.is = is;\n})(Command || (Command = {}));\nvar TextEdit;\n(function(TextEdit2) {\n function replace(range, newText) {\n return { range, newText };\n }\n TextEdit2.replace = replace;\n function insert(position, newText) {\n return { range: { start: position, end: position }, newText };\n }\n TextEdit2.insert = insert;\n function del(range) {\n return { range, newText: \"\" };\n }\n TextEdit2.del = del;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.newText) && Range.is(candidate.range);\n }\n TextEdit2.is = is;\n})(TextEdit || (TextEdit = {}));\nvar ChangeAnnotation;\n(function(ChangeAnnotation2) {\n function create(label, needsConfirmation, description) {\n var result = { label };\n if (needsConfirmation !== void 0) {\n result.needsConfirmation = needsConfirmation;\n }\n if (description !== void 0) {\n result.description = description;\n }\n return result;\n }\n ChangeAnnotation2.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== void 0 && Is.objectLiteral(candidate) && Is.string(candidate.label) && (Is.boolean(candidate.needsConfirmation) || candidate.needsConfirmation === void 0) && (Is.string(candidate.description) || candidate.description === void 0);\n }\n ChangeAnnotation2.is = is;\n})(ChangeAnnotation || (ChangeAnnotation = {}));\nvar ChangeAnnotationIdentifier;\n(function(ChangeAnnotationIdentifier2) {\n function is(value) {\n var candidate = value;\n return typeof candidate === \"string\";\n }\n ChangeAnnotationIdentifier2.is = is;\n})(ChangeAnnotationIdentifier || (ChangeAnnotationIdentifier = {}));\nvar AnnotatedTextEdit;\n(function(AnnotatedTextEdit2) {\n function replace(range, newText, annotation) {\n return { range, newText, annotationId: annotation };\n }\n AnnotatedTextEdit2.replace = replace;\n function insert(position, newText, annotation) {\n return { range: { start: position, end: position }, newText, annotationId: annotation };\n }\n AnnotatedTextEdit2.insert = insert;\n function del(range, annotation) {\n return { range, newText: \"\", annotationId: annotation };\n }\n AnnotatedTextEdit2.del = del;\n function is(value) {\n var candidate = value;\n return TextEdit.is(candidate) && (ChangeAnnotation.is(candidate.annotationId) || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n AnnotatedTextEdit2.is = is;\n})(AnnotatedTextEdit || (AnnotatedTextEdit = {}));\nvar TextDocumentEdit;\n(function(TextDocumentEdit2) {\n function create(textDocument, edits) {\n return { textDocument, edits };\n }\n TextDocumentEdit2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument) && Array.isArray(candidate.edits);\n }\n TextDocumentEdit2.is = is;\n})(TextDocumentEdit || (TextDocumentEdit = {}));\nvar CreateFile;\n(function(CreateFile2) {\n function create(uri, options, annotation) {\n var result = {\n kind: \"create\",\n uri\n };\n if (options !== void 0 && (options.overwrite !== void 0 || options.ignoreIfExists !== void 0)) {\n result.options = options;\n }\n if (annotation !== void 0) {\n result.annotationId = annotation;\n }\n return result;\n }\n CreateFile2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === \"create\" && Is.string(candidate.uri) && (candidate.options === void 0 || (candidate.options.overwrite === void 0 || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === void 0 || Is.boolean(candidate.options.ignoreIfExists))) && (candidate.annotationId === void 0 || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n CreateFile2.is = is;\n})(CreateFile || (CreateFile = {}));\nvar RenameFile;\n(function(RenameFile2) {\n function create(oldUri, newUri, options, annotation) {\n var result = {\n kind: \"rename\",\n oldUri,\n newUri\n };\n if (options !== void 0 && (options.overwrite !== void 0 || options.ignoreIfExists !== void 0)) {\n result.options = options;\n }\n if (annotation !== void 0) {\n result.annotationId = annotation;\n }\n return result;\n }\n RenameFile2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === \"rename\" && Is.string(candidate.oldUri) && Is.string(candidate.newUri) && (candidate.options === void 0 || (candidate.options.overwrite === void 0 || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === void 0 || Is.boolean(candidate.options.ignoreIfExists))) && (candidate.annotationId === void 0 || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n RenameFile2.is = is;\n})(RenameFile || (RenameFile = {}));\nvar DeleteFile;\n(function(DeleteFile2) {\n function create(uri, options, annotation) {\n var result = {\n kind: \"delete\",\n uri\n };\n if (options !== void 0 && (options.recursive !== void 0 || options.ignoreIfNotExists !== void 0)) {\n result.options = options;\n }\n if (annotation !== void 0) {\n result.annotationId = annotation;\n }\n return result;\n }\n DeleteFile2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === \"delete\" && Is.string(candidate.uri) && (candidate.options === void 0 || (candidate.options.recursive === void 0 || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === void 0 || Is.boolean(candidate.options.ignoreIfNotExists))) && (candidate.annotationId === void 0 || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n DeleteFile2.is = is;\n})(DeleteFile || (DeleteFile = {}));\nvar WorkspaceEdit;\n(function(WorkspaceEdit2) {\n function is(value) {\n var candidate = value;\n return candidate && (candidate.changes !== void 0 || candidate.documentChanges !== void 0) && (candidate.documentChanges === void 0 || candidate.documentChanges.every(function(change) {\n if (Is.string(change.kind)) {\n return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change);\n } else {\n return TextDocumentEdit.is(change);\n }\n }));\n }\n WorkspaceEdit2.is = is;\n})(WorkspaceEdit || (WorkspaceEdit = {}));\nvar TextEditChangeImpl = function() {\n function TextEditChangeImpl2(edits, changeAnnotations) {\n this.edits = edits;\n this.changeAnnotations = changeAnnotations;\n }\n TextEditChangeImpl2.prototype.insert = function(position, newText, annotation) {\n var edit;\n var id;\n if (annotation === void 0) {\n edit = TextEdit.insert(position, newText);\n } else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.insert(position, newText, annotation);\n } else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.insert(position, newText, id);\n }\n this.edits.push(edit);\n if (id !== void 0) {\n return id;\n }\n };\n TextEditChangeImpl2.prototype.replace = function(range, newText, annotation) {\n var edit;\n var id;\n if (annotation === void 0) {\n edit = TextEdit.replace(range, newText);\n } else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.replace(range, newText, annotation);\n } else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.replace(range, newText, id);\n }\n this.edits.push(edit);\n if (id !== void 0) {\n return id;\n }\n };\n TextEditChangeImpl2.prototype.delete = function(range, annotation) {\n var edit;\n var id;\n if (annotation === void 0) {\n edit = TextEdit.del(range);\n } else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.del(range, annotation);\n } else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.del(range, id);\n }\n this.edits.push(edit);\n if (id !== void 0) {\n return id;\n }\n };\n TextEditChangeImpl2.prototype.add = function(edit) {\n this.edits.push(edit);\n };\n TextEditChangeImpl2.prototype.all = function() {\n return this.edits;\n };\n TextEditChangeImpl2.prototype.clear = function() {\n this.edits.splice(0, this.edits.length);\n };\n TextEditChangeImpl2.prototype.assertChangeAnnotations = function(value) {\n if (value === void 0) {\n throw new Error(\"Text edit change is not configured to manage change annotations.\");\n }\n };\n return TextEditChangeImpl2;\n}();\nvar ChangeAnnotations = function() {\n function ChangeAnnotations2(annotations) {\n this._annotations = annotations === void 0 ? /* @__PURE__ */ Object.create(null) : annotations;\n this._counter = 0;\n this._size = 0;\n }\n ChangeAnnotations2.prototype.all = function() {\n return this._annotations;\n };\n Object.defineProperty(ChangeAnnotations2.prototype, \"size\", {\n get: function() {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n ChangeAnnotations2.prototype.manage = function(idOrAnnotation, annotation) {\n var id;\n if (ChangeAnnotationIdentifier.is(idOrAnnotation)) {\n id = idOrAnnotation;\n } else {\n id = this.nextId();\n annotation = idOrAnnotation;\n }\n if (this._annotations[id] !== void 0) {\n throw new Error(\"Id \" + id + \" is already in use.\");\n }\n if (annotation === void 0) {\n throw new Error(\"No annotation provided for id \" + id);\n }\n this._annotations[id] = annotation;\n this._size++;\n return id;\n };\n ChangeAnnotations2.prototype.nextId = function() {\n this._counter++;\n return this._counter.toString();\n };\n return ChangeAnnotations2;\n}();\nvar WorkspaceChange = function() {\n function WorkspaceChange2(workspaceEdit) {\n var _this = this;\n this._textEditChanges = /* @__PURE__ */ Object.create(null);\n if (workspaceEdit !== void 0) {\n this._workspaceEdit = workspaceEdit;\n if (workspaceEdit.documentChanges) {\n this._changeAnnotations = new ChangeAnnotations(workspaceEdit.changeAnnotations);\n workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n workspaceEdit.documentChanges.forEach(function(change) {\n if (TextDocumentEdit.is(change)) {\n var textEditChange = new TextEditChangeImpl(change.edits, _this._changeAnnotations);\n _this._textEditChanges[change.textDocument.uri] = textEditChange;\n }\n });\n } else if (workspaceEdit.changes) {\n Object.keys(workspaceEdit.changes).forEach(function(key) {\n var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]);\n _this._textEditChanges[key] = textEditChange;\n });\n }\n } else {\n this._workspaceEdit = {};\n }\n }\n Object.defineProperty(WorkspaceChange2.prototype, \"edit\", {\n get: function() {\n this.initDocumentChanges();\n if (this._changeAnnotations !== void 0) {\n if (this._changeAnnotations.size === 0) {\n this._workspaceEdit.changeAnnotations = void 0;\n } else {\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n }\n return this._workspaceEdit;\n },\n enumerable: false,\n configurable: true\n });\n WorkspaceChange2.prototype.getTextEditChange = function(key) {\n if (OptionalVersionedTextDocumentIdentifier.is(key)) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === void 0) {\n throw new Error(\"Workspace edit is not configured for document changes.\");\n }\n var textDocument = { uri: key.uri, version: key.version };\n var result = this._textEditChanges[textDocument.uri];\n if (!result) {\n var edits = [];\n var textDocumentEdit = {\n textDocument,\n edits\n };\n this._workspaceEdit.documentChanges.push(textDocumentEdit);\n result = new TextEditChangeImpl(edits, this._changeAnnotations);\n this._textEditChanges[textDocument.uri] = result;\n }\n return result;\n } else {\n this.initChanges();\n if (this._workspaceEdit.changes === void 0) {\n throw new Error(\"Workspace edit is not configured for normal text edit changes.\");\n }\n var result = this._textEditChanges[key];\n if (!result) {\n var edits = [];\n this._workspaceEdit.changes[key] = edits;\n result = new TextEditChangeImpl(edits);\n this._textEditChanges[key] = result;\n }\n return result;\n }\n };\n WorkspaceChange2.prototype.initDocumentChanges = function() {\n if (this._workspaceEdit.documentChanges === void 0 && this._workspaceEdit.changes === void 0) {\n this._changeAnnotations = new ChangeAnnotations();\n this._workspaceEdit.documentChanges = [];\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n };\n WorkspaceChange2.prototype.initChanges = function() {\n if (this._workspaceEdit.documentChanges === void 0 && this._workspaceEdit.changes === void 0) {\n this._workspaceEdit.changes = /* @__PURE__ */ Object.create(null);\n }\n };\n WorkspaceChange2.prototype.createFile = function(uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === void 0) {\n throw new Error(\"Workspace edit is not configured for document changes.\");\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n } else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === void 0) {\n operation = CreateFile.create(uri, options);\n } else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = CreateFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== void 0) {\n return id;\n }\n };\n WorkspaceChange2.prototype.renameFile = function(oldUri, newUri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === void 0) {\n throw new Error(\"Workspace edit is not configured for document changes.\");\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n } else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === void 0) {\n operation = RenameFile.create(oldUri, newUri, options);\n } else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = RenameFile.create(oldUri, newUri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== void 0) {\n return id;\n }\n };\n WorkspaceChange2.prototype.deleteFile = function(uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === void 0) {\n throw new Error(\"Workspace edit is not configured for document changes.\");\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n } else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === void 0) {\n operation = DeleteFile.create(uri, options);\n } else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = DeleteFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== void 0) {\n return id;\n }\n };\n return WorkspaceChange2;\n}();\nvar TextDocumentIdentifier;\n(function(TextDocumentIdentifier2) {\n function create(uri) {\n return { uri };\n }\n TextDocumentIdentifier2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri);\n }\n TextDocumentIdentifier2.is = is;\n})(TextDocumentIdentifier || (TextDocumentIdentifier = {}));\nvar VersionedTextDocumentIdentifier;\n(function(VersionedTextDocumentIdentifier2) {\n function create(uri, version) {\n return { uri, version };\n }\n VersionedTextDocumentIdentifier2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.integer(candidate.version);\n }\n VersionedTextDocumentIdentifier2.is = is;\n})(VersionedTextDocumentIdentifier || (VersionedTextDocumentIdentifier = {}));\nvar OptionalVersionedTextDocumentIdentifier;\n(function(OptionalVersionedTextDocumentIdentifier2) {\n function create(uri, version) {\n return { uri, version };\n }\n OptionalVersionedTextDocumentIdentifier2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.integer(candidate.version));\n }\n OptionalVersionedTextDocumentIdentifier2.is = is;\n})(OptionalVersionedTextDocumentIdentifier || (OptionalVersionedTextDocumentIdentifier = {}));\nvar TextDocumentItem;\n(function(TextDocumentItem2) {\n function create(uri, languageId, version, text) {\n return { uri, languageId, version, text };\n }\n TextDocumentItem2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.integer(candidate.version) && Is.string(candidate.text);\n }\n TextDocumentItem2.is = is;\n})(TextDocumentItem || (TextDocumentItem = {}));\nvar MarkupKind;\n(function(MarkupKind2) {\n MarkupKind2.PlainText = \"plaintext\";\n MarkupKind2.Markdown = \"markdown\";\n})(MarkupKind || (MarkupKind = {}));\n(function(MarkupKind2) {\n function is(value) {\n var candidate = value;\n return candidate === MarkupKind2.PlainText || candidate === MarkupKind2.Markdown;\n }\n MarkupKind2.is = is;\n})(MarkupKind || (MarkupKind = {}));\nvar MarkupContent;\n(function(MarkupContent2) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value);\n }\n MarkupContent2.is = is;\n})(MarkupContent || (MarkupContent = {}));\nvar CompletionItemKind;\n(function(CompletionItemKind2) {\n CompletionItemKind2.Text = 1;\n CompletionItemKind2.Method = 2;\n CompletionItemKind2.Function = 3;\n CompletionItemKind2.Constructor = 4;\n CompletionItemKind2.Field = 5;\n CompletionItemKind2.Variable = 6;\n CompletionItemKind2.Class = 7;\n CompletionItemKind2.Interface = 8;\n CompletionItemKind2.Module = 9;\n CompletionItemKind2.Property = 10;\n CompletionItemKind2.Unit = 11;\n CompletionItemKind2.Value = 12;\n CompletionItemKind2.Enum = 13;\n CompletionItemKind2.Keyword = 14;\n CompletionItemKind2.Snippet = 15;\n CompletionItemKind2.Color = 16;\n CompletionItemKind2.File = 17;\n CompletionItemKind2.Reference = 18;\n CompletionItemKind2.Folder = 19;\n CompletionItemKind2.EnumMember = 20;\n CompletionItemKind2.Constant = 21;\n CompletionItemKind2.Struct = 22;\n CompletionItemKind2.Event = 23;\n CompletionItemKind2.Operator = 24;\n CompletionItemKind2.TypeParameter = 25;\n})(CompletionItemKind || (CompletionItemKind = {}));\nvar InsertTextFormat;\n(function(InsertTextFormat2) {\n InsertTextFormat2.PlainText = 1;\n InsertTextFormat2.Snippet = 2;\n})(InsertTextFormat || (InsertTextFormat = {}));\nvar CompletionItemTag;\n(function(CompletionItemTag2) {\n CompletionItemTag2.Deprecated = 1;\n})(CompletionItemTag || (CompletionItemTag = {}));\nvar InsertReplaceEdit;\n(function(InsertReplaceEdit2) {\n function create(newText, insert, replace) {\n return { newText, insert, replace };\n }\n InsertReplaceEdit2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.newText) && Range.is(candidate.insert) && Range.is(candidate.replace);\n }\n InsertReplaceEdit2.is = is;\n})(InsertReplaceEdit || (InsertReplaceEdit = {}));\nvar InsertTextMode;\n(function(InsertTextMode2) {\n InsertTextMode2.asIs = 1;\n InsertTextMode2.adjustIndentation = 2;\n})(InsertTextMode || (InsertTextMode = {}));\nvar CompletionItem;\n(function(CompletionItem2) {\n function create(label) {\n return { label };\n }\n CompletionItem2.create = create;\n})(CompletionItem || (CompletionItem = {}));\nvar CompletionList;\n(function(CompletionList2) {\n function create(items, isIncomplete) {\n return { items: items ? items : [], isIncomplete: !!isIncomplete };\n }\n CompletionList2.create = create;\n})(CompletionList || (CompletionList = {}));\nvar MarkedString;\n(function(MarkedString2) {\n function fromPlainText(plainText) {\n return plainText.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, \"\\\\$&\");\n }\n MarkedString2.fromPlainText = fromPlainText;\n function is(value) {\n var candidate = value;\n return Is.string(candidate) || Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value);\n }\n MarkedString2.is = is;\n})(MarkedString || (MarkedString = {}));\nvar Hover;\n(function(Hover2) {\n function is(value) {\n var candidate = value;\n return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) || MarkedString.is(candidate.contents) || Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === void 0 || Range.is(value.range));\n }\n Hover2.is = is;\n})(Hover || (Hover = {}));\nvar ParameterInformation;\n(function(ParameterInformation2) {\n function create(label, documentation) {\n return documentation ? { label, documentation } : { label };\n }\n ParameterInformation2.create = create;\n})(ParameterInformation || (ParameterInformation = {}));\nvar SignatureInformation;\n(function(SignatureInformation2) {\n function create(label, documentation) {\n var parameters = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n parameters[_i - 2] = arguments[_i];\n }\n var result = { label };\n if (Is.defined(documentation)) {\n result.documentation = documentation;\n }\n if (Is.defined(parameters)) {\n result.parameters = parameters;\n } else {\n result.parameters = [];\n }\n return result;\n }\n SignatureInformation2.create = create;\n})(SignatureInformation || (SignatureInformation = {}));\nvar DocumentHighlightKind;\n(function(DocumentHighlightKind2) {\n DocumentHighlightKind2.Text = 1;\n DocumentHighlightKind2.Read = 2;\n DocumentHighlightKind2.Write = 3;\n})(DocumentHighlightKind || (DocumentHighlightKind = {}));\nvar DocumentHighlight;\n(function(DocumentHighlight2) {\n function create(range, kind) {\n var result = { range };\n if (Is.number(kind)) {\n result.kind = kind;\n }\n return result;\n }\n DocumentHighlight2.create = create;\n})(DocumentHighlight || (DocumentHighlight = {}));\nvar SymbolKind;\n(function(SymbolKind2) {\n SymbolKind2.File = 1;\n SymbolKind2.Module = 2;\n SymbolKind2.Namespace = 3;\n SymbolKind2.Package = 4;\n SymbolKind2.Class = 5;\n SymbolKind2.Method = 6;\n SymbolKind2.Property = 7;\n SymbolKind2.Field = 8;\n SymbolKind2.Constructor = 9;\n SymbolKind2.Enum = 10;\n SymbolKind2.Interface = 11;\n SymbolKind2.Function = 12;\n SymbolKind2.Variable = 13;\n SymbolKind2.Constant = 14;\n SymbolKind2.String = 15;\n SymbolKind2.Number = 16;\n SymbolKind2.Boolean = 17;\n SymbolKind2.Array = 18;\n SymbolKind2.Object = 19;\n SymbolKind2.Key = 20;\n SymbolKind2.Null = 21;\n SymbolKind2.EnumMember = 22;\n SymbolKind2.Struct = 23;\n SymbolKind2.Event = 24;\n SymbolKind2.Operator = 25;\n SymbolKind2.TypeParameter = 26;\n})(SymbolKind || (SymbolKind = {}));\nvar SymbolTag;\n(function(SymbolTag2) {\n SymbolTag2.Deprecated = 1;\n})(SymbolTag || (SymbolTag = {}));\nvar SymbolInformation;\n(function(SymbolInformation2) {\n function create(name, kind, range, uri, containerName) {\n var result = {\n name,\n kind,\n location: { uri, range }\n };\n if (containerName) {\n result.containerName = containerName;\n }\n return result;\n }\n SymbolInformation2.create = create;\n})(SymbolInformation || (SymbolInformation = {}));\nvar DocumentSymbol;\n(function(DocumentSymbol2) {\n function create(name, detail, kind, range, selectionRange, children) {\n var result = {\n name,\n detail,\n kind,\n range,\n selectionRange\n };\n if (children !== void 0) {\n result.children = children;\n }\n return result;\n }\n DocumentSymbol2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.name) && Is.number(candidate.kind) && Range.is(candidate.range) && Range.is(candidate.selectionRange) && (candidate.detail === void 0 || Is.string(candidate.detail)) && (candidate.deprecated === void 0 || Is.boolean(candidate.deprecated)) && (candidate.children === void 0 || Array.isArray(candidate.children)) && (candidate.tags === void 0 || Array.isArray(candidate.tags));\n }\n DocumentSymbol2.is = is;\n})(DocumentSymbol || (DocumentSymbol = {}));\nvar CodeActionKind;\n(function(CodeActionKind2) {\n CodeActionKind2.Empty = \"\";\n CodeActionKind2.QuickFix = \"quickfix\";\n CodeActionKind2.Refactor = \"refactor\";\n CodeActionKind2.RefactorExtract = \"refactor.extract\";\n CodeActionKind2.RefactorInline = \"refactor.inline\";\n CodeActionKind2.RefactorRewrite = \"refactor.rewrite\";\n CodeActionKind2.Source = \"source\";\n CodeActionKind2.SourceOrganizeImports = \"source.organizeImports\";\n CodeActionKind2.SourceFixAll = \"source.fixAll\";\n})(CodeActionKind || (CodeActionKind = {}));\nvar CodeActionContext;\n(function(CodeActionContext2) {\n function create(diagnostics, only) {\n var result = { diagnostics };\n if (only !== void 0 && only !== null) {\n result.only = only;\n }\n return result;\n }\n CodeActionContext2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is) && (candidate.only === void 0 || Is.typedArray(candidate.only, Is.string));\n }\n CodeActionContext2.is = is;\n})(CodeActionContext || (CodeActionContext = {}));\nvar CodeAction;\n(function(CodeAction2) {\n function create(title, kindOrCommandOrEdit, kind) {\n var result = { title };\n var checkKind = true;\n if (typeof kindOrCommandOrEdit === \"string\") {\n checkKind = false;\n result.kind = kindOrCommandOrEdit;\n } else if (Command.is(kindOrCommandOrEdit)) {\n result.command = kindOrCommandOrEdit;\n } else {\n result.edit = kindOrCommandOrEdit;\n }\n if (checkKind && kind !== void 0) {\n result.kind = kind;\n }\n return result;\n }\n CodeAction2.create = create;\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.title) && (candidate.diagnostics === void 0 || Is.typedArray(candidate.diagnostics, Diagnostic.is)) && (candidate.kind === void 0 || Is.string(candidate.kind)) && (candidate.edit !== void 0 || candidate.command !== void 0) && (candidate.command === void 0 || Command.is(candidate.command)) && (candidate.isPreferred === void 0 || Is.boolean(candidate.isPreferred)) && (candidate.edit === void 0 || WorkspaceEdit.is(candidate.edit));\n }\n CodeAction2.is = is;\n})(CodeAction || (CodeAction = {}));\nvar CodeLens;\n(function(CodeLens2) {\n function create(range, data) {\n var result = { range };\n if (Is.defined(data)) {\n result.data = data;\n }\n return result;\n }\n CodeLens2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command));\n }\n CodeLens2.is = is;\n})(CodeLens || (CodeLens = {}));\nvar FormattingOptions;\n(function(FormattingOptions2) {\n function create(tabSize, insertSpaces) {\n return { tabSize, insertSpaces };\n }\n FormattingOptions2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.uinteger(candidate.tabSize) && Is.boolean(candidate.insertSpaces);\n }\n FormattingOptions2.is = is;\n})(FormattingOptions || (FormattingOptions = {}));\nvar DocumentLink;\n(function(DocumentLink2) {\n function create(range, target, data) {\n return { range, target, data };\n }\n DocumentLink2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target));\n }\n DocumentLink2.is = is;\n})(DocumentLink || (DocumentLink = {}));\nvar SelectionRange;\n(function(SelectionRange2) {\n function create(range, parent) {\n return { range, parent };\n }\n SelectionRange2.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== void 0 && Range.is(candidate.range) && (candidate.parent === void 0 || SelectionRange2.is(candidate.parent));\n }\n SelectionRange2.is = is;\n})(SelectionRange || (SelectionRange = {}));\nvar TextDocument;\n(function(TextDocument2) {\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument2.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.uinteger(candidate.lineCount) && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false;\n }\n TextDocument2.is = is;\n function applyEdits(document, edits) {\n var text = document.getText();\n var sortedEdits = mergeSort(edits, function(a, b) {\n var diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n var lastModifiedOffset = text.length;\n for (var i = sortedEdits.length - 1; i >= 0; i--) {\n var e = sortedEdits[i];\n var startOffset = document.offsetAt(e.range.start);\n var endOffset = document.offsetAt(e.range.end);\n if (endOffset <= lastModifiedOffset) {\n text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length);\n } else {\n throw new Error(\"Overlapping edit\");\n }\n lastModifiedOffset = startOffset;\n }\n return text;\n }\n TextDocument2.applyEdits = applyEdits;\n function mergeSort(data, compare) {\n if (data.length <= 1) {\n return data;\n }\n var p = data.length / 2 | 0;\n var left = data.slice(0, p);\n var right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n var leftIdx = 0;\n var rightIdx = 0;\n var i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n var ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n data[i++] = left[leftIdx++];\n } else {\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n }\n})(TextDocument || (TextDocument = {}));\nvar FullTextDocument = function() {\n function FullTextDocument2(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = void 0;\n }\n Object.defineProperty(FullTextDocument2.prototype, \"uri\", {\n get: function() {\n return this._uri;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument2.prototype, \"languageId\", {\n get: function() {\n return this._languageId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument2.prototype, \"version\", {\n get: function() {\n return this._version;\n },\n enumerable: false,\n configurable: true\n });\n FullTextDocument2.prototype.getText = function(range) {\n if (range) {\n var start = this.offsetAt(range.start);\n var end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n };\n FullTextDocument2.prototype.update = function(event, version) {\n this._content = event.text;\n this._version = version;\n this._lineOffsets = void 0;\n };\n FullTextDocument2.prototype.getLineOffsets = function() {\n if (this._lineOffsets === void 0) {\n var lineOffsets = [];\n var text = this._content;\n var isLineStart = true;\n for (var i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n var ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n this._lineOffsets = lineOffsets;\n }\n return this._lineOffsets;\n };\n FullTextDocument2.prototype.positionAt = function(offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n var lineOffsets = this.getLineOffsets();\n var low = 0, high = lineOffsets.length;\n if (high === 0) {\n return Position.create(0, offset);\n }\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n var line = low - 1;\n return Position.create(line, offset - lineOffsets[line]);\n };\n FullTextDocument2.prototype.offsetAt = function(position) {\n var lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n } else if (position.line < 0) {\n return 0;\n }\n var lineOffset = lineOffsets[position.line];\n var nextLineOffset = position.line + 1 < lineOffsets.length ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n };\n Object.defineProperty(FullTextDocument2.prototype, \"lineCount\", {\n get: function() {\n return this.getLineOffsets().length;\n },\n enumerable: false,\n configurable: true\n });\n return FullTextDocument2;\n}();\nvar Is;\n(function(Is2) {\n var toString = Object.prototype.toString;\n function defined(value) {\n return typeof value !== \"undefined\";\n }\n Is2.defined = defined;\n function undefined2(value) {\n return typeof value === \"undefined\";\n }\n Is2.undefined = undefined2;\n function boolean(value) {\n return value === true || value === false;\n }\n Is2.boolean = boolean;\n function string(value) {\n return toString.call(value) === \"[object String]\";\n }\n Is2.string = string;\n function number(value) {\n return toString.call(value) === \"[object Number]\";\n }\n Is2.number = number;\n function numberRange(value, min, max) {\n return toString.call(value) === \"[object Number]\" && min <= value && value <= max;\n }\n Is2.numberRange = numberRange;\n function integer2(value) {\n return toString.call(value) === \"[object Number]\" && -2147483648 <= value && value <= 2147483647;\n }\n Is2.integer = integer2;\n function uinteger2(value) {\n return toString.call(value) === \"[object Number]\" && 0 <= value && value <= 2147483647;\n }\n Is2.uinteger = uinteger2;\n function func(value) {\n return toString.call(value) === \"[object Function]\";\n }\n Is2.func = func;\n function objectLiteral(value) {\n return value !== null && typeof value === \"object\";\n }\n Is2.objectLiteral = objectLiteral;\n function typedArray(value, check) {\n return Array.isArray(value) && value.every(check);\n }\n Is2.typedArray = typedArray;\n})(Is || (Is = {}));\n\n// src/language/common/lspLanguageFeatures.ts\nvar DiagnosticsAdapter = class {\n constructor(_languageId, _worker, configChangeEvent) {\n this._languageId = _languageId;\n this._worker = _worker;\n const onModelAdd = (model) => {\n let modeId = model.getLanguageId();\n if (modeId !== this._languageId) {\n return;\n }\n let handle;\n this._listener[model.uri.toString()] = model.onDidChangeContent(() => {\n window.clearTimeout(handle);\n handle = window.setTimeout(() => this._doValidate(model.uri, modeId), 500);\n });\n this._doValidate(model.uri, modeId);\n };\n const onModelRemoved = (model) => {\n monaco_editor_core_exports.editor.setModelMarkers(model, this._languageId, []);\n let uriStr = model.uri.toString();\n let listener = this._listener[uriStr];\n if (listener) {\n listener.dispose();\n delete this._listener[uriStr];\n }\n };\n this._disposables.push(monaco_editor_core_exports.editor.onDidCreateModel(onModelAdd));\n this._disposables.push(monaco_editor_core_exports.editor.onWillDisposeModel(onModelRemoved));\n this._disposables.push(monaco_editor_core_exports.editor.onDidChangeModelLanguage((event) => {\n onModelRemoved(event.model);\n onModelAdd(event.model);\n }));\n this._disposables.push(configChangeEvent((_) => {\n monaco_editor_core_exports.editor.getModels().forEach((model) => {\n if (model.getLanguageId() === this._languageId) {\n onModelRemoved(model);\n onModelAdd(model);\n }\n });\n }));\n this._disposables.push({\n dispose: () => {\n monaco_editor_core_exports.editor.getModels().forEach(onModelRemoved);\n for (let key in this._listener) {\n this._listener[key].dispose();\n }\n }\n });\n monaco_editor_core_exports.editor.getModels().forEach(onModelAdd);\n }\n _disposables = [];\n _listener = /* @__PURE__ */ Object.create(null);\n dispose() {\n this._disposables.forEach((d) => d && d.dispose());\n this._disposables.length = 0;\n }\n _doValidate(resource, languageId) {\n this._worker(resource).then((worker) => {\n return worker.doValidation(resource.toString());\n }).then((diagnostics) => {\n const markers = diagnostics.map((d) => toDiagnostics(resource, d));\n let model = monaco_editor_core_exports.editor.getModel(resource);\n if (model && model.getLanguageId() === languageId) {\n monaco_editor_core_exports.editor.setModelMarkers(model, languageId, markers);\n }\n }).then(void 0, (err) => {\n console.error(err);\n });\n }\n};\nfunction toSeverity(lsSeverity) {\n switch (lsSeverity) {\n case DiagnosticSeverity.Error:\n return monaco_editor_core_exports.MarkerSeverity.Error;\n case DiagnosticSeverity.Warning:\n return monaco_editor_core_exports.MarkerSeverity.Warning;\n case DiagnosticSeverity.Information:\n return monaco_editor_core_exports.MarkerSeverity.Info;\n case DiagnosticSeverity.Hint:\n return monaco_editor_core_exports.MarkerSeverity.Hint;\n default:\n return monaco_editor_core_exports.MarkerSeverity.Info;\n }\n}\nfunction toDiagnostics(resource, diag) {\n let code = typeof diag.code === \"number\" ? String(diag.code) : diag.code;\n return {\n severity: toSeverity(diag.severity),\n startLineNumber: diag.range.start.line + 1,\n startColumn: diag.range.start.character + 1,\n endLineNumber: diag.range.end.line + 1,\n endColumn: diag.range.end.character + 1,\n message: diag.message,\n code,\n source: diag.source\n };\n}\nvar CompletionAdapter = class {\n constructor(_worker, _triggerCharacters) {\n this._worker = _worker;\n this._triggerCharacters = _triggerCharacters;\n }\n get triggerCharacters() {\n return this._triggerCharacters;\n }\n provideCompletionItems(model, position, context, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.doComplete(resource.toString(), fromPosition(position));\n }).then((info) => {\n if (!info) {\n return;\n }\n const wordInfo = model.getWordUntilPosition(position);\n const wordRange = new monaco_editor_core_exports.Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, wordInfo.endColumn);\n const items = info.items.map((entry) => {\n const item = {\n label: entry.label,\n insertText: entry.insertText || entry.label,\n sortText: entry.sortText,\n filterText: entry.filterText,\n documentation: entry.documentation,\n detail: entry.detail,\n command: toCommand(entry.command),\n range: wordRange,\n kind: toCompletionItemKind(entry.kind)\n };\n if (entry.textEdit) {\n if (isInsertReplaceEdit(entry.textEdit)) {\n item.range = {\n insert: toRange(entry.textEdit.insert),\n replace: toRange(entry.textEdit.replace)\n };\n } else {\n item.range = toRange(entry.textEdit.range);\n }\n item.insertText = entry.textEdit.newText;\n }\n if (entry.additionalTextEdits) {\n item.additionalTextEdits = entry.additionalTextEdits.map(toTextEdit);\n }\n if (entry.insertTextFormat === InsertTextFormat.Snippet) {\n item.insertTextRules = monaco_editor_core_exports.languages.CompletionItemInsertTextRule.InsertAsSnippet;\n }\n return item;\n });\n return {\n isIncomplete: info.isIncomplete,\n suggestions: items\n };\n });\n }\n};\nfunction fromPosition(position) {\n if (!position) {\n return void 0;\n }\n return { character: position.column - 1, line: position.lineNumber - 1 };\n}\nfunction fromRange(range) {\n if (!range) {\n return void 0;\n }\n return {\n start: {\n line: range.startLineNumber - 1,\n character: range.startColumn - 1\n },\n end: { line: range.endLineNumber - 1, character: range.endColumn - 1 }\n };\n}\nfunction toRange(range) {\n if (!range) {\n return void 0;\n }\n return new monaco_editor_core_exports.Range(range.start.line + 1, range.start.character + 1, range.end.line + 1, range.end.character + 1);\n}\nfunction isInsertReplaceEdit(edit) {\n return typeof edit.insert !== \"undefined\" && typeof edit.replace !== \"undefined\";\n}\nfunction toCompletionItemKind(kind) {\n const mItemKind = monaco_editor_core_exports.languages.CompletionItemKind;\n switch (kind) {\n case CompletionItemKind.Text:\n return mItemKind.Text;\n case CompletionItemKind.Method:\n return mItemKind.Method;\n case CompletionItemKind.Function:\n return mItemKind.Function;\n case CompletionItemKind.Constructor:\n return mItemKind.Constructor;\n case CompletionItemKind.Field:\n return mItemKind.Field;\n case CompletionItemKind.Variable:\n return mItemKind.Variable;\n case CompletionItemKind.Class:\n return mItemKind.Class;\n case CompletionItemKind.Interface:\n return mItemKind.Interface;\n case CompletionItemKind.Module:\n return mItemKind.Module;\n case CompletionItemKind.Property:\n return mItemKind.Property;\n case CompletionItemKind.Unit:\n return mItemKind.Unit;\n case CompletionItemKind.Value:\n return mItemKind.Value;\n case CompletionItemKind.Enum:\n return mItemKind.Enum;\n case CompletionItemKind.Keyword:\n return mItemKind.Keyword;\n case CompletionItemKind.Snippet:\n return mItemKind.Snippet;\n case CompletionItemKind.Color:\n return mItemKind.Color;\n case CompletionItemKind.File:\n return mItemKind.File;\n case CompletionItemKind.Reference:\n return mItemKind.Reference;\n }\n return mItemKind.Property;\n}\nfunction toTextEdit(textEdit) {\n if (!textEdit) {\n return void 0;\n }\n return {\n range: toRange(textEdit.range),\n text: textEdit.newText\n };\n}\nfunction toCommand(c) {\n return c && c.command === \"editor.action.triggerSuggest\" ? { id: c.command, title: c.title, arguments: c.arguments } : void 0;\n}\nvar HoverAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideHover(model, position, token) {\n let resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.doHover(resource.toString(), fromPosition(position));\n }).then((info) => {\n if (!info) {\n return;\n }\n return {\n range: toRange(info.range),\n contents: toMarkedStringArray(info.contents)\n };\n });\n }\n};\nfunction isMarkupContent(thing) {\n return thing && typeof thing === \"object\" && typeof thing.kind === \"string\";\n}\nfunction toMarkdownString(entry) {\n if (typeof entry === \"string\") {\n return {\n value: entry\n };\n }\n if (isMarkupContent(entry)) {\n if (entry.kind === \"plaintext\") {\n return {\n value: entry.value.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, \"\\\\$&\")\n };\n }\n return {\n value: entry.value\n };\n }\n return { value: \"```\" + entry.language + \"\\n\" + entry.value + \"\\n```\\n\" };\n}\nfunction toMarkedStringArray(contents) {\n if (!contents) {\n return void 0;\n }\n if (Array.isArray(contents)) {\n return contents.map(toMarkdownString);\n }\n return [toMarkdownString(contents)];\n}\nvar DocumentHighlightAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideDocumentHighlights(model, position, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.findDocumentHighlights(resource.toString(), fromPosition(position))).then((entries) => {\n if (!entries) {\n return;\n }\n return entries.map((entry) => {\n return {\n range: toRange(entry.range),\n kind: toDocumentHighlightKind(entry.kind)\n };\n });\n });\n }\n};\nfunction toDocumentHighlightKind(kind) {\n switch (kind) {\n case DocumentHighlightKind.Read:\n return monaco_editor_core_exports.languages.DocumentHighlightKind.Read;\n case DocumentHighlightKind.Write:\n return monaco_editor_core_exports.languages.DocumentHighlightKind.Write;\n case DocumentHighlightKind.Text:\n return monaco_editor_core_exports.languages.DocumentHighlightKind.Text;\n }\n return monaco_editor_core_exports.languages.DocumentHighlightKind.Text;\n}\nvar DefinitionAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideDefinition(model, position, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.findDefinition(resource.toString(), fromPosition(position));\n }).then((definition) => {\n if (!definition) {\n return;\n }\n return [toLocation(definition)];\n });\n }\n};\nfunction toLocation(location) {\n return {\n uri: monaco_editor_core_exports.Uri.parse(location.uri),\n range: toRange(location.range)\n };\n}\nvar ReferenceAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideReferences(model, position, context, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.findReferences(resource.toString(), fromPosition(position));\n }).then((entries) => {\n if (!entries) {\n return;\n }\n return entries.map(toLocation);\n });\n }\n};\nvar RenameAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideRenameEdits(model, position, newName, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.doRename(resource.toString(), fromPosition(position), newName);\n }).then((edit) => {\n return toWorkspaceEdit(edit);\n });\n }\n};\nfunction toWorkspaceEdit(edit) {\n if (!edit || !edit.changes) {\n return void 0;\n }\n let resourceEdits = [];\n for (let uri in edit.changes) {\n const _uri = monaco_editor_core_exports.Uri.parse(uri);\n for (let e of edit.changes[uri]) {\n resourceEdits.push({\n resource: _uri,\n versionId: void 0,\n textEdit: {\n range: toRange(e.range),\n text: e.newText\n }\n });\n }\n }\n return {\n edits: resourceEdits\n };\n}\nvar DocumentSymbolAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideDocumentSymbols(model, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.findDocumentSymbols(resource.toString())).then((items) => {\n if (!items) {\n return;\n }\n return items.map((item) => ({\n name: item.name,\n detail: \"\",\n containerName: item.containerName,\n kind: toSymbolKind(item.kind),\n range: toRange(item.location.range),\n selectionRange: toRange(item.location.range),\n tags: []\n }));\n });\n }\n};\nfunction toSymbolKind(kind) {\n let mKind = monaco_editor_core_exports.languages.SymbolKind;\n switch (kind) {\n case SymbolKind.File:\n return mKind.Array;\n case SymbolKind.Module:\n return mKind.Module;\n case SymbolKind.Namespace:\n return mKind.Namespace;\n case SymbolKind.Package:\n return mKind.Package;\n case SymbolKind.Class:\n return mKind.Class;\n case SymbolKind.Method:\n return mKind.Method;\n case SymbolKind.Property:\n return mKind.Property;\n case SymbolKind.Field:\n return mKind.Field;\n case SymbolKind.Constructor:\n return mKind.Constructor;\n case SymbolKind.Enum:\n return mKind.Enum;\n case SymbolKind.Interface:\n return mKind.Interface;\n case SymbolKind.Function:\n return mKind.Function;\n case SymbolKind.Variable:\n return mKind.Variable;\n case SymbolKind.Constant:\n return mKind.Constant;\n case SymbolKind.String:\n return mKind.String;\n case SymbolKind.Number:\n return mKind.Number;\n case SymbolKind.Boolean:\n return mKind.Boolean;\n case SymbolKind.Array:\n return mKind.Array;\n }\n return mKind.Function;\n}\nvar DocumentLinkAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideLinks(model, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.findDocumentLinks(resource.toString())).then((items) => {\n if (!items) {\n return;\n }\n return {\n links: items.map((item) => ({\n range: toRange(item.range),\n url: item.target\n }))\n };\n });\n }\n};\nvar DocumentFormattingEditProvider = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideDocumentFormattingEdits(model, options, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.format(resource.toString(), null, fromFormattingOptions(options)).then((edits) => {\n if (!edits || edits.length === 0) {\n return;\n }\n return edits.map(toTextEdit);\n });\n });\n }\n};\nvar DocumentRangeFormattingEditProvider = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n canFormatMultipleRanges = false;\n provideDocumentRangeFormattingEdits(model, range, options, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => {\n return worker.format(resource.toString(), fromRange(range), fromFormattingOptions(options)).then((edits) => {\n if (!edits || edits.length === 0) {\n return;\n }\n return edits.map(toTextEdit);\n });\n });\n }\n};\nfunction fromFormattingOptions(options) {\n return {\n tabSize: options.tabSize,\n insertSpaces: options.insertSpaces\n };\n}\nvar DocumentColorAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideDocumentColors(model, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.findDocumentColors(resource.toString())).then((infos) => {\n if (!infos) {\n return;\n }\n return infos.map((item) => ({\n color: item.color,\n range: toRange(item.range)\n }));\n });\n }\n provideColorPresentations(model, info, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.getColorPresentations(resource.toString(), info.color, fromRange(info.range))).then((presentations) => {\n if (!presentations) {\n return;\n }\n return presentations.map((presentation) => {\n let item = {\n label: presentation.label\n };\n if (presentation.textEdit) {\n item.textEdit = toTextEdit(presentation.textEdit);\n }\n if (presentation.additionalTextEdits) {\n item.additionalTextEdits = presentation.additionalTextEdits.map(toTextEdit);\n }\n return item;\n });\n });\n }\n};\nvar FoldingRangeAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideFoldingRanges(model, context, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.getFoldingRanges(resource.toString(), context)).then((ranges) => {\n if (!ranges) {\n return;\n }\n return ranges.map((range) => {\n const result = {\n start: range.startLine + 1,\n end: range.endLine + 1\n };\n if (typeof range.kind !== \"undefined\") {\n result.kind = toFoldingRangeKind(range.kind);\n }\n return result;\n });\n });\n }\n};\nfunction toFoldingRangeKind(kind) {\n switch (kind) {\n case FoldingRangeKind.Comment:\n return monaco_editor_core_exports.languages.FoldingRangeKind.Comment;\n case FoldingRangeKind.Imports:\n return monaco_editor_core_exports.languages.FoldingRangeKind.Imports;\n case FoldingRangeKind.Region:\n return monaco_editor_core_exports.languages.FoldingRangeKind.Region;\n }\n return void 0;\n}\nvar SelectionRangeAdapter = class {\n constructor(_worker) {\n this._worker = _worker;\n }\n provideSelectionRanges(model, positions, token) {\n const resource = model.uri;\n return this._worker(resource).then((worker) => worker.getSelectionRanges(resource.toString(), positions.map(fromPosition))).then((selectionRanges) => {\n if (!selectionRanges) {\n return;\n }\n return selectionRanges.map((selectionRange) => {\n const result = [];\n while (selectionRange) {\n result.push({ range: toRange(selectionRange.range) });\n selectionRange = selectionRange.parent;\n }\n return result;\n });\n });\n }\n};\n\n// src/language/html/htmlMode.ts\nvar HTMLCompletionAdapter = class extends CompletionAdapter {\n constructor(worker) {\n super(worker, [\".\", \":\", \"<\", '\"', \"=\", \"/\"]);\n }\n};\nfunction setupMode1(defaults) {\n const client = new WorkerManager(defaults);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n let languageId = defaults.languageId;\n monaco_editor_core_exports.languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker));\n monaco_editor_core_exports.languages.registerHoverProvider(languageId, new HoverAdapter(worker));\n monaco_editor_core_exports.languages.registerDocumentHighlightProvider(languageId, new DocumentHighlightAdapter(worker));\n monaco_editor_core_exports.languages.registerLinkProvider(languageId, new DocumentLinkAdapter(worker));\n monaco_editor_core_exports.languages.registerFoldingRangeProvider(languageId, new FoldingRangeAdapter(worker));\n monaco_editor_core_exports.languages.registerDocumentSymbolProvider(languageId, new DocumentSymbolAdapter(worker));\n monaco_editor_core_exports.languages.registerSelectionRangeProvider(languageId, new SelectionRangeAdapter(worker));\n monaco_editor_core_exports.languages.registerRenameProvider(languageId, new RenameAdapter(worker));\n if (languageId === \"html\") {\n monaco_editor_core_exports.languages.registerDocumentFormattingEditProvider(languageId, new DocumentFormattingEditProvider(worker));\n monaco_editor_core_exports.languages.registerDocumentRangeFormattingEditProvider(languageId, new DocumentRangeFormattingEditProvider(worker));\n }\n}\nfunction setupMode(defaults) {\n const disposables = [];\n const providers = [];\n const client = new WorkerManager(defaults);\n disposables.push(client);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n function registerProviders() {\n const { languageId, modeConfiguration } = defaults;\n disposeAll(providers);\n if (modeConfiguration.completionItems) {\n providers.push(monaco_editor_core_exports.languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker)));\n }\n if (modeConfiguration.hovers) {\n providers.push(monaco_editor_core_exports.languages.registerHoverProvider(languageId, new HoverAdapter(worker)));\n }\n if (modeConfiguration.documentHighlights) {\n providers.push(monaco_editor_core_exports.languages.registerDocumentHighlightProvider(languageId, new DocumentHighlightAdapter(worker)));\n }\n if (modeConfiguration.links) {\n providers.push(monaco_editor_core_exports.languages.registerLinkProvider(languageId, new DocumentLinkAdapter(worker)));\n }\n if (modeConfiguration.documentSymbols) {\n providers.push(monaco_editor_core_exports.languages.registerDocumentSymbolProvider(languageId, new DocumentSymbolAdapter(worker)));\n }\n if (modeConfiguration.rename) {\n providers.push(monaco_editor_core_exports.languages.registerRenameProvider(languageId, new RenameAdapter(worker)));\n }\n if (modeConfiguration.foldingRanges) {\n providers.push(monaco_editor_core_exports.languages.registerFoldingRangeProvider(languageId, new FoldingRangeAdapter(worker)));\n }\n if (modeConfiguration.selectionRanges) {\n providers.push(monaco_editor_core_exports.languages.registerSelectionRangeProvider(languageId, new SelectionRangeAdapter(worker)));\n }\n if (modeConfiguration.documentFormattingEdits) {\n providers.push(monaco_editor_core_exports.languages.registerDocumentFormattingEditProvider(languageId, new DocumentFormattingEditProvider(worker)));\n }\n if (modeConfiguration.documentRangeFormattingEdits) {\n providers.push(monaco_editor_core_exports.languages.registerDocumentRangeFormattingEditProvider(languageId, new DocumentRangeFormattingEditProvider(worker)));\n }\n }\n registerProviders();\n disposables.push(asDisposable(providers));\n return asDisposable(disposables);\n}\nfunction asDisposable(disposables) {\n return { dispose: () => disposeAll(disposables) };\n}\nfunction disposeAll(disposables) {\n while (disposables.length) {\n disposables.pop().dispose();\n }\n}\nexport {\n CompletionAdapter,\n DefinitionAdapter,\n DiagnosticsAdapter,\n DocumentColorAdapter,\n DocumentFormattingEditProvider,\n DocumentHighlightAdapter,\n DocumentLinkAdapter,\n DocumentRangeFormattingEditProvider,\n DocumentSymbolAdapter,\n FoldingRangeAdapter,\n HoverAdapter,\n ReferenceAdapter,\n RenameAdapter,\n SelectionRangeAdapter,\n WorkerManager,\n fromPosition,\n fromRange,\n setupMode,\n setupMode1,\n toRange,\n toTextEdit\n};\n"],"names":["__defProp","__getOwnPropDesc","__getOwnPropNames","__hasOwnProp","__copyProps","to","from","except","desc","key","__reExport","target","mod","secondTarget","monaco_editor_core_exports","monaco_editor_core_star","STOP_WHEN_IDLE_FOR","WorkerManager","defaults","__publicField","resources","_client","client","_","integer","integer2","uinteger","uinteger2","Position","Position3","create","line","character","is","value","candidate","Is","Range","Range3","one","two","three","four","Location","Location2","uri","range","LocationLink","LocationLink2","targetUri","targetRange","targetSelectionRange","originSelectionRange","Color","Color2","red","green","blue","alpha","ColorInformation","ColorInformation2","color","ColorPresentation","ColorPresentation2","label","textEdit","additionalTextEdits","TextEdit","FoldingRangeKind","FoldingRangeKind2","FoldingRange","FoldingRange2","startLine","endLine","startCharacter","endCharacter","kind","result","DiagnosticRelatedInformation","DiagnosticRelatedInformation2","location","message","DiagnosticSeverity","DiagnosticSeverity2","DiagnosticTag","DiagnosticTag2","CodeDescription","CodeDescription2","Diagnostic","Diagnostic2","severity","code","source","relatedInformation","_a","Command","Command2","title","command","args","_i","TextEdit2","replace","newText","insert","position","del","ChangeAnnotation","ChangeAnnotation2","needsConfirmation","description","ChangeAnnotationIdentifier","ChangeAnnotationIdentifier2","AnnotatedTextEdit","AnnotatedTextEdit2","annotation","TextDocumentEdit","TextDocumentEdit2","textDocument","edits","OptionalVersionedTextDocumentIdentifier","CreateFile","CreateFile2","options","RenameFile","RenameFile2","oldUri","newUri","DeleteFile","DeleteFile2","WorkspaceEdit","WorkspaceEdit2","change","TextEditChangeImpl","TextEditChangeImpl2","changeAnnotations","edit","id","ChangeAnnotations","ChangeAnnotations2","annotations","idOrAnnotation","WorkspaceChange2","workspaceEdit","_this","textEditChange","textDocumentEdit","optionsOrAnnotation","operation","TextDocumentIdentifier","TextDocumentIdentifier2","VersionedTextDocumentIdentifier","VersionedTextDocumentIdentifier2","version","OptionalVersionedTextDocumentIdentifier2","TextDocumentItem","TextDocumentItem2","languageId","text","MarkupKind","MarkupKind2","MarkupContent","MarkupContent2","CompletionItemKind","CompletionItemKind2","InsertTextFormat","InsertTextFormat2","CompletionItemTag","CompletionItemTag2","InsertReplaceEdit","InsertReplaceEdit2","InsertTextMode","InsertTextMode2","CompletionItem","CompletionItem2","CompletionList","CompletionList2","items","isIncomplete","MarkedString","MarkedString2","fromPlainText","plainText","Hover","Hover2","ParameterInformation","ParameterInformation2","documentation","SignatureInformation","SignatureInformation2","parameters","DocumentHighlightKind","DocumentHighlightKind2","DocumentHighlight","DocumentHighlight2","SymbolKind","SymbolKind2","SymbolTag","SymbolTag2","SymbolInformation","SymbolInformation2","name","containerName","DocumentSymbol","DocumentSymbol2","detail","selectionRange","children","CodeActionKind","CodeActionKind2","CodeActionContext","CodeActionContext2","diagnostics","only","CodeAction","CodeAction2","kindOrCommandOrEdit","checkKind","CodeLens","CodeLens2","data","FormattingOptions","FormattingOptions2","tabSize","insertSpaces","DocumentLink","DocumentLink2","SelectionRange","SelectionRange2","parent","TextDocument","TextDocument2","content","FullTextDocument","applyEdits","document","sortedEdits","mergeSort","a","b","diff","lastModifiedOffset","i","e","startOffset","endOffset","compare","p","left","right","leftIdx","rightIdx","ret","FullTextDocument2","start","end","event","lineOffsets","isLineStart","ch","offset","low","high","mid","lineOffset","nextLineOffset","Is2","toString","defined","undefined2","boolean","string","number","numberRange","min","max","func","objectLiteral","typedArray","check","DiagnosticsAdapter","_languageId","_worker","configChangeEvent","onModelAdd","model","modeId","handle","onModelRemoved","uriStr","listener","d","resource","worker","markers","toDiagnostics","err","toSeverity","lsSeverity","diag","CompletionAdapter","_triggerCharacters","context","token","fromPosition","info","wordInfo","wordRange","entry","item","toCommand","toCompletionItemKind","isInsertReplaceEdit","toRange","toTextEdit","fromRange","mItemKind","c","HoverAdapter","toMarkedStringArray","isMarkupContent","thing","toMarkdownString","contents","DocumentHighlightAdapter","entries","toDocumentHighlightKind","DefinitionAdapter","definition","toLocation","ReferenceAdapter","RenameAdapter","newName","toWorkspaceEdit","resourceEdits","_uri","DocumentSymbolAdapter","toSymbolKind","mKind","DocumentLinkAdapter","DocumentFormattingEditProvider","fromFormattingOptions","DocumentRangeFormattingEditProvider","DocumentColorAdapter","infos","presentations","presentation","FoldingRangeAdapter","ranges","toFoldingRangeKind","SelectionRangeAdapter","positions","selectionRanges","HTMLCompletionAdapter","setupMode1","uris","setupMode","disposables","providers","registerProviders","modeConfiguration","disposeAll","asDisposable"],"mappings":"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","x_google_ignoreList":[0]}