{"version":3,"sources":["webpack:///./node_modules/monaco-editor/esm/vs/language/css/workerManager.js","webpack:///./node_modules/monaco-editor/esm/vs/language/css/_deps/vscode-languageserver-types/main.js","webpack:///./node_modules/monaco-editor/esm/vs/language/css/languageFeatures.js","webpack:///./node_modules/monaco-editor/esm/vs/language/css/cssMode.js"],"names":["Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRangeKind","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","Diagnostic","Command","TextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","STOP_WHEN_IDLE_FOR","WorkerManager","defaults","_this","this","_defaults","_worker","_idleCheckInterval","setInterval","_checkIfIdle","_lastUsedTime","_configChangeListener","onDidChange","_stopWorker","prototype","dispose","_client","clearInterval","timePassedSinceLastUsed","Date","now","_getClient","monaco","editor","createWebWorker","moduleId","label","languageId","createData","languageSettings","diagnosticsOptions","getProxy","getLanguageServiceWorker","resources","_i","arguments","length","then","client","_","withSyncedResources","create","line","character","is","value","candidate","Is","objectLiteral","number","one","two","three","four","start","end","Error","uri","range","defined","string","undefined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","color","textEdit","additionalTextEdits","typedArray","startLine","endLine","startCharacter","endCharacter","kind","result","location","message","Warning","Information","Hint","severity","code","source","relatedInformation","title","command","args","replace","newText","insert","position","del","textDocument","edits","VersionedTextDocumentIdentifier","Array","isArray","options","overwrite","ignoreIfExists","boolean","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","every","change","TextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolInformation","TextEditChangeImpl","push","delete","add","edit","all","clear","splice","WorkspaceChange","workspaceEdit","_textEditChanges","Object","_workspaceEdit","forEach","textEditChange","keys","key","defineProperty","get","enumerable","configurable","getTextEditChange","textDocumentEdit","createFile","checkDocumentChanges","renameFile","deleteFile","version","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","items","isIncomplete","fromPlainText","plainText","language","contents","documentation","parameters","Read","Write","Namespace","Package","String","Number","Boolean","Key","Null","name","containerName","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentSymbol","detail","selectionRange","children","deprecated","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","diagnostics","only","commandOrEdit","data","tabSize","insertSpaces","DocumentLink","target","TextDocument","TextDocumentSaveReason","content","FullTextDocument","lineCount","func","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","mergeSort","a","b","diff","lastModifiedOffset","i","e","startOffset","endOffset","substring","compare","p","left","slice","right","leftIdx","rightIdx","ret","Manual","AfterDelay","FocusOut","_uri","_languageId","_version","_content","_lineOffsets","update","event","getLineOffsets","lineOffsets","isLineStart","ch","charAt","offset","Math","max","min","low","high","mid","floor","lineOffset","nextLineOffset","toString","call","check","Uri","languageFeatures_Range","DiagnosticsAdapter","_disposables","_listener","onModelAdd","model","handle","modeId","getModeId","onDidChangeContent","clearTimeout","setTimeout","_doValidate","onModelRemoved","setModelMarkers","uriStr","listener","onDidCreateModel","onWillDisposeModel","onDidChangeModelLanguage","getModels","d","resource","worker","doValidation","markers","map","toDiagnostics","getModel","err","console","error","toSeverity","lsSeverity","MarkerSeverity","Info","diag","startLineNumber","startColumn","endLineNumber","endColumn","fromPosition","column","lineNumber","fromRange","toRange","toCompletionItemKind","mItemKind","languages","toTextEdit","languageFeatures_CompletionAdapter","CompletionAdapter","provideCompletionItems","context","token","doComplete","info","wordInfo","getWordUntilPosition","wordRange","entry","item","insertText","sortText","filterText","insertTextFormat","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","suggestions","isMarkupContent","thing","toMarkdownString","toMarkedStringArray","HoverAdapter","provideHover","doHover","toDocumentHighlightKind","DocumentHighlightAdapter","provideDocumentHighlights","findDocumentHighlights","entries","toLocation","parse","DefinitionAdapter","provideDefinition","findDefinition","definition","ReferenceAdapter","provideReferences","findReferences","toWorkspaceEdit","resourceEdits","_a","RenameAdapter","provideRenameEdits","newName","doRename","toSymbolKind","mKind","DocumentSymbolAdapter","provideDocumentSymbols","findDocumentSymbols","DocumentColorAdapter","provideDocumentColors","findDocumentColors","infos","provideColorPresentations","getColorPresentations","presentations","presentation","FoldingRangeAdapter","provideFoldingRanges","ranges","toFoldingRangeKind","Comment","Imports","Region","setupMode","first","more","apply","concat","registerCompletionItemProvider","registerHoverProvider","registerDocumentHighlightProvider","registerDefinitionProvider","registerReferenceProvider","registerDocumentSymbolProvider","registerRenameProvider","registerColorProvider","registerFoldingRangeProvider","__webpack_require__","__webpack_exports__"],"mappings":"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","file":"js/chunk-2d228ca6.b3bbf932.js","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nvar STOP_WHEN_IDLE_FOR = 2 * 60 * 1000; // 2min\nvar WorkerManager = /** @class */ (function () {\n function WorkerManager(defaults) {\n var _this = this;\n this._defaults = defaults;\n this._worker = null;\n this._idleCheckInterval = setInterval(function () { return _this._checkIfIdle(); }, 30 * 1000);\n this._lastUsedTime = 0;\n this._configChangeListener = this._defaults.onDidChange(function () { return _this._stopWorker(); });\n }\n WorkerManager.prototype._stopWorker = function () {\n if (this._worker) {\n this._worker.dispose();\n this._worker = null;\n }\n this._client = null;\n };\n WorkerManager.prototype.dispose = function () {\n clearInterval(this._idleCheckInterval);\n this._configChangeListener.dispose();\n this._stopWorker();\n };\n WorkerManager.prototype._checkIfIdle = function () {\n if (!this._worker) {\n return;\n }\n var timePassedSinceLastUsed = Date.now() - this._lastUsedTime;\n if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {\n this._stopWorker();\n }\n };\n WorkerManager.prototype._getClient = function () {\n this._lastUsedTime = Date.now();\n if (!this._client) {\n this._worker = monaco.editor.createWebWorker({\n // module that exports the create() method and returns a `CSSWorker` instance\n moduleId: 'vs/language/css/cssWorker',\n label: this._defaults.languageId,\n // passed in to the create() method\n createData: {\n languageSettings: this._defaults.diagnosticsOptions,\n languageId: this._defaults.languageId\n }\n });\n this._client = this._worker.getProxy();\n }\n return this._client;\n };\n WorkerManager.prototype.getLanguageServiceWorker = function () {\n var _this = this;\n var resources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n resources[_i] = arguments[_i];\n }\n var _client;\n return this._getClient().then(function (client) {\n _client = client;\n }).then(function (_) {\n return _this._worker.withSyncedResources(resources);\n }).then(function (_) { return _client; });\n };\n return WorkerManager;\n}());\nexport { WorkerManager };\n","/* --------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n * ------------------------------------------------------------------------------------------ */\r\n'use strict';\r\n/**\r\n * The Position namespace provides helper functions to work with\r\n * [Position](#Position) literals.\r\n */\r\nexport var Position;\r\n(function (Position) {\r\n /**\r\n * Creates a new Position literal from the given line and character.\r\n * @param line The position's line.\r\n * @param character The position's character.\r\n */\r\n function create(line, character) {\r\n return { line: line, character: character };\r\n }\r\n Position.create = create;\r\n /**\r\n * Checks whether the given liternal conforms to the [Position](#Position) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.objectLiteral(candidate) && Is.number(candidate.line) && Is.number(candidate.character);\r\n }\r\n Position.is = is;\r\n})(Position || (Position = {}));\r\n/**\r\n * The Range namespace provides helper functions to work with\r\n * [Range](#Range) literals.\r\n */\r\nexport var Range;\r\n(function (Range) {\r\n function create(one, two, three, four) {\r\n if (Is.number(one) && Is.number(two) && Is.number(three) && Is.number(four)) {\r\n return { start: Position.create(one, two), end: Position.create(three, four) };\r\n }\r\n else if (Position.is(one) && Position.is(two)) {\r\n return { start: one, end: two };\r\n }\r\n else {\r\n throw new Error(\"Range#create called with invalid arguments[\" + one + \", \" + two + \", \" + three + \", \" + four + \"]\");\r\n }\r\n }\r\n Range.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [Range](#Range) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end);\r\n }\r\n Range.is = is;\r\n})(Range || (Range = {}));\r\n/**\r\n * The Location namespace provides helper functions to work with\r\n * [Location](#Location) literals.\r\n */\r\nexport var Location;\r\n(function (Location) {\r\n /**\r\n * Creates a Location literal.\r\n * @param uri The location's uri.\r\n * @param range The location's range.\r\n */\r\n function create(uri, range) {\r\n return { uri: uri, range: range };\r\n }\r\n Location.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [Location](#Location) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri));\r\n }\r\n Location.is = is;\r\n})(Location || (Location = {}));\r\n/**\r\n * The LocationLink namespace provides helper functions to work with\r\n * [LocationLink](#LocationLink) literals.\r\n */\r\nexport var LocationLink;\r\n(function (LocationLink) {\r\n /**\r\n * Creates a LocationLink literal.\r\n * @param targetUri The definition's uri.\r\n * @param targetRange The full range of the definition.\r\n * @param targetSelectionRange The span of the symbol definition at the target.\r\n * @param originSelectionRange The span of the symbol being defined in the originating source file.\r\n */\r\n function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) {\r\n return { targetUri: targetUri, targetRange: targetRange, targetSelectionRange: targetSelectionRange, originSelectionRange: originSelectionRange };\r\n }\r\n LocationLink.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [LocationLink](#LocationLink) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri)\r\n && (Range.is(candidate.targetSelectionRange) || Is.undefined(candidate.targetSelectionRange))\r\n && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange));\r\n }\r\n LocationLink.is = is;\r\n})(LocationLink || (LocationLink = {}));\r\n/**\r\n * The Color namespace provides helper functions to work with\r\n * [Color](#Color) literals.\r\n */\r\nexport var Color;\r\n(function (Color) {\r\n /**\r\n * Creates a new Color literal.\r\n */\r\n function create(red, green, blue, alpha) {\r\n return {\r\n red: red,\r\n green: green,\r\n blue: blue,\r\n alpha: alpha,\r\n };\r\n }\r\n Color.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [Color](#Color) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.number(candidate.red)\r\n && Is.number(candidate.green)\r\n && Is.number(candidate.blue)\r\n && Is.number(candidate.alpha);\r\n }\r\n Color.is = is;\r\n})(Color || (Color = {}));\r\n/**\r\n * The ColorInformation namespace provides helper functions to work with\r\n * [ColorInformation](#ColorInformation) literals.\r\n */\r\nexport var ColorInformation;\r\n(function (ColorInformation) {\r\n /**\r\n * Creates a new ColorInformation literal.\r\n */\r\n function create(range, color) {\r\n return {\r\n range: range,\r\n color: color,\r\n };\r\n }\r\n ColorInformation.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Range.is(candidate.range) && Color.is(candidate.color);\r\n }\r\n ColorInformation.is = is;\r\n})(ColorInformation || (ColorInformation = {}));\r\n/**\r\n * The Color namespace provides helper functions to work with\r\n * [ColorPresentation](#ColorPresentation) literals.\r\n */\r\nexport var ColorPresentation;\r\n(function (ColorPresentation) {\r\n /**\r\n * Creates a new ColorInformation literal.\r\n */\r\n function create(label, textEdit, additionalTextEdits) {\r\n return {\r\n label: label,\r\n textEdit: textEdit,\r\n additionalTextEdits: additionalTextEdits,\r\n };\r\n }\r\n ColorPresentation.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.string(candidate.label)\r\n && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate))\r\n && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is));\r\n }\r\n ColorPresentation.is = is;\r\n})(ColorPresentation || (ColorPresentation = {}));\r\n/**\r\n * Enum of known range kinds\r\n */\r\nexport var FoldingRangeKind;\r\n(function (FoldingRangeKind) {\r\n /**\r\n * Folding range for a comment\r\n */\r\n FoldingRangeKind[\"Comment\"] = \"comment\";\r\n /**\r\n * Folding range for a imports or includes\r\n */\r\n FoldingRangeKind[\"Imports\"] = \"imports\";\r\n /**\r\n * Folding range for a region (e.g. `#region`)\r\n */\r\n FoldingRangeKind[\"Region\"] = \"region\";\r\n})(FoldingRangeKind || (FoldingRangeKind = {}));\r\n/**\r\n * The folding range namespace provides helper functions to work with\r\n * [FoldingRange](#FoldingRange) literals.\r\n */\r\nexport var FoldingRange;\r\n(function (FoldingRange) {\r\n /**\r\n * Creates a new FoldingRange literal.\r\n */\r\n function create(startLine, endLine, startCharacter, endCharacter, kind) {\r\n var result = {\r\n startLine: startLine,\r\n endLine: endLine\r\n };\r\n if (Is.defined(startCharacter)) {\r\n result.startCharacter = startCharacter;\r\n }\r\n if (Is.defined(endCharacter)) {\r\n result.endCharacter = endCharacter;\r\n }\r\n if (Is.defined(kind)) {\r\n result.kind = kind;\r\n }\r\n return result;\r\n }\r\n FoldingRange.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [FoldingRange](#FoldingRange) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.number(candidate.startLine) && Is.number(candidate.startLine)\r\n && (Is.undefined(candidate.startCharacter) || Is.number(candidate.startCharacter))\r\n && (Is.undefined(candidate.endCharacter) || Is.number(candidate.endCharacter))\r\n && (Is.undefined(candidate.kind) || Is.string(candidate.kind));\r\n }\r\n FoldingRange.is = is;\r\n})(FoldingRange || (FoldingRange = {}));\r\n/**\r\n * The DiagnosticRelatedInformation namespace provides helper functions to work with\r\n * [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) literals.\r\n */\r\nexport var DiagnosticRelatedInformation;\r\n(function (DiagnosticRelatedInformation) {\r\n /**\r\n * Creates a new DiagnosticRelatedInformation literal.\r\n */\r\n function create(location, message) {\r\n return {\r\n location: location,\r\n message: message\r\n };\r\n }\r\n DiagnosticRelatedInformation.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message);\r\n }\r\n DiagnosticRelatedInformation.is = is;\r\n})(DiagnosticRelatedInformation || (DiagnosticRelatedInformation = {}));\r\n/**\r\n * The diagnostic's severity.\r\n */\r\nexport var DiagnosticSeverity;\r\n(function (DiagnosticSeverity) {\r\n /**\r\n * Reports an error.\r\n */\r\n DiagnosticSeverity.Error = 1;\r\n /**\r\n * Reports a warning.\r\n */\r\n DiagnosticSeverity.Warning = 2;\r\n /**\r\n * Reports an information.\r\n */\r\n DiagnosticSeverity.Information = 3;\r\n /**\r\n * Reports a hint.\r\n */\r\n DiagnosticSeverity.Hint = 4;\r\n})(DiagnosticSeverity || (DiagnosticSeverity = {}));\r\n/**\r\n * The Diagnostic namespace provides helper functions to work with\r\n * [Diagnostic](#Diagnostic) literals.\r\n */\r\nexport var Diagnostic;\r\n(function (Diagnostic) {\r\n /**\r\n * Creates a new Diagnostic literal.\r\n */\r\n function create(range, message, severity, code, source, relatedInformation) {\r\n var result = { range: range, message: message };\r\n if (Is.defined(severity)) {\r\n result.severity = severity;\r\n }\r\n if (Is.defined(code)) {\r\n result.code = code;\r\n }\r\n if (Is.defined(source)) {\r\n result.source = source;\r\n }\r\n if (Is.defined(relatedInformation)) {\r\n result.relatedInformation = relatedInformation;\r\n }\r\n return result;\r\n }\r\n Diagnostic.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [Diagnostic](#Diagnostic) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate)\r\n && Range.is(candidate.range)\r\n && Is.string(candidate.message)\r\n && (Is.number(candidate.severity) || Is.undefined(candidate.severity))\r\n && (Is.number(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code))\r\n && (Is.string(candidate.source) || Is.undefined(candidate.source))\r\n && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is));\r\n }\r\n Diagnostic.is = is;\r\n})(Diagnostic || (Diagnostic = {}));\r\n/**\r\n * The Command namespace provides helper functions to work with\r\n * [Command](#Command) literals.\r\n */\r\nexport var Command;\r\n(function (Command) {\r\n /**\r\n * Creates a new Command literal.\r\n */\r\n function create(title, command) {\r\n var args = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n args[_i - 2] = arguments[_i];\r\n }\r\n var result = { title: title, command: command };\r\n if (Is.defined(args) && args.length > 0) {\r\n result.arguments = args;\r\n }\r\n return result;\r\n }\r\n Command.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [Command](#Command) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command);\r\n }\r\n Command.is = is;\r\n})(Command || (Command = {}));\r\n/**\r\n * The TextEdit namespace provides helper function to create replace,\r\n * insert and delete edits more easily.\r\n */\r\nexport var TextEdit;\r\n(function (TextEdit) {\r\n /**\r\n * Creates a replace text edit.\r\n * @param range The range of text to be replaced.\r\n * @param newText The new text.\r\n */\r\n function replace(range, newText) {\r\n return { range: range, newText: newText };\r\n }\r\n TextEdit.replace = replace;\r\n /**\r\n * Creates a insert text edit.\r\n * @param position The position to insert the text at.\r\n * @param newText The text to be inserted.\r\n */\r\n function insert(position, newText) {\r\n return { range: { start: position, end: position }, newText: newText };\r\n }\r\n TextEdit.insert = insert;\r\n /**\r\n * Creates a delete text edit.\r\n * @param range The range of text to be deleted.\r\n */\r\n function del(range) {\r\n return { range: range, newText: '' };\r\n }\r\n TextEdit.del = del;\r\n function is(value) {\r\n var candidate = value;\r\n return Is.objectLiteral(candidate)\r\n && Is.string(candidate.newText)\r\n && Range.is(candidate.range);\r\n }\r\n TextEdit.is = is;\r\n})(TextEdit || (TextEdit = {}));\r\n/**\r\n * The TextDocumentEdit namespace provides helper function to create\r\n * an edit that manipulates a text document.\r\n */\r\nexport var TextDocumentEdit;\r\n(function (TextDocumentEdit) {\r\n /**\r\n * Creates a new `TextDocumentEdit`\r\n */\r\n function create(textDocument, edits) {\r\n return { textDocument: textDocument, edits: edits };\r\n }\r\n TextDocumentEdit.create = create;\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate)\r\n && VersionedTextDocumentIdentifier.is(candidate.textDocument)\r\n && Array.isArray(candidate.edits);\r\n }\r\n TextDocumentEdit.is = is;\r\n})(TextDocumentEdit || (TextDocumentEdit = {}));\r\nexport var CreateFile;\r\n(function (CreateFile) {\r\n function create(uri, options) {\r\n var result = {\r\n kind: 'create',\r\n uri: uri\r\n };\r\n if (options !== void 0 && (options.overwrite !== void 0 || options.ignoreIfExists !== void 0)) {\r\n result.options = options;\r\n }\r\n return result;\r\n }\r\n CreateFile.create = create;\r\n function is(value) {\r\n var candidate = value;\r\n return candidate && candidate.kind === 'create' && Is.string(candidate.uri) &&\r\n (candidate.options === void 0 ||\r\n ((candidate.options.overwrite === void 0 || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === void 0 || Is.boolean(candidate.options.ignoreIfExists))));\r\n }\r\n CreateFile.is = is;\r\n})(CreateFile || (CreateFile = {}));\r\nexport var RenameFile;\r\n(function (RenameFile) {\r\n function create(oldUri, newUri, options) {\r\n var result = {\r\n kind: 'rename',\r\n oldUri: oldUri,\r\n newUri: newUri\r\n };\r\n if (options !== void 0 && (options.overwrite !== void 0 || options.ignoreIfExists !== void 0)) {\r\n result.options = options;\r\n }\r\n return result;\r\n }\r\n RenameFile.create = create;\r\n function is(value) {\r\n var candidate = value;\r\n return candidate && candidate.kind === 'rename' && Is.string(candidate.oldUri) && Is.string(candidate.newUri) &&\r\n (candidate.options === void 0 ||\r\n ((candidate.options.overwrite === void 0 || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === void 0 || Is.boolean(candidate.options.ignoreIfExists))));\r\n }\r\n RenameFile.is = is;\r\n})(RenameFile || (RenameFile = {}));\r\nexport var DeleteFile;\r\n(function (DeleteFile) {\r\n function create(uri, options) {\r\n var result = {\r\n kind: 'delete',\r\n uri: uri\r\n };\r\n if (options !== void 0 && (options.recursive !== void 0 || options.ignoreIfNotExists !== void 0)) {\r\n result.options = options;\r\n }\r\n return result;\r\n }\r\n DeleteFile.create = create;\r\n function is(value) {\r\n var candidate = value;\r\n return candidate && candidate.kind === 'delete' && Is.string(candidate.uri) &&\r\n (candidate.options === void 0 ||\r\n ((candidate.options.recursive === void 0 || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === void 0 || Is.boolean(candidate.options.ignoreIfNotExists))));\r\n }\r\n DeleteFile.is = is;\r\n})(DeleteFile || (DeleteFile = {}));\r\nexport var WorkspaceEdit;\r\n(function (WorkspaceEdit) {\r\n function is(value) {\r\n var candidate = value;\r\n return candidate &&\r\n (candidate.changes !== void 0 || candidate.documentChanges !== void 0) &&\r\n (candidate.documentChanges === void 0 || candidate.documentChanges.every(function (change) {\r\n if (Is.string(change.kind)) {\r\n return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change);\r\n }\r\n else {\r\n return TextDocumentEdit.is(change);\r\n }\r\n }));\r\n }\r\n WorkspaceEdit.is = is;\r\n})(WorkspaceEdit || (WorkspaceEdit = {}));\r\nvar TextEditChangeImpl = /** @class */ (function () {\r\n function TextEditChangeImpl(edits) {\r\n this.edits = edits;\r\n }\r\n TextEditChangeImpl.prototype.insert = function (position, newText) {\r\n this.edits.push(TextEdit.insert(position, newText));\r\n };\r\n TextEditChangeImpl.prototype.replace = function (range, newText) {\r\n this.edits.push(TextEdit.replace(range, newText));\r\n };\r\n TextEditChangeImpl.prototype.delete = function (range) {\r\n this.edits.push(TextEdit.del(range));\r\n };\r\n TextEditChangeImpl.prototype.add = function (edit) {\r\n this.edits.push(edit);\r\n };\r\n TextEditChangeImpl.prototype.all = function () {\r\n return this.edits;\r\n };\r\n TextEditChangeImpl.prototype.clear = function () {\r\n this.edits.splice(0, this.edits.length);\r\n };\r\n return TextEditChangeImpl;\r\n}());\r\n/**\r\n * A workspace change helps constructing changes to a workspace.\r\n */\r\nvar WorkspaceChange = /** @class */ (function () {\r\n function WorkspaceChange(workspaceEdit) {\r\n var _this = this;\r\n this._textEditChanges = Object.create(null);\r\n if (workspaceEdit) {\r\n this._workspaceEdit = workspaceEdit;\r\n if (workspaceEdit.documentChanges) {\r\n workspaceEdit.documentChanges.forEach(function (change) {\r\n if (TextDocumentEdit.is(change)) {\r\n var textEditChange = new TextEditChangeImpl(change.edits);\r\n _this._textEditChanges[change.textDocument.uri] = textEditChange;\r\n }\r\n });\r\n }\r\n else if (workspaceEdit.changes) {\r\n Object.keys(workspaceEdit.changes).forEach(function (key) {\r\n var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]);\r\n _this._textEditChanges[key] = textEditChange;\r\n });\r\n }\r\n }\r\n }\r\n Object.defineProperty(WorkspaceChange.prototype, \"edit\", {\r\n /**\r\n * Returns the underlying [WorkspaceEdit](#WorkspaceEdit) literal\r\n * use to be returned from a workspace edit operation like rename.\r\n */\r\n get: function () {\r\n return this._workspaceEdit;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n WorkspaceChange.prototype.getTextEditChange = function (key) {\r\n if (VersionedTextDocumentIdentifier.is(key)) {\r\n if (!this._workspaceEdit) {\r\n this._workspaceEdit = {\r\n documentChanges: []\r\n };\r\n }\r\n if (!this._workspaceEdit.documentChanges) {\r\n throw new Error('Workspace edit is not configured for document changes.');\r\n }\r\n var textDocument = key;\r\n var result = this._textEditChanges[textDocument.uri];\r\n if (!result) {\r\n var edits = [];\r\n var textDocumentEdit = {\r\n textDocument: textDocument,\r\n edits: edits\r\n };\r\n this._workspaceEdit.documentChanges.push(textDocumentEdit);\r\n result = new TextEditChangeImpl(edits);\r\n this._textEditChanges[textDocument.uri] = result;\r\n }\r\n return result;\r\n }\r\n else {\r\n if (!this._workspaceEdit) {\r\n this._workspaceEdit = {\r\n changes: Object.create(null)\r\n };\r\n }\r\n if (!this._workspaceEdit.changes) {\r\n throw new Error('Workspace edit is not configured for normal text edit changes.');\r\n }\r\n var result = this._textEditChanges[key];\r\n if (!result) {\r\n var edits = [];\r\n this._workspaceEdit.changes[key] = edits;\r\n result = new TextEditChangeImpl(edits);\r\n this._textEditChanges[key] = result;\r\n }\r\n return result;\r\n }\r\n };\r\n WorkspaceChange.prototype.createFile = function (uri, options) {\r\n this.checkDocumentChanges();\r\n this._workspaceEdit.documentChanges.push(CreateFile.create(uri, options));\r\n };\r\n WorkspaceChange.prototype.renameFile = function (oldUri, newUri, options) {\r\n this.checkDocumentChanges();\r\n this._workspaceEdit.documentChanges.push(RenameFile.create(oldUri, newUri, options));\r\n };\r\n WorkspaceChange.prototype.deleteFile = function (uri, options) {\r\n this.checkDocumentChanges();\r\n this._workspaceEdit.documentChanges.push(DeleteFile.create(uri, options));\r\n };\r\n WorkspaceChange.prototype.checkDocumentChanges = function () {\r\n if (!this._workspaceEdit || !this._workspaceEdit.documentChanges) {\r\n throw new Error('Workspace edit is not configured for document changes.');\r\n }\r\n };\r\n return WorkspaceChange;\r\n}());\r\nexport { WorkspaceChange };\r\n/**\r\n * The TextDocumentIdentifier namespace provides helper functions to work with\r\n * [TextDocumentIdentifier](#TextDocumentIdentifier) literals.\r\n */\r\nexport var TextDocumentIdentifier;\r\n(function (TextDocumentIdentifier) {\r\n /**\r\n * Creates a new TextDocumentIdentifier literal.\r\n * @param uri The document's uri.\r\n */\r\n function create(uri) {\r\n return { uri: uri };\r\n }\r\n TextDocumentIdentifier.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [TextDocumentIdentifier](#TextDocumentIdentifier) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Is.string(candidate.uri);\r\n }\r\n TextDocumentIdentifier.is = is;\r\n})(TextDocumentIdentifier || (TextDocumentIdentifier = {}));\r\n/**\r\n * The VersionedTextDocumentIdentifier namespace provides helper functions to work with\r\n * [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) literals.\r\n */\r\nexport var VersionedTextDocumentIdentifier;\r\n(function (VersionedTextDocumentIdentifier) {\r\n /**\r\n * Creates a new VersionedTextDocumentIdentifier literal.\r\n * @param uri The document's uri.\r\n * @param uri The document's text.\r\n */\r\n function create(uri, version) {\r\n return { uri: uri, version: version };\r\n }\r\n VersionedTextDocumentIdentifier.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.number(candidate.version));\r\n }\r\n VersionedTextDocumentIdentifier.is = is;\r\n})(VersionedTextDocumentIdentifier || (VersionedTextDocumentIdentifier = {}));\r\n/**\r\n * The TextDocumentItem namespace provides helper functions to work with\r\n * [TextDocumentItem](#TextDocumentItem) literals.\r\n */\r\nexport var TextDocumentItem;\r\n(function (TextDocumentItem) {\r\n /**\r\n * Creates a new TextDocumentItem literal.\r\n * @param uri The document's uri.\r\n * @param languageId The document's language identifier.\r\n * @param version The document's version number.\r\n * @param text The document's text.\r\n */\r\n function create(uri, languageId, version, text) {\r\n return { uri: uri, languageId: languageId, version: version, text: text };\r\n }\r\n TextDocumentItem.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [TextDocumentItem](#TextDocumentItem) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.number(candidate.version) && Is.string(candidate.text);\r\n }\r\n TextDocumentItem.is = is;\r\n})(TextDocumentItem || (TextDocumentItem = {}));\r\n/**\r\n * Describes the content type that a client supports in various\r\n * result literals like `Hover`, `ParameterInfo` or `CompletionItem`.\r\n *\r\n * Please note that `MarkupKinds` must not start with a `$`. This kinds\r\n * are reserved for internal usage.\r\n */\r\nexport var MarkupKind;\r\n(function (MarkupKind) {\r\n /**\r\n * Plain text is supported as a content format\r\n */\r\n MarkupKind.PlainText = 'plaintext';\r\n /**\r\n * Markdown is supported as a content format\r\n */\r\n MarkupKind.Markdown = 'markdown';\r\n})(MarkupKind || (MarkupKind = {}));\r\n(function (MarkupKind) {\r\n /**\r\n * Checks whether the given value is a value of the [MarkupKind](#MarkupKind) type.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return candidate === MarkupKind.PlainText || candidate === MarkupKind.Markdown;\r\n }\r\n MarkupKind.is = is;\r\n})(MarkupKind || (MarkupKind = {}));\r\nexport var MarkupContent;\r\n(function (MarkupContent) {\r\n /**\r\n * Checks whether the given value conforms to the [MarkupContent](#MarkupContent) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value);\r\n }\r\n MarkupContent.is = is;\r\n})(MarkupContent || (MarkupContent = {}));\r\n/**\r\n * The kind of a completion entry.\r\n */\r\nexport var CompletionItemKind;\r\n(function (CompletionItemKind) {\r\n CompletionItemKind.Text = 1;\r\n CompletionItemKind.Method = 2;\r\n CompletionItemKind.Function = 3;\r\n CompletionItemKind.Constructor = 4;\r\n CompletionItemKind.Field = 5;\r\n CompletionItemKind.Variable = 6;\r\n CompletionItemKind.Class = 7;\r\n CompletionItemKind.Interface = 8;\r\n CompletionItemKind.Module = 9;\r\n CompletionItemKind.Property = 10;\r\n CompletionItemKind.Unit = 11;\r\n CompletionItemKind.Value = 12;\r\n CompletionItemKind.Enum = 13;\r\n CompletionItemKind.Keyword = 14;\r\n CompletionItemKind.Snippet = 15;\r\n CompletionItemKind.Color = 16;\r\n CompletionItemKind.File = 17;\r\n CompletionItemKind.Reference = 18;\r\n CompletionItemKind.Folder = 19;\r\n CompletionItemKind.EnumMember = 20;\r\n CompletionItemKind.Constant = 21;\r\n CompletionItemKind.Struct = 22;\r\n CompletionItemKind.Event = 23;\r\n CompletionItemKind.Operator = 24;\r\n CompletionItemKind.TypeParameter = 25;\r\n})(CompletionItemKind || (CompletionItemKind = {}));\r\n/**\r\n * Defines whether the insert text in a completion item should be interpreted as\r\n * plain text or a snippet.\r\n */\r\nexport var InsertTextFormat;\r\n(function (InsertTextFormat) {\r\n /**\r\n * The primary text to be inserted is treated as a plain string.\r\n */\r\n InsertTextFormat.PlainText = 1;\r\n /**\r\n * The primary text to be inserted is treated as a snippet.\r\n *\r\n * A snippet can define tab stops and placeholders with `$1`, `$2`\r\n * and `${3:foo}`. `$0` defines the final tab stop, it defaults to\r\n * the end of the snippet. Placeholders with equal identifiers are linked,\r\n * that is typing in one will update others too.\r\n *\r\n * See also: https://github.com/Microsoft/vscode/blob/master/src/vs/editor/contrib/snippet/common/snippet.md\r\n */\r\n InsertTextFormat.Snippet = 2;\r\n})(InsertTextFormat || (InsertTextFormat = {}));\r\n/**\r\n * The CompletionItem namespace provides functions to deal with\r\n * completion items.\r\n */\r\nexport var CompletionItem;\r\n(function (CompletionItem) {\r\n /**\r\n * Create a completion item and seed it with a label.\r\n * @param label The completion item's label\r\n */\r\n function create(label) {\r\n return { label: label };\r\n }\r\n CompletionItem.create = create;\r\n})(CompletionItem || (CompletionItem = {}));\r\n/**\r\n * The CompletionList namespace provides functions to deal with\r\n * completion lists.\r\n */\r\nexport var CompletionList;\r\n(function (CompletionList) {\r\n /**\r\n * Creates a new completion list.\r\n *\r\n * @param items The completion items.\r\n * @param isIncomplete The list is not complete.\r\n */\r\n function create(items, isIncomplete) {\r\n return { items: items ? items : [], isIncomplete: !!isIncomplete };\r\n }\r\n CompletionList.create = create;\r\n})(CompletionList || (CompletionList = {}));\r\nexport var MarkedString;\r\n(function (MarkedString) {\r\n /**\r\n * Creates a marked string from plain text.\r\n *\r\n * @param plainText The plain text.\r\n */\r\n function fromPlainText(plainText) {\r\n return plainText.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, \"\\\\$&\"); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\r\n }\r\n MarkedString.fromPlainText = fromPlainText;\r\n /**\r\n * Checks whether the given value conforms to the [MarkedString](#MarkedString) type.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.string(candidate) || (Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value));\r\n }\r\n MarkedString.is = is;\r\n})(MarkedString || (MarkedString = {}));\r\nexport var Hover;\r\n(function (Hover) {\r\n /**\r\n * Checks whether the given value conforms to the [Hover](#Hover) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) ||\r\n MarkedString.is(candidate.contents) ||\r\n Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === void 0 || Range.is(value.range));\r\n }\r\n Hover.is = is;\r\n})(Hover || (Hover = {}));\r\n/**\r\n * The ParameterInformation namespace provides helper functions to work with\r\n * [ParameterInformation](#ParameterInformation) literals.\r\n */\r\nexport var ParameterInformation;\r\n(function (ParameterInformation) {\r\n /**\r\n * Creates a new parameter information literal.\r\n *\r\n * @param label A label string.\r\n * @param documentation A doc string.\r\n */\r\n function create(label, documentation) {\r\n return documentation ? { label: label, documentation: documentation } : { label: label };\r\n }\r\n ParameterInformation.create = create;\r\n ;\r\n})(ParameterInformation || (ParameterInformation = {}));\r\n/**\r\n * The SignatureInformation namespace provides helper functions to work with\r\n * [SignatureInformation](#SignatureInformation) literals.\r\n */\r\nexport var SignatureInformation;\r\n(function (SignatureInformation) {\r\n function create(label, documentation) {\r\n var parameters = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n parameters[_i - 2] = arguments[_i];\r\n }\r\n var result = { label: label };\r\n if (Is.defined(documentation)) {\r\n result.documentation = documentation;\r\n }\r\n if (Is.defined(parameters)) {\r\n result.parameters = parameters;\r\n }\r\n else {\r\n result.parameters = [];\r\n }\r\n return result;\r\n }\r\n SignatureInformation.create = create;\r\n})(SignatureInformation || (SignatureInformation = {}));\r\n/**\r\n * A document highlight kind.\r\n */\r\nexport var DocumentHighlightKind;\r\n(function (DocumentHighlightKind) {\r\n /**\r\n * A textual occurrence.\r\n */\r\n DocumentHighlightKind.Text = 1;\r\n /**\r\n * Read-access of a symbol, like reading a variable.\r\n */\r\n DocumentHighlightKind.Read = 2;\r\n /**\r\n * Write-access of a symbol, like writing to a variable.\r\n */\r\n DocumentHighlightKind.Write = 3;\r\n})(DocumentHighlightKind || (DocumentHighlightKind = {}));\r\n/**\r\n * DocumentHighlight namespace to provide helper functions to work with\r\n * [DocumentHighlight](#DocumentHighlight) literals.\r\n */\r\nexport var DocumentHighlight;\r\n(function (DocumentHighlight) {\r\n /**\r\n * Create a DocumentHighlight object.\r\n * @param range The range the highlight applies to.\r\n */\r\n function create(range, kind) {\r\n var result = { range: range };\r\n if (Is.number(kind)) {\r\n result.kind = kind;\r\n }\r\n return result;\r\n }\r\n DocumentHighlight.create = create;\r\n})(DocumentHighlight || (DocumentHighlight = {}));\r\n/**\r\n * A symbol kind.\r\n */\r\nexport var SymbolKind;\r\n(function (SymbolKind) {\r\n SymbolKind.File = 1;\r\n SymbolKind.Module = 2;\r\n SymbolKind.Namespace = 3;\r\n SymbolKind.Package = 4;\r\n SymbolKind.Class = 5;\r\n SymbolKind.Method = 6;\r\n SymbolKind.Property = 7;\r\n SymbolKind.Field = 8;\r\n SymbolKind.Constructor = 9;\r\n SymbolKind.Enum = 10;\r\n SymbolKind.Interface = 11;\r\n SymbolKind.Function = 12;\r\n SymbolKind.Variable = 13;\r\n SymbolKind.Constant = 14;\r\n SymbolKind.String = 15;\r\n SymbolKind.Number = 16;\r\n SymbolKind.Boolean = 17;\r\n SymbolKind.Array = 18;\r\n SymbolKind.Object = 19;\r\n SymbolKind.Key = 20;\r\n SymbolKind.Null = 21;\r\n SymbolKind.EnumMember = 22;\r\n SymbolKind.Struct = 23;\r\n SymbolKind.Event = 24;\r\n SymbolKind.Operator = 25;\r\n SymbolKind.TypeParameter = 26;\r\n})(SymbolKind || (SymbolKind = {}));\r\nexport var SymbolInformation;\r\n(function (SymbolInformation) {\r\n /**\r\n * Creates a new symbol information literal.\r\n *\r\n * @param name The name of the symbol.\r\n * @param kind The kind of the symbol.\r\n * @param range The range of the location of the symbol.\r\n * @param uri The resource of the location of symbol, defaults to the current document.\r\n * @param containerName The name of the symbol containing the symbol.\r\n */\r\n function create(name, kind, range, uri, containerName) {\r\n var result = {\r\n name: name,\r\n kind: kind,\r\n location: { uri: uri, range: range }\r\n };\r\n if (containerName) {\r\n result.containerName = containerName;\r\n }\r\n return result;\r\n }\r\n SymbolInformation.create = create;\r\n})(SymbolInformation || (SymbolInformation = {}));\r\n/**\r\n * Represents programming constructs like variables, classes, interfaces etc.\r\n * that appear in a document. Document symbols can be hierarchical and they\r\n * have two ranges: one that encloses its definition and one that points to\r\n * its most interesting range, e.g. the range of an identifier.\r\n */\r\nvar DocumentSymbol = /** @class */ (function () {\r\n function DocumentSymbol() {\r\n }\r\n return DocumentSymbol;\r\n}());\r\nexport { DocumentSymbol };\r\n(function (DocumentSymbol) {\r\n /**\r\n * Creates a new symbol information literal.\r\n *\r\n * @param name The name of the symbol.\r\n * @param detail The detail of the symbol.\r\n * @param kind The kind of the symbol.\r\n * @param range The range of the symbol.\r\n * @param selectionRange The selectionRange of the symbol.\r\n * @param children Children of the symbol.\r\n */\r\n function create(name, detail, kind, range, selectionRange, children) {\r\n var result = {\r\n name: name,\r\n detail: detail,\r\n kind: kind,\r\n range: range,\r\n selectionRange: selectionRange\r\n };\r\n if (children !== void 0) {\r\n result.children = children;\r\n }\r\n return result;\r\n }\r\n DocumentSymbol.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [DocumentSymbol](#DocumentSymbol) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return candidate &&\r\n Is.string(candidate.name) && Is.number(candidate.kind) &&\r\n Range.is(candidate.range) && Range.is(candidate.selectionRange) &&\r\n (candidate.detail === void 0 || Is.string(candidate.detail)) &&\r\n (candidate.deprecated === void 0 || Is.boolean(candidate.deprecated)) &&\r\n (candidate.children === void 0 || Array.isArray(candidate.children));\r\n }\r\n DocumentSymbol.is = is;\r\n})(DocumentSymbol || (DocumentSymbol = {}));\r\n/**\r\n * A set of predefined code action kinds\r\n */\r\nexport var CodeActionKind;\r\n(function (CodeActionKind) {\r\n /**\r\n * Base kind for quickfix actions: 'quickfix'\r\n */\r\n CodeActionKind.QuickFix = 'quickfix';\r\n /**\r\n * Base kind for refactoring actions: 'refactor'\r\n */\r\n CodeActionKind.Refactor = 'refactor';\r\n /**\r\n * Base kind for refactoring extraction actions: 'refactor.extract'\r\n *\r\n * Example extract actions:\r\n *\r\n * - Extract method\r\n * - Extract function\r\n * - Extract variable\r\n * - Extract interface from class\r\n * - ...\r\n */\r\n CodeActionKind.RefactorExtract = 'refactor.extract';\r\n /**\r\n * Base kind for refactoring inline actions: 'refactor.inline'\r\n *\r\n * Example inline actions:\r\n *\r\n * - Inline function\r\n * - Inline variable\r\n * - Inline constant\r\n * - ...\r\n */\r\n CodeActionKind.RefactorInline = 'refactor.inline';\r\n /**\r\n * Base kind for refactoring rewrite actions: 'refactor.rewrite'\r\n *\r\n * Example rewrite actions:\r\n *\r\n * - Convert JavaScript function to class\r\n * - Add or remove parameter\r\n * - Encapsulate field\r\n * - Make method static\r\n * - Move method to base class\r\n * - ...\r\n */\r\n CodeActionKind.RefactorRewrite = 'refactor.rewrite';\r\n /**\r\n * Base kind for source actions: `source`\r\n *\r\n * Source code actions apply to the entire file.\r\n */\r\n CodeActionKind.Source = 'source';\r\n /**\r\n * Base kind for an organize imports source action: `source.organizeImports`\r\n */\r\n CodeActionKind.SourceOrganizeImports = 'source.organizeImports';\r\n})(CodeActionKind || (CodeActionKind = {}));\r\n/**\r\n * The CodeActionContext namespace provides helper functions to work with\r\n * [CodeActionContext](#CodeActionContext) literals.\r\n */\r\nexport var CodeActionContext;\r\n(function (CodeActionContext) {\r\n /**\r\n * Creates a new CodeActionContext literal.\r\n */\r\n function create(diagnostics, only) {\r\n var result = { diagnostics: diagnostics };\r\n if (only !== void 0 && only !== null) {\r\n result.only = only;\r\n }\r\n return result;\r\n }\r\n CodeActionContext.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [CodeActionContext](#CodeActionContext) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is) && (candidate.only === void 0 || Is.typedArray(candidate.only, Is.string));\r\n }\r\n CodeActionContext.is = is;\r\n})(CodeActionContext || (CodeActionContext = {}));\r\nexport var CodeAction;\r\n(function (CodeAction) {\r\n function create(title, commandOrEdit, kind) {\r\n var result = { title: title };\r\n if (Command.is(commandOrEdit)) {\r\n result.command = commandOrEdit;\r\n }\r\n else {\r\n result.edit = commandOrEdit;\r\n }\r\n if (kind !== void null) {\r\n result.kind = kind;\r\n }\r\n return result;\r\n }\r\n CodeAction.create = create;\r\n function is(value) {\r\n var candidate = value;\r\n return candidate && Is.string(candidate.title) &&\r\n (candidate.diagnostics === void 0 || Is.typedArray(candidate.diagnostics, Diagnostic.is)) &&\r\n (candidate.kind === void 0 || Is.string(candidate.kind)) &&\r\n (candidate.edit !== void 0 || candidate.command !== void 0) &&\r\n (candidate.command === void 0 || Command.is(candidate.command)) &&\r\n (candidate.edit === void 0 || WorkspaceEdit.is(candidate.edit));\r\n }\r\n CodeAction.is = is;\r\n})(CodeAction || (CodeAction = {}));\r\n/**\r\n * The CodeLens namespace provides helper functions to work with\r\n * [CodeLens](#CodeLens) literals.\r\n */\r\nexport var CodeLens;\r\n(function (CodeLens) {\r\n /**\r\n * Creates a new CodeLens literal.\r\n */\r\n function create(range, data) {\r\n var result = { range: range };\r\n if (Is.defined(data))\r\n result.data = data;\r\n return result;\r\n }\r\n CodeLens.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [CodeLens](#CodeLens) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command));\r\n }\r\n CodeLens.is = is;\r\n})(CodeLens || (CodeLens = {}));\r\n/**\r\n * The FormattingOptions namespace provides helper functions to work with\r\n * [FormattingOptions](#FormattingOptions) literals.\r\n */\r\nexport var FormattingOptions;\r\n(function (FormattingOptions) {\r\n /**\r\n * Creates a new FormattingOptions literal.\r\n */\r\n function create(tabSize, insertSpaces) {\r\n return { tabSize: tabSize, insertSpaces: insertSpaces };\r\n }\r\n FormattingOptions.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [FormattingOptions](#FormattingOptions) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Is.number(candidate.tabSize) && Is.boolean(candidate.insertSpaces);\r\n }\r\n FormattingOptions.is = is;\r\n})(FormattingOptions || (FormattingOptions = {}));\r\n/**\r\n * A document link is a range in a text document that links to an internal or external resource, like another\r\n * text document or a web site.\r\n */\r\nvar DocumentLink = /** @class */ (function () {\r\n function DocumentLink() {\r\n }\r\n return DocumentLink;\r\n}());\r\nexport { DocumentLink };\r\n/**\r\n * The DocumentLink namespace provides helper functions to work with\r\n * [DocumentLink](#DocumentLink) literals.\r\n */\r\n(function (DocumentLink) {\r\n /**\r\n * Creates a new DocumentLink literal.\r\n */\r\n function create(range, target, data) {\r\n return { range: range, target: target, data: data };\r\n }\r\n DocumentLink.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [DocumentLink](#DocumentLink) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target));\r\n }\r\n DocumentLink.is = is;\r\n})(DocumentLink || (DocumentLink = {}));\r\nexport var EOL = ['\\n', '\\r\\n', '\\r'];\r\nexport var TextDocument;\r\n(function (TextDocument) {\r\n /**\r\n * Creates a new ITextDocument literal from the given uri and content.\r\n * @param uri The document's uri.\r\n * @param languageId The document's language Id.\r\n * @param content The document's content.\r\n */\r\n function create(uri, languageId, version, content) {\r\n return new FullTextDocument(uri, languageId, version, content);\r\n }\r\n TextDocument.create = create;\r\n /**\r\n * Checks whether the given literal conforms to the [ITextDocument](#ITextDocument) interface.\r\n */\r\n function is(value) {\r\n var candidate = value;\r\n return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.number(candidate.lineCount)\r\n && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false;\r\n }\r\n TextDocument.is = is;\r\n function applyEdits(document, edits) {\r\n var text = document.getText();\r\n var sortedEdits = mergeSort(edits, function (a, b) {\r\n var diff = a.range.start.line - b.range.start.line;\r\n if (diff === 0) {\r\n return a.range.start.character - b.range.start.character;\r\n }\r\n return diff;\r\n });\r\n var lastModifiedOffset = text.length;\r\n for (var i = sortedEdits.length - 1; i >= 0; i--) {\r\n var e = sortedEdits[i];\r\n var startOffset = document.offsetAt(e.range.start);\r\n var endOffset = document.offsetAt(e.range.end);\r\n if (endOffset <= lastModifiedOffset) {\r\n text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length);\r\n }\r\n else {\r\n throw new Error('Overlapping edit');\r\n }\r\n lastModifiedOffset = startOffset;\r\n }\r\n return text;\r\n }\r\n TextDocument.applyEdits = applyEdits;\r\n function mergeSort(data, compare) {\r\n if (data.length <= 1) {\r\n // sorted\r\n return data;\r\n }\r\n var p = (data.length / 2) | 0;\r\n var left = data.slice(0, p);\r\n var right = data.slice(p);\r\n mergeSort(left, compare);\r\n mergeSort(right, compare);\r\n var leftIdx = 0;\r\n var rightIdx = 0;\r\n var i = 0;\r\n while (leftIdx < left.length && rightIdx < right.length) {\r\n var ret = compare(left[leftIdx], right[rightIdx]);\r\n if (ret <= 0) {\r\n // smaller_equal -> take left to preserve order\r\n data[i++] = left[leftIdx++];\r\n }\r\n else {\r\n // greater -> take right\r\n data[i++] = right[rightIdx++];\r\n }\r\n }\r\n while (leftIdx < left.length) {\r\n data[i++] = left[leftIdx++];\r\n }\r\n while (rightIdx < right.length) {\r\n data[i++] = right[rightIdx++];\r\n }\r\n return data;\r\n }\r\n})(TextDocument || (TextDocument = {}));\r\n/**\r\n * Represents reasons why a text document is saved.\r\n */\r\nexport var TextDocumentSaveReason;\r\n(function (TextDocumentSaveReason) {\r\n /**\r\n * Manually triggered, e.g. by the user pressing save, by starting debugging,\r\n * or by an API call.\r\n */\r\n TextDocumentSaveReason.Manual = 1;\r\n /**\r\n * Automatic after a delay.\r\n */\r\n TextDocumentSaveReason.AfterDelay = 2;\r\n /**\r\n * When the editor lost focus.\r\n */\r\n TextDocumentSaveReason.FocusOut = 3;\r\n})(TextDocumentSaveReason || (TextDocumentSaveReason = {}));\r\nvar FullTextDocument = /** @class */ (function () {\r\n function FullTextDocument(uri, languageId, version, content) {\r\n this._uri = uri;\r\n this._languageId = languageId;\r\n this._version = version;\r\n this._content = content;\r\n this._lineOffsets = null;\r\n }\r\n Object.defineProperty(FullTextDocument.prototype, \"uri\", {\r\n get: function () {\r\n return this._uri;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(FullTextDocument.prototype, \"languageId\", {\r\n get: function () {\r\n return this._languageId;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(FullTextDocument.prototype, \"version\", {\r\n get: function () {\r\n return this._version;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n FullTextDocument.prototype.getText = function (range) {\r\n if (range) {\r\n var start = this.offsetAt(range.start);\r\n var end = this.offsetAt(range.end);\r\n return this._content.substring(start, end);\r\n }\r\n return this._content;\r\n };\r\n FullTextDocument.prototype.update = function (event, version) {\r\n this._content = event.text;\r\n this._version = version;\r\n this._lineOffsets = null;\r\n };\r\n FullTextDocument.prototype.getLineOffsets = function () {\r\n if (this._lineOffsets === null) {\r\n var lineOffsets = [];\r\n var text = this._content;\r\n var isLineStart = true;\r\n for (var i = 0; i < text.length; i++) {\r\n if (isLineStart) {\r\n lineOffsets.push(i);\r\n isLineStart = false;\r\n }\r\n var ch = text.charAt(i);\r\n isLineStart = (ch === '\\r' || ch === '\\n');\r\n if (ch === '\\r' && i + 1 < text.length && text.charAt(i + 1) === '\\n') {\r\n i++;\r\n }\r\n }\r\n if (isLineStart && text.length > 0) {\r\n lineOffsets.push(text.length);\r\n }\r\n this._lineOffsets = lineOffsets;\r\n }\r\n return this._lineOffsets;\r\n };\r\n FullTextDocument.prototype.positionAt = function (offset) {\r\n offset = Math.max(Math.min(offset, this._content.length), 0);\r\n var lineOffsets = this.getLineOffsets();\r\n var low = 0, high = lineOffsets.length;\r\n if (high === 0) {\r\n return Position.create(0, offset);\r\n }\r\n while (low < high) {\r\n var mid = Math.floor((low + high) / 2);\r\n if (lineOffsets[mid] > offset) {\r\n high = mid;\r\n }\r\n else {\r\n low = mid + 1;\r\n }\r\n }\r\n // low is the least x for which the line offset is larger than the current offset\r\n // or array.length if no line offset is larger than the current offset\r\n var line = low - 1;\r\n return Position.create(line, offset - lineOffsets[line]);\r\n };\r\n FullTextDocument.prototype.offsetAt = function (position) {\r\n var lineOffsets = this.getLineOffsets();\r\n if (position.line >= lineOffsets.length) {\r\n return this._content.length;\r\n }\r\n else if (position.line < 0) {\r\n return 0;\r\n }\r\n var lineOffset = lineOffsets[position.line];\r\n var nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\r\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\r\n };\r\n Object.defineProperty(FullTextDocument.prototype, \"lineCount\", {\r\n get: function () {\r\n return this.getLineOffsets().length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return FullTextDocument;\r\n}());\r\nvar Is;\r\n(function (Is) {\r\n var toString = Object.prototype.toString;\r\n function defined(value) {\r\n return typeof value !== 'undefined';\r\n }\r\n Is.defined = defined;\r\n function undefined(value) {\r\n return typeof value === 'undefined';\r\n }\r\n Is.undefined = undefined;\r\n function boolean(value) {\r\n return value === true || value === false;\r\n }\r\n Is.boolean = boolean;\r\n function string(value) {\r\n return toString.call(value) === '[object String]';\r\n }\r\n Is.string = string;\r\n function number(value) {\r\n return toString.call(value) === '[object Number]';\r\n }\r\n Is.number = number;\r\n function func(value) {\r\n return toString.call(value) === '[object Function]';\r\n }\r\n Is.func = func;\r\n function objectLiteral(value) {\r\n // Strictly speaking class instances pass this check as well. Since the LSP\r\n // doesn't use classes we ignore this for now. If we do we need to add something\r\n // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\r\n return value !== null && typeof value === 'object';\r\n }\r\n Is.objectLiteral = objectLiteral;\r\n function typedArray(value, check) {\r\n return Array.isArray(value) && value.every(check);\r\n }\r\n Is.typedArray = typedArray;\r\n})(Is || (Is = {}));\r\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nimport * as ls from './_deps/vscode-languageserver-types/main.js';\nvar Uri = monaco.Uri;\nvar Range = monaco.Range;\n// --- diagnostics --- ---\nvar DiagnosticsAdapter = /** @class */ (function () {\n function DiagnosticsAdapter(_languageId, _worker, defaults) {\n var _this = this;\n this._languageId = _languageId;\n this._worker = _worker;\n this._disposables = [];\n this._listener = Object.create(null);\n var onModelAdd = function (model) {\n var modeId = model.getModeId();\n if (modeId !== _this._languageId) {\n return;\n }\n var handle;\n _this._listener[model.uri.toString()] = model.onDidChangeContent(function () {\n clearTimeout(handle);\n handle = setTimeout(function () { return _this._doValidate(model.uri, modeId); }, 500);\n });\n _this._doValidate(model.uri, modeId);\n };\n var onModelRemoved = function (model) {\n monaco.editor.setModelMarkers(model, _this._languageId, []);\n var uriStr = model.uri.toString();\n var listener = _this._listener[uriStr];\n if (listener) {\n listener.dispose();\n delete _this._listener[uriStr];\n }\n };\n this._disposables.push(monaco.editor.onDidCreateModel(onModelAdd));\n this._disposables.push(monaco.editor.onWillDisposeModel(onModelRemoved));\n this._disposables.push(monaco.editor.onDidChangeModelLanguage(function (event) {\n onModelRemoved(event.model);\n onModelAdd(event.model);\n }));\n defaults.onDidChange(function (_) {\n monaco.editor.getModels().forEach(function (model) {\n if (model.getModeId() === _this._languageId) {\n onModelRemoved(model);\n onModelAdd(model);\n }\n });\n });\n this._disposables.push({\n dispose: function () {\n for (var key in _this._listener) {\n _this._listener[key].dispose();\n }\n }\n });\n monaco.editor.getModels().forEach(onModelAdd);\n }\n DiagnosticsAdapter.prototype.dispose = function () {\n this._disposables.forEach(function (d) { return d && d.dispose(); });\n this._disposables = [];\n };\n DiagnosticsAdapter.prototype._doValidate = function (resource, languageId) {\n this._worker(resource).then(function (worker) {\n return worker.doValidation(resource.toString());\n }).then(function (diagnostics) {\n var markers = diagnostics.map(function (d) { return toDiagnostics(resource, d); });\n var model = monaco.editor.getModel(resource);\n if (model.getModeId() === languageId) {\n monaco.editor.setModelMarkers(model, languageId, markers);\n }\n }).then(undefined, function (err) {\n console.error(err);\n });\n };\n return DiagnosticsAdapter;\n}());\nexport { DiagnosticsAdapter };\nfunction toSeverity(lsSeverity) {\n switch (lsSeverity) {\n case ls.DiagnosticSeverity.Error: return monaco.MarkerSeverity.Error;\n case ls.DiagnosticSeverity.Warning: return monaco.MarkerSeverity.Warning;\n case ls.DiagnosticSeverity.Information: return monaco.MarkerSeverity.Info;\n case ls.DiagnosticSeverity.Hint: return monaco.MarkerSeverity.Hint;\n default:\n return monaco.MarkerSeverity.Info;\n }\n}\nfunction toDiagnostics(resource, diag) {\n var 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: code,\n source: diag.source\n };\n}\n// --- completion ------\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 { start: { line: range.startLineNumber - 1, character: range.startColumn - 1 }, end: { line: range.endLineNumber - 1, character: range.endColumn - 1 } };\n}\nfunction toRange(range) {\n if (!range) {\n return void 0;\n }\n return new monaco.Range(range.start.line + 1, range.start.character + 1, range.end.line + 1, range.end.character + 1);\n}\nfunction toCompletionItemKind(kind) {\n var mItemKind = monaco.languages.CompletionItemKind;\n switch (kind) {\n case ls.CompletionItemKind.Text: return mItemKind.Text;\n case ls.CompletionItemKind.Method: return mItemKind.Method;\n case ls.CompletionItemKind.Function: return mItemKind.Function;\n case ls.CompletionItemKind.Constructor: return mItemKind.Constructor;\n case ls.CompletionItemKind.Field: return mItemKind.Field;\n case ls.CompletionItemKind.Variable: return mItemKind.Variable;\n case ls.CompletionItemKind.Class: return mItemKind.Class;\n case ls.CompletionItemKind.Interface: return mItemKind.Interface;\n case ls.CompletionItemKind.Module: return mItemKind.Module;\n case ls.CompletionItemKind.Property: return mItemKind.Property;\n case ls.CompletionItemKind.Unit: return mItemKind.Unit;\n case ls.CompletionItemKind.Value: return mItemKind.Value;\n case ls.CompletionItemKind.Enum: return mItemKind.Enum;\n case ls.CompletionItemKind.Keyword: return mItemKind.Keyword;\n case ls.CompletionItemKind.Snippet: return mItemKind.Snippet;\n case ls.CompletionItemKind.Color: return mItemKind.Color;\n case ls.CompletionItemKind.File: return mItemKind.File;\n case ls.CompletionItemKind.Reference: 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}\nvar CompletionAdapter = /** @class */ (function () {\n function CompletionAdapter(_worker) {\n this._worker = _worker;\n }\n Object.defineProperty(CompletionAdapter.prototype, \"triggerCharacters\", {\n get: function () {\n return [' ', ':'];\n },\n enumerable: true,\n configurable: true\n });\n CompletionAdapter.prototype.provideCompletionItems = function (model, position, context, token) {\n var resource = model.uri;\n return this._worker(resource).then(function (worker) {\n return worker.doComplete(resource.toString(), fromPosition(position));\n }).then(function (info) {\n if (!info) {\n return;\n }\n var wordInfo = model.getWordUntilPosition(position);\n var wordRange = new Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, wordInfo.endColumn);\n var items = info.items.map(function (entry) {\n var 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 range: wordRange,\n kind: toCompletionItemKind(entry.kind),\n };\n if (entry.textEdit) {\n item.range = toRange(entry.textEdit.range);\n item.insertText = entry.textEdit.newText;\n }\n if (entry.additionalTextEdits) {\n item.additionalTextEdits = entry.additionalTextEdits.map(toTextEdit);\n }\n if (entry.insertTextFormat === ls.InsertTextFormat.Snippet) {\n item.insertTextRules = monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet;\n }\n return item;\n });\n return {\n isIncomplete: info.isIncomplete,\n suggestions: items\n };\n });\n };\n return CompletionAdapter;\n}());\nexport { CompletionAdapter };\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}\n// --- hover ------\nvar HoverAdapter = /** @class */ (function () {\n function HoverAdapter(_worker) {\n this._worker = _worker;\n }\n HoverAdapter.prototype.provideHover = function (model, position, token) {\n var resource = model.uri;\n return this._worker(resource).then(function (worker) {\n return worker.doHover(resource.toString(), fromPosition(position));\n }).then(function (info) {\n if (!info) {\n return;\n }\n return {\n range: toRange(info.range),\n contents: toMarkedStringArray(info.contents)\n };\n });\n };\n return HoverAdapter;\n}());\nexport { HoverAdapter };\n// --- document highlights ------\nfunction toDocumentHighlightKind(kind) {\n switch (kind) {\n case ls.DocumentHighlightKind.Read: return monaco.languages.DocumentHighlightKind.Read;\n case ls.DocumentHighlightKind.Write: return monaco.languages.DocumentHighlightKind.Write;\n case ls.DocumentHighlightKind.Text: return monaco.languages.DocumentHighlightKind.Text;\n }\n return monaco.languages.DocumentHighlightKind.Text;\n}\nvar DocumentHighlightAdapter = /** @class */ (function () {\n function DocumentHighlightAdapter(_worker) {\n this._worker = _worker;\n }\n DocumentHighlightAdapter.prototype.provideDocumentHighlights = function (model, position, token) {\n var resource = model.uri;\n return this._worker(resource).then(function (worker) {\n return worker.findDocumentHighlights(resource.toString(), fromPosition(position));\n }).then(function (entries) {\n if (!entries) {\n return;\n }\n return entries.map(function (entry) {\n return {\n range: toRange(entry.range),\n kind: toDocumentHighlightKind(entry.kind)\n };\n });\n });\n };\n return DocumentHighlightAdapter;\n}());\nexport { DocumentHighlightAdapter };\n// --- definition ------\nfunction toLocation(location) {\n return {\n uri: Uri.parse(location.uri),\n range: toRange(location.range)\n };\n}\nvar DefinitionAdapter = /** @class */ (function () {\n function DefinitionAdapter(_worker) {\n this._worker = _worker;\n }\n DefinitionAdapter.prototype.provideDefinition = function (model, position, token) {\n var resource = model.uri;\n return this._worker(resource).then(function (worker) {\n return worker.findDefinition(resource.toString(), fromPosition(position));\n }).then(function (definition) {\n if (!definition) {\n return;\n }\n return [toLocation(definition)];\n });\n };\n return DefinitionAdapter;\n}());\nexport { DefinitionAdapter };\n// --- references ------\nvar ReferenceAdapter = /** @class */ (function () {\n function ReferenceAdapter(_worker) {\n this._worker = _worker;\n }\n ReferenceAdapter.prototype.provideReferences = function (model, position, context, token) {\n var resource = model.uri;\n return this._worker(resource).then(function (worker) {\n return worker.findReferences(resource.toString(), fromPosition(position));\n }).then(function (entries) {\n if (!entries) {\n return;\n }\n return entries.map(toLocation);\n });\n };\n return ReferenceAdapter;\n}());\nexport { ReferenceAdapter };\n// --- rename ------\nfunction toWorkspaceEdit(edit) {\n if (!edit || !edit.changes) {\n return void 0;\n }\n var resourceEdits = [];\n for (var uri in edit.changes) {\n var edits = [];\n for (var _i = 0, _a = edit.changes[uri]; _i < _a.length; _i++) {\n var e = _a[_i];\n edits.push({\n range: toRange(e.range),\n text: e.newText\n });\n }\n resourceEdits.push({ resource: Uri.parse(uri), edits: edits });\n }\n return {\n edits: resourceEdits\n };\n}\nvar RenameAdapter = /** @class */ (function () {\n function RenameAdapter(_worker) {\n this._worker = _worker;\n }\n RenameAdapter.prototype.provideRenameEdits = function (model, position, newName, token) {\n var resource = model.uri;\n return this._worker(resource).then(function (worker) {\n return worker.doRename(resource.toString(), fromPosition(position), newName);\n }).then(function (edit) {\n return toWorkspaceEdit(edit);\n });\n };\n return RenameAdapter;\n}());\nexport { RenameAdapter };\n// --- document symbols ------\nfunction toSymbolKind(kind) {\n var mKind = monaco.languages.SymbolKind;\n switch (kind) {\n case ls.SymbolKind.File: return mKind.Array;\n case ls.SymbolKind.Module: return mKind.Module;\n case ls.SymbolKind.Namespace: return mKind.Namespace;\n case ls.SymbolKind.Package: return mKind.Package;\n case ls.SymbolKind.Class: return mKind.Class;\n case ls.SymbolKind.Method: return mKind.Method;\n case ls.SymbolKind.Property: return mKind.Property;\n case ls.SymbolKind.Field: return mKind.Field;\n case ls.SymbolKind.Constructor: return mKind.Constructor;\n case ls.SymbolKind.Enum: return mKind.Enum;\n case ls.SymbolKind.Interface: return mKind.Interface;\n case ls.SymbolKind.Function: return mKind.Function;\n case ls.SymbolKind.Variable: return mKind.Variable;\n case ls.SymbolKind.Constant: return mKind.Constant;\n case ls.SymbolKind.String: return mKind.String;\n case ls.SymbolKind.Number: return mKind.Number;\n case ls.SymbolKind.Boolean: return mKind.Boolean;\n case ls.SymbolKind.Array: return mKind.Array;\n }\n return mKind.Function;\n}\nvar DocumentSymbolAdapter = /** @class */ (function () {\n function DocumentSymbolAdapter(_worker) {\n this._worker = _worker;\n }\n DocumentSymbolAdapter.prototype.provideDocumentSymbols = function (model, token) {\n var resource = model.uri;\n return this._worker(resource).then(function (worker) { return worker.findDocumentSymbols(resource.toString()); }).then(function (items) {\n if (!items) {\n return;\n }\n return items.map(function (item) { return ({\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 }); });\n });\n };\n return DocumentSymbolAdapter;\n}());\nexport { DocumentSymbolAdapter };\nvar DocumentColorAdapter = /** @class */ (function () {\n function DocumentColorAdapter(_worker) {\n this._worker = _worker;\n }\n DocumentColorAdapter.prototype.provideDocumentColors = function (model, token) {\n var resource = model.uri;\n return this._worker(resource).then(function (worker) { return worker.findDocumentColors(resource.toString()); }).then(function (infos) {\n if (!infos) {\n return;\n }\n return infos.map(function (item) { return ({\n color: item.color,\n range: toRange(item.range)\n }); });\n });\n };\n DocumentColorAdapter.prototype.provideColorPresentations = function (model, info, token) {\n var resource = model.uri;\n return this._worker(resource).then(function (worker) { return worker.getColorPresentations(resource.toString(), info.color, fromRange(info.range)); }).then(function (presentations) {\n if (!presentations) {\n return;\n }\n return presentations.map(function (presentation) {\n var 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 return DocumentColorAdapter;\n}());\nexport { DocumentColorAdapter };\nvar FoldingRangeAdapter = /** @class */ (function () {\n function FoldingRangeAdapter(_worker) {\n this._worker = _worker;\n }\n FoldingRangeAdapter.prototype.provideFoldingRanges = function (model, context, token) {\n var resource = model.uri;\n return this._worker(resource).then(function (worker) { return worker.provideFoldingRanges(resource.toString(), context); }).then(function (ranges) {\n if (!ranges) {\n return;\n }\n return ranges.map(function (range) {\n var 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 return FoldingRangeAdapter;\n}());\nexport { FoldingRangeAdapter };\nfunction toFoldingRangeKind(kind) {\n switch (kind) {\n case ls.FoldingRangeKind.Comment: return monaco.languages.FoldingRangeKind.Comment;\n case ls.FoldingRangeKind.Imports: return monaco.languages.FoldingRangeKind.Imports;\n case ls.FoldingRangeKind.Region: return monaco.languages.FoldingRangeKind.Region;\n }\n return void 0;\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nimport { WorkerManager } from './workerManager.js';\nimport * as languageFeatures from './languageFeatures.js';\nexport function setupMode(defaults) {\n var client = new WorkerManager(defaults);\n var worker = function (first) {\n var more = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n more[_i - 1] = arguments[_i];\n }\n return client.getLanguageServiceWorker.apply(client, [first].concat(more));\n };\n var languageId = defaults.languageId;\n monaco.languages.registerCompletionItemProvider(languageId, new languageFeatures.CompletionAdapter(worker));\n monaco.languages.registerHoverProvider(languageId, new languageFeatures.HoverAdapter(worker));\n monaco.languages.registerDocumentHighlightProvider(languageId, new languageFeatures.DocumentHighlightAdapter(worker));\n monaco.languages.registerDefinitionProvider(languageId, new languageFeatures.DefinitionAdapter(worker));\n monaco.languages.registerReferenceProvider(languageId, new languageFeatures.ReferenceAdapter(worker));\n monaco.languages.registerDocumentSymbolProvider(languageId, new languageFeatures.DocumentSymbolAdapter(worker));\n monaco.languages.registerRenameProvider(languageId, new languageFeatures.RenameAdapter(worker));\n monaco.languages.registerColorProvider(languageId, new languageFeatures.DocumentColorAdapter(worker));\n monaco.languages.registerFoldingRangeProvider(languageId, new languageFeatures.FoldingRangeAdapter(worker));\n new languageFeatures.DiagnosticsAdapter(languageId, worker, defaults);\n}\n"],"sourceRoot":""}