{"version":3,"file":"4536.1b1b9eca3a0f188c77dc.js","mappings":"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","sources":["webpack://grafana/../../opt/drone/yarncache/monaco-editor-npm-0.31.1-d8d5ee78bb-65be40c557.zip/node_modules/monaco-editor/esm/vs/language/css/cssMode.js"],"sourcesContent":["/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)\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 __markAsModule = (target) => __defProp(target, \"__esModule\", { value: true });\nvar __reExport = (target, module, desc) => {\n if (module && typeof module === \"object\" || typeof module === \"function\") {\n for (let key of __getOwnPropNames(module))\n if (!__hasOwnProp.call(target, key) && key !== \"default\")\n __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });\n }\n return target;\n};\n\n// src/fillers/monaco-editor-core.ts\nvar monaco_editor_core_exports = {};\n__markAsModule(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/css/workerManager.ts\nvar STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;\nvar WorkerManager = class {\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/css/cssWorker\",\n label: this._defaults.languageId,\n createData: {\n options: this._defaults.options,\n languageId: this._defaults.languageId\n }\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\n\"use strict\";\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 ? 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 = 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 = 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/common/lspLanguageFeatures.ts\nvar DiagnosticsAdapter = class {\n constructor(_languageId, _worker, configChangeEvent) {\n this._languageId = _languageId;\n this._worker = _worker;\n this._disposables = [];\n this._listener = Object.create(null);\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 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 edit: {\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 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/css/cssMode.ts\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 CompletionAdapter(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.definitions) {\n providers.push(monaco_editor_core_exports.languages.registerDefinitionProvider(languageId, new DefinitionAdapter(worker)));\n }\n if (modeConfiguration.references) {\n providers.push(monaco_editor_core_exports.languages.registerReferenceProvider(languageId, new ReferenceAdapter(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.colors) {\n providers.push(monaco_editor_core_exports.languages.registerColorProvider(languageId, new DocumentColorAdapter(worker)));\n }\n if (modeConfiguration.foldingRanges) {\n providers.push(monaco_editor_core_exports.languages.registerFoldingRangeProvider(languageId, new FoldingRangeAdapter(worker)));\n }\n if (modeConfiguration.diagnostics) {\n providers.push(new DiagnosticsAdapter(languageId, worker, defaults.onDidChange));\n }\n if (modeConfiguration.selectionRanges) {\n providers.push(monaco_editor_core_exports.languages.registerSelectionRangeProvider(languageId, new SelectionRangeAdapter(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 setupMode\n};\n"],"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","monaco_editor_core_exports","value","target","module","desc","key","call","get","enumerable","__reExport","integer","integer2","uinteger","uinteger2","Position","Position3","Range","Range3","Location","Location2","LocationLink","LocationLink2","Color","Color2","ColorInformation","ColorInformation2","ColorPresentation","ColorPresentation2","FoldingRangeKind","FoldingRangeKind2","FoldingRange","FoldingRange2","DiagnosticRelatedInformation","DiagnosticRelatedInformation2","DiagnosticSeverity","DiagnosticSeverity2","DiagnosticTag","DiagnosticTag2","CodeDescription","Diagnostic","Diagnostic2","Command","Command2","TextEdit","TextEdit2","ChangeAnnotation","ChangeAnnotation2","ChangeAnnotationIdentifier","AnnotatedTextEdit","AnnotatedTextEdit2","TextDocumentEdit","TextDocumentEdit2","CreateFile","CreateFile2","RenameFile","RenameFile2","DeleteFile","DeleteFile2","WorkspaceEdit","MIN_VALUE","MAX_VALUE","create","line","character","Number","is","candidate","Is","objectLiteral","one","two","three","four","start","end","Error","uri","range","defined","string","undefined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","typedArray","startLine","endLine","startCharacter","endCharacter","kind","result","location","message","Warning","Information","Hint","Unnecessary","Deprecated","href","severity","code","source","relatedInformation","_a","number","codeDescription","title","command","args","_i","arguments","length","replace","newText","insert","position","del","needsConfirmation","description","boolean","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","Array","isArray","options","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","every","change","TextDocumentIdentifier","TextDocumentIdentifier2","VersionedTextDocumentIdentifier","VersionedTextDocumentIdentifier2","OptionalVersionedTextDocumentIdentifier2","TextDocumentItem","TextDocumentItem2","MarkupKind","MarkupKind2","MarkupContent","CompletionItemKind","CompletionItemKind2","InsertTextFormat","InsertTextFormat2","CompletionItemTag","InsertReplaceEdit","InsertReplaceEdit2","InsertTextMode","InsertTextMode2","CompletionItem","CompletionList","MarkedString","MarkedString2","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlightKind2","DocumentHighlight","SymbolKind","SymbolKind2","SymbolTag","SymbolInformation","DocumentSymbol","DocumentSymbol2","CodeActionKind","CodeActionKind2","CodeActionContext","CodeActionContext2","CodeAction","CodeAction2","CodeLens","CodeLens2","FormattingOptions","FormattingOptions2","DocumentLink","DocumentLink2","SelectionRange","SelectionRange2","TextDocument","TextEditChangeImpl","TextEditChangeImpl2","changeAnnotations","this","edit","id","assertChangeAnnotations","manage","push","delete","add","all","clear","splice","ChangeAnnotations","ChangeAnnotations2","annotations","_annotations","_counter","_size","configurable","idOrAnnotation","nextId","toString","WorkspaceChange2","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","forEach","textEditChange","keys","initDocumentChanges","size","getTextEditChange","version","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","text","PlainText","Markdown","Text","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Event","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","language","contents","documentation","parameters","Read","Write","Namespace","Package","String","Boolean","Key","Null","name","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","data","tabSize","insertSpaces","parent","TextDocument2","mergeSort","compare","p","left","slice","right","leftIdx","rightIdx","i","ret","content","FullTextDocument","lineCount","func","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","a","b","diff","lastModifiedOffset","e","startOffset","endOffset","substring","Is2","FullTextDocument2","_uri","_languageId","_version","_content","_lineOffsets","update","event","getLineOffsets","lineOffsets","isLineStart","ch","charAt","offset","Math","max","min","low","high","mid","floor","lineOffset","nextLineOffset","check","toSeverity","lsSeverity","MarkerSeverity","Info","fromPosition","column","lineNumber","toRange","toCompletionItemKind","mItemKind","languages","toTextEdit","toMarkdownString","entry","thing","toMarkedStringArray","map","toDocumentHighlightKind","toLocation","Uri","parse","toSymbolKind","mKind","setupMode","defaults","disposables","providers","client","constructor","_defaults","_worker","_client","_idleCheckInterval","window","setInterval","_checkIfIdle","_lastUsedTime","_configChangeListener","onDidChange","_stopWorker","dispose","clearInterval","Date","now","_getClient","editor","createWebWorker","moduleId","createData","getProxy","getLanguageServiceWorker","resources","then","_","withSyncedResources","worker","uris","modeConfiguration","disposeAll","completionItems","registerCompletionItemProvider","_triggerCharacters","triggerCharacters","provideCompletionItems","model","context","token","resource","doComplete","info","wordInfo","getWordUntilPosition","wordRange","startColumn","endColumn","item","insertText","sortText","filterText","c","insertTextFormat","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","suggestions","hovers","registerHoverProvider","provideHover","doHover","documentHighlights","registerDocumentHighlightProvider","provideDocumentHighlights","findDocumentHighlights","entries","definitions","registerDefinitionProvider","provideDefinition","findDefinition","definition","references","registerReferenceProvider","provideReferences","findReferences","documentSymbols","registerDocumentSymbolProvider","provideDocumentSymbols","findDocumentSymbols","rename","registerRenameProvider","provideRenameEdits","newName","doRename","resourceEdits","toWorkspaceEdit","colors","registerColorProvider","provideDocumentColors","findDocumentColors","infos","provideColorPresentations","getColorPresentations","startLineNumber","endLineNumber","fromRange","presentations","presentation","foldingRanges","registerFoldingRangeProvider","provideFoldingRanges","getFoldingRanges","ranges","Comment","Imports","Region","toFoldingRangeKind","configChangeEvent","_disposables","_listener","onModelAdd","handle","modeId","getLanguageId","onDidChangeContent","clearTimeout","setTimeout","_doValidate","onModelRemoved","setModelMarkers","uriStr","listener","onDidCreateModel","onWillDisposeModel","onDidChangeModelLanguage","getModels","d","doValidation","markers","diag","toDiagnostics","getModel","err","console","error","selectionRanges","registerSelectionRangeProvider","provideSelectionRanges","positions","getSelectionRanges","registerProviders","asDisposable","pop"],"sourceRoot":""}