{"version":3,"sources":["webpack:///./node_modules/vue-monaco/node_modules/monaco-editor/esm/vs/language/typescript/workerManager.js","webpack:///./node_modules/vue-monaco/node_modules/monaco-editor/esm/vs/language/typescript/languageFeatures.js","webpack:///./node_modules/vue-monaco/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js"],"names":["IndentStyle","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","WorkerManager","modeId","defaults","_this","_modeId","_defaults","_worker","_client","_configChangeListener","onDidChange","_stopWorker","_updateExtraLibsToken","_extraLibsChangeListener","onDidExtraLibsChange","_updateExtraLibs","prototype","dispose","myToken","proxy","_a","getProxy","updateExtraLibs","getExtraLibs","_getClient","monaco","editor","createWebWorker","moduleId","keepIdleModels","createData","compilerOptions","getCompilerOptions","extraLibs","p","getEagerModelSync","worker","withSyncedResources","getModels","filter","model","getModeId","map","uri","getLanguageServiceWorker","resources","_i","arguments","client","__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","hasOwnProperty","__","constructor","create","Uri","Range","flattenDiagnosticMessageText","diag","newLine","indent","undefined","i","messageText","kid","displayPartsToString","displayParts","displayPart","text","join","DiagnosticCategory","Adapter","_textSpanToRange","span","p1","getPositionAt","start","p2","startLineNumber","lineNumber","startColumn","column","endLineNumber","endColumn","DiagnosticsAdapter","_super","_selector","_disposables","_listener","onModelAdd","handle","changeSubscription","onDidChangeContent","clearTimeout","setTimeout","_doValidate","toString","onModelRemoved","setModelMarkers","key","onDidCreateModel","onWillDisposeModel","onDidChangeModelLanguage","event","recomputeDiagostics","forEach","promises","noSyntaxValidation","noSemanticValidation","noSuggestionDiagnostics","diagnostics","markers","_b","isDisposed","getDiagnosticsOptions","getSyntacticDiagnostics","getSemanticDiagnostics","getSuggestionDiagnostics","all","reduce","c","concat","diagnosticCodesToIgnore","indexOf","code","_convertDiagnostics","diagStart","diagLength","severity","_tsDiagnosticCategoryToMarkerSeverity","category","message","tags","reportsUnnecessary","MarkerTag","Unnecessary","relatedInformation","_convertRelatedInformation","info","relatedResource","file","relatedResourceUri","parse","fileName","getModel","infoStart","infoLength","resource","Error","MarkerSeverity","Message","Info","Warning","Suggestion","Hint","SuggestAdapter","defineProperty","get","enumerable","configurable","provideCompletionItems","position","_context","token","wordInfo","wordRange","offset","suggestions","getWordUntilPosition","getOffsetAt","getCompletionsAtPosition","entries","entry","range","replacementSpan","name","insertText","sortText","kind","convertKind","resolveCompletionItem","_position","item","myItem","details","getCompletionEntryDetails","detail","documentation","Kind","primitiveType","keyword","languages","CompletionItemKind","Keyword","variable","localVariable","Variable","memberVariable","memberGetAccessor","memberSetAccessor","Field","function","memberFunction","constructSignature","callSignature","indexSignature","Function","enum","Enum","module","Module","class","Class","interface","Interface","warning","File","Property","SignatureHelpAdapter","signatureHelpTriggerCharacters","provideSignatureHelp","ret","getSignatureHelpItems","activeSignature","selectedItemIndex","activeParameter","argumentIndex","signatures","items","signature","parameters","prefixDisplayParts","a","parameter","separatorDisplayParts","suffixDisplayParts","QuickInfoAdapter","provideHover","contents","getQuickInfoAtPosition","tag","match","textSpan","OccurrencesAdapter","provideDocumentHighlights","getOccurrencesAtPosition","isWriteAccess","DocumentHighlightKind","Write","Text","DefinitionAdapter","provideDefinition","entries_1","refModel","getDefinitionAtPosition","ReferenceAdapter","provideReferences","context","entries_2","getReferencesAtPosition","OutlineAdapter","provideDocumentSymbols","convert","getNavigationBarItems","bucket","containerLabel","outlineTypeTable","SymbolKind","spans","selectionRange","containerName","childItems","child","unknown","script","type","localFunction","constructorImplementation","typeParameter","alias","const","let","Method","javaScriptWorker","typeScriptWorker","FormatHelper","_convertOptions","options","ConvertTabsToSpaces","insertSpaces","TabSize","tabSize","IndentSize","Smart","NewLineCharacter","InsertSpaceAfterCommaDelimiter","InsertSpaceAfterSemicolonInForStatements","InsertSpaceBeforeAndAfterBinaryOperators","InsertSpaceAfterKeywordsInControlFlowStatements","InsertSpaceAfterFunctionKeywordForAnonymousFunctions","InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis","InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets","InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces","PlaceOpenBraceOnNewLineForControlBlocks","PlaceOpenBraceOnNewLineForFunctions","_convertTextChanges","change","newText","FormatAdapter","provideDocumentRangeFormattingEdits","startOffset","endOffset","edits","getFormattingEditsForRange","edit","FormatOnTypeAdapter","provideOnTypeFormattingEdits","ch","getFormattingEditsAfterKeystroke","CodeActionAdaptor","provideCodeActions","end","formatOptions","errorCodes","codeFixes","actions","getOptions","m","Number","getCodeFixesAtPosition","fix","changes","isNewFile","_tsCodeFixActionToMonacoCodeAction","codeFix","_c","textChanges","textChange","action","title","description","RenameAdapter","provideRenameEdits","newName","renameInfo","renameLocations","renameLocations_1","renameLocation","getRenameInfo","allowRenameOfImportPath","canRename","rejectReason","localizedErrorMessage","fileToRename","findRenameLocations","setupTypeScript","setupMode","setupJavaScript","getJavaScriptWorker","getTypeScriptWorker","uris","registerCompletionItemProvider","registerSignatureHelpProvider","registerHoverProvider","registerDocumentHighlightProvider","registerDefinitionProvider","registerReferenceProvider","registerDocumentSymbolProvider","registerDocumentRangeFormattingEditProvider","registerOnTypeFormattingEditProvider","registerCodeActionProvider","registerRenameProvider"],"mappings":"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","file":"js/chunk-2d0e5949.f2713355.js","sourcesContent":["/*---------------------------------------------------------------------------------------------\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\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar WorkerManager = /** @class */ (function () {\r\n function WorkerManager(modeId, defaults) {\r\n var _this = this;\r\n this._modeId = modeId;\r\n this._defaults = defaults;\r\n this._worker = null;\r\n this._client = null;\r\n this._configChangeListener = this._defaults.onDidChange(function () { return _this._stopWorker(); });\r\n this._updateExtraLibsToken = 0;\r\n this._extraLibsChangeListener = this._defaults.onDidExtraLibsChange(function () { return _this._updateExtraLibs(); });\r\n }\r\n WorkerManager.prototype._stopWorker = function () {\r\n if (this._worker) {\r\n this._worker.dispose();\r\n this._worker = null;\r\n }\r\n this._client = null;\r\n };\r\n WorkerManager.prototype.dispose = function () {\r\n this._configChangeListener.dispose();\r\n this._extraLibsChangeListener.dispose();\r\n this._stopWorker();\r\n };\r\n WorkerManager.prototype._updateExtraLibs = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var myToken, proxy;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this._worker) {\r\n return [2 /*return*/];\r\n }\r\n myToken = ++this._updateExtraLibsToken;\r\n return [4 /*yield*/, this._worker.getProxy()];\r\n case 1:\r\n proxy = _a.sent();\r\n if (this._updateExtraLibsToken !== myToken) {\r\n // avoid multiple calls\r\n return [2 /*return*/];\r\n }\r\n proxy.updateExtraLibs(this._defaults.getExtraLibs());\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n WorkerManager.prototype._getClient = function () {\r\n var _this = this;\r\n if (!this._client) {\r\n this._worker = monaco.editor.createWebWorker({\r\n // module that exports the create() method and returns a `TypeScriptWorker` instance\r\n moduleId: 'vs/language/typescript/tsWorker',\r\n label: this._modeId,\r\n keepIdleModels: true,\r\n // passed in to the create() method\r\n createData: {\r\n compilerOptions: this._defaults.getCompilerOptions(),\r\n extraLibs: this._defaults.getExtraLibs()\r\n }\r\n });\r\n var p = this._worker.getProxy();\r\n if (this._defaults.getEagerModelSync()) {\r\n p = p.then(function (worker) {\r\n if (_this._worker) {\r\n return _this._worker.withSyncedResources(monaco.editor.getModels()\r\n .filter(function (model) { return model.getModeId() === _this._modeId; })\r\n .map(function (model) { return model.uri; }));\r\n }\r\n return worker;\r\n });\r\n }\r\n this._client = p;\r\n }\r\n return this._client;\r\n };\r\n WorkerManager.prototype.getLanguageServiceWorker = function () {\r\n var _this = this;\r\n var resources = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n resources[_i] = arguments[_i];\r\n }\r\n var _client;\r\n return this._getClient().then(function (client) {\r\n _client = client;\r\n }).then(function (_) {\r\n if (_this._worker) {\r\n return _this._worker.withSyncedResources(resources);\r\n }\r\n }).then(function (_) { return _client; });\r\n };\r\n return WorkerManager;\r\n}());\r\nexport { WorkerManager };\r\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\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar Uri = monaco.Uri;\r\nvar Range = monaco.Range;\r\n//#region utils copied from typescript to prevent loading the entire typescriptServices ---\r\nvar IndentStyle;\r\n(function (IndentStyle) {\r\n IndentStyle[IndentStyle[\"None\"] = 0] = \"None\";\r\n IndentStyle[IndentStyle[\"Block\"] = 1] = \"Block\";\r\n IndentStyle[IndentStyle[\"Smart\"] = 2] = \"Smart\";\r\n})(IndentStyle || (IndentStyle = {}));\r\nexport function flattenDiagnosticMessageText(diag, newLine, indent) {\r\n if (indent === void 0) { indent = 0; }\r\n if (typeof diag === \"string\") {\r\n return diag;\r\n }\r\n else if (diag === undefined) {\r\n return \"\";\r\n }\r\n var result = \"\";\r\n if (indent) {\r\n result += newLine;\r\n for (var i = 0; i < indent; i++) {\r\n result += \" \";\r\n }\r\n }\r\n result += diag.messageText;\r\n indent++;\r\n if (diag.next) {\r\n for (var _i = 0, _a = diag.next; _i < _a.length; _i++) {\r\n var kid = _a[_i];\r\n result += flattenDiagnosticMessageText(kid, newLine, indent);\r\n }\r\n }\r\n return result;\r\n}\r\nfunction displayPartsToString(displayParts) {\r\n if (displayParts) {\r\n return displayParts.map(function (displayPart) { return displayPart.text; }).join(\"\");\r\n }\r\n return \"\";\r\n}\r\n//#endregion\r\nvar Adapter = /** @class */ (function () {\r\n function Adapter(_worker) {\r\n this._worker = _worker;\r\n }\r\n // protected _positionToOffset(model: monaco.editor.ITextModel, position: monaco.IPosition): number {\r\n // \treturn model.getOffsetAt(position);\r\n // }\r\n // protected _offsetToPosition(model: monaco.editor.ITextModel, offset: number): monaco.IPosition {\r\n // \treturn model.getPositionAt(offset);\r\n // }\r\n Adapter.prototype._textSpanToRange = function (model, span) {\r\n var p1 = model.getPositionAt(span.start);\r\n var p2 = model.getPositionAt(span.start + span.length);\r\n var startLineNumber = p1.lineNumber, startColumn = p1.column;\r\n var endLineNumber = p2.lineNumber, endColumn = p2.column;\r\n return { startLineNumber: startLineNumber, startColumn: startColumn, endLineNumber: endLineNumber, endColumn: endColumn };\r\n };\r\n return Adapter;\r\n}());\r\nexport { Adapter };\r\n// --- diagnostics --- ---\r\nvar DiagnosticCategory;\r\n(function (DiagnosticCategory) {\r\n DiagnosticCategory[DiagnosticCategory[\"Warning\"] = 0] = \"Warning\";\r\n DiagnosticCategory[DiagnosticCategory[\"Error\"] = 1] = \"Error\";\r\n DiagnosticCategory[DiagnosticCategory[\"Suggestion\"] = 2] = \"Suggestion\";\r\n DiagnosticCategory[DiagnosticCategory[\"Message\"] = 3] = \"Message\";\r\n})(DiagnosticCategory || (DiagnosticCategory = {}));\r\nvar DiagnosticsAdapter = /** @class */ (function (_super) {\r\n __extends(DiagnosticsAdapter, _super);\r\n function DiagnosticsAdapter(_defaults, _selector, worker) {\r\n var _this = _super.call(this, worker) || this;\r\n _this._defaults = _defaults;\r\n _this._selector = _selector;\r\n _this._disposables = [];\r\n _this._listener = Object.create(null);\r\n var onModelAdd = function (model) {\r\n if (model.getModeId() !== _selector) {\r\n return;\r\n }\r\n var handle;\r\n var changeSubscription = model.onDidChangeContent(function () {\r\n clearTimeout(handle);\r\n handle = setTimeout(function () { return _this._doValidate(model); }, 500);\r\n });\r\n _this._listener[model.uri.toString()] = {\r\n dispose: function () {\r\n changeSubscription.dispose();\r\n clearTimeout(handle);\r\n }\r\n };\r\n _this._doValidate(model);\r\n };\r\n var onModelRemoved = function (model) {\r\n monaco.editor.setModelMarkers(model, _this._selector, []);\r\n var key = model.uri.toString();\r\n if (_this._listener[key]) {\r\n _this._listener[key].dispose();\r\n delete _this._listener[key];\r\n }\r\n };\r\n _this._disposables.push(monaco.editor.onDidCreateModel(onModelAdd));\r\n _this._disposables.push(monaco.editor.onWillDisposeModel(onModelRemoved));\r\n _this._disposables.push(monaco.editor.onDidChangeModelLanguage(function (event) {\r\n onModelRemoved(event.model);\r\n onModelAdd(event.model);\r\n }));\r\n _this._disposables.push({\r\n dispose: function () {\r\n for (var _i = 0, _a = monaco.editor.getModels(); _i < _a.length; _i++) {\r\n var model = _a[_i];\r\n onModelRemoved(model);\r\n }\r\n }\r\n });\r\n var recomputeDiagostics = function () {\r\n // redo diagnostics when options change\r\n for (var _i = 0, _a = monaco.editor.getModels(); _i < _a.length; _i++) {\r\n var model = _a[_i];\r\n onModelRemoved(model);\r\n onModelAdd(model);\r\n }\r\n };\r\n _this._disposables.push(_this._defaults.onDidChange(recomputeDiagostics));\r\n _this._disposables.push(_this._defaults.onDidExtraLibsChange(recomputeDiagostics));\r\n monaco.editor.getModels().forEach(onModelAdd);\r\n return _this;\r\n }\r\n DiagnosticsAdapter.prototype.dispose = function () {\r\n this._disposables.forEach(function (d) { return d && d.dispose(); });\r\n this._disposables = [];\r\n };\r\n DiagnosticsAdapter.prototype._doValidate = function (model) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var worker, promises, _a, noSyntaxValidation, noSemanticValidation, noSuggestionDiagnostics, diagnostics, markers;\r\n var _this = this;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0: return [4 /*yield*/, this._worker(model.uri)];\r\n case 1:\r\n worker = _b.sent();\r\n if (model.isDisposed()) {\r\n // model was disposed in the meantime\r\n return [2 /*return*/];\r\n }\r\n promises = [];\r\n _a = this._defaults.getDiagnosticsOptions(), noSyntaxValidation = _a.noSyntaxValidation, noSemanticValidation = _a.noSemanticValidation, noSuggestionDiagnostics = _a.noSuggestionDiagnostics;\r\n if (!noSyntaxValidation) {\r\n promises.push(worker.getSyntacticDiagnostics(model.uri.toString()));\r\n }\r\n if (!noSemanticValidation) {\r\n promises.push(worker.getSemanticDiagnostics(model.uri.toString()));\r\n }\r\n if (!noSuggestionDiagnostics) {\r\n promises.push(worker.getSuggestionDiagnostics(model.uri.toString()));\r\n }\r\n return [4 /*yield*/, Promise.all(promises)];\r\n case 2:\r\n diagnostics = _b.sent();\r\n if (!diagnostics || model.isDisposed()) {\r\n // model was disposed in the meantime\r\n return [2 /*return*/];\r\n }\r\n markers = diagnostics\r\n .reduce(function (p, c) { return c.concat(p); }, [])\r\n .filter(function (d) { return (_this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || []).indexOf(d.code) === -1; })\r\n .map(function (d) { return _this._convertDiagnostics(model, d); });\r\n monaco.editor.setModelMarkers(model, this._selector, markers);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n DiagnosticsAdapter.prototype._convertDiagnostics = function (model, diag) {\r\n var diagStart = diag.start || 0;\r\n var diagLength = diag.length || 1;\r\n var _a = model.getPositionAt(diagStart), startLineNumber = _a.lineNumber, startColumn = _a.column;\r\n var _b = model.getPositionAt(diagStart + diagLength), endLineNumber = _b.lineNumber, endColumn = _b.column;\r\n return {\r\n severity: this._tsDiagnosticCategoryToMarkerSeverity(diag.category),\r\n startLineNumber: startLineNumber,\r\n startColumn: startColumn,\r\n endLineNumber: endLineNumber,\r\n endColumn: endColumn,\r\n message: flattenDiagnosticMessageText(diag.messageText, '\\n'),\r\n code: diag.code.toString(),\r\n tags: diag.reportsUnnecessary ? [monaco.MarkerTag.Unnecessary] : [],\r\n relatedInformation: this._convertRelatedInformation(model, diag.relatedInformation),\r\n };\r\n };\r\n DiagnosticsAdapter.prototype._convertRelatedInformation = function (model, relatedInformation) {\r\n if (!relatedInformation) {\r\n return;\r\n }\r\n var result = [];\r\n relatedInformation.forEach(function (info) {\r\n var relatedResource = model;\r\n if (info.file) {\r\n var relatedResourceUri = monaco.Uri.parse(info.file.fileName);\r\n relatedResource = monaco.editor.getModel(relatedResourceUri);\r\n }\r\n if (!relatedResource) {\r\n return;\r\n }\r\n var infoStart = info.start || 0;\r\n var infoLength = info.length || 1;\r\n var _a = relatedResource.getPositionAt(infoStart), startLineNumber = _a.lineNumber, startColumn = _a.column;\r\n var _b = relatedResource.getPositionAt(infoStart + infoLength), endLineNumber = _b.lineNumber, endColumn = _b.column;\r\n result.push({\r\n resource: relatedResource.uri,\r\n startLineNumber: startLineNumber,\r\n startColumn: startColumn,\r\n endLineNumber: endLineNumber,\r\n endColumn: endColumn,\r\n message: flattenDiagnosticMessageText(info.messageText, '\\n')\r\n });\r\n });\r\n return result;\r\n };\r\n DiagnosticsAdapter.prototype._tsDiagnosticCategoryToMarkerSeverity = function (category) {\r\n switch (category) {\r\n case DiagnosticCategory.Error: return monaco.MarkerSeverity.Error;\r\n case DiagnosticCategory.Message: return monaco.MarkerSeverity.Info;\r\n case DiagnosticCategory.Warning: return monaco.MarkerSeverity.Warning;\r\n case DiagnosticCategory.Suggestion: return monaco.MarkerSeverity.Hint;\r\n }\r\n return monaco.MarkerSeverity.Info;\r\n };\r\n return DiagnosticsAdapter;\r\n}(Adapter));\r\nexport { DiagnosticsAdapter };\r\nvar SuggestAdapter = /** @class */ (function (_super) {\r\n __extends(SuggestAdapter, _super);\r\n function SuggestAdapter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(SuggestAdapter.prototype, \"triggerCharacters\", {\r\n get: function () {\r\n return ['.'];\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n SuggestAdapter.prototype.provideCompletionItems = function (model, position, _context, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var wordInfo, wordRange, resource, offset, worker, info, suggestions;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n wordInfo = model.getWordUntilPosition(position);\r\n wordRange = new Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, wordInfo.endColumn);\r\n resource = model.uri;\r\n offset = model.getOffsetAt(position);\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getCompletionsAtPosition(resource.toString(), offset)];\r\n case 2:\r\n info = _a.sent();\r\n if (!info || model.isDisposed()) {\r\n return [2 /*return*/];\r\n }\r\n suggestions = info.entries.map(function (entry) {\r\n var range = wordRange;\r\n if (entry.replacementSpan) {\r\n var p1 = model.getPositionAt(entry.replacementSpan.start);\r\n var p2 = model.getPositionAt(entry.replacementSpan.start + entry.replacementSpan.length);\r\n range = new Range(p1.lineNumber, p1.column, p2.lineNumber, p2.column);\r\n }\r\n return {\r\n uri: resource,\r\n position: position,\r\n range: range,\r\n label: entry.name,\r\n insertText: entry.name,\r\n sortText: entry.sortText,\r\n kind: SuggestAdapter.convertKind(entry.kind)\r\n };\r\n });\r\n return [2 /*return*/, {\r\n suggestions: suggestions\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n SuggestAdapter.prototype.resolveCompletionItem = function (model, _position, item, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var myItem, resource, position, offset, worker, details;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n myItem = item;\r\n resource = myItem.uri;\r\n position = myItem.position;\r\n offset = model.getOffsetAt(position);\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getCompletionEntryDetails(resource.toString(), offset, myItem.label)];\r\n case 2:\r\n details = _a.sent();\r\n if (!details || model.isDisposed()) {\r\n return [2 /*return*/, myItem];\r\n }\r\n return [2 /*return*/, {\r\n uri: resource,\r\n position: position,\r\n label: details.name,\r\n kind: SuggestAdapter.convertKind(details.kind),\r\n detail: displayPartsToString(details.displayParts),\r\n documentation: {\r\n value: displayPartsToString(details.documentation)\r\n }\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n SuggestAdapter.convertKind = function (kind) {\r\n switch (kind) {\r\n case Kind.primitiveType:\r\n case Kind.keyword:\r\n return monaco.languages.CompletionItemKind.Keyword;\r\n case Kind.variable:\r\n case Kind.localVariable:\r\n return monaco.languages.CompletionItemKind.Variable;\r\n case Kind.memberVariable:\r\n case Kind.memberGetAccessor:\r\n case Kind.memberSetAccessor:\r\n return monaco.languages.CompletionItemKind.Field;\r\n case Kind.function:\r\n case Kind.memberFunction:\r\n case Kind.constructSignature:\r\n case Kind.callSignature:\r\n case Kind.indexSignature:\r\n return monaco.languages.CompletionItemKind.Function;\r\n case Kind.enum:\r\n return monaco.languages.CompletionItemKind.Enum;\r\n case Kind.module:\r\n return monaco.languages.CompletionItemKind.Module;\r\n case Kind.class:\r\n return monaco.languages.CompletionItemKind.Class;\r\n case Kind.interface:\r\n return monaco.languages.CompletionItemKind.Interface;\r\n case Kind.warning:\r\n return monaco.languages.CompletionItemKind.File;\r\n }\r\n return monaco.languages.CompletionItemKind.Property;\r\n };\r\n return SuggestAdapter;\r\n}(Adapter));\r\nexport { SuggestAdapter };\r\nvar SignatureHelpAdapter = /** @class */ (function (_super) {\r\n __extends(SignatureHelpAdapter, _super);\r\n function SignatureHelpAdapter() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.signatureHelpTriggerCharacters = ['(', ','];\r\n return _this;\r\n }\r\n SignatureHelpAdapter.prototype.provideSignatureHelp = function (model, position, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resource, offset, worker, info, ret;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n resource = model.uri;\r\n offset = model.getOffsetAt(position);\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getSignatureHelpItems(resource.toString(), offset)];\r\n case 2:\r\n info = _a.sent();\r\n if (!info || model.isDisposed()) {\r\n return [2 /*return*/];\r\n }\r\n ret = {\r\n activeSignature: info.selectedItemIndex,\r\n activeParameter: info.argumentIndex,\r\n signatures: []\r\n };\r\n info.items.forEach(function (item) {\r\n var signature = {\r\n label: '',\r\n parameters: []\r\n };\r\n signature.documentation = displayPartsToString(item.documentation);\r\n signature.label += displayPartsToString(item.prefixDisplayParts);\r\n item.parameters.forEach(function (p, i, a) {\r\n var label = displayPartsToString(p.displayParts);\r\n var parameter = {\r\n label: label,\r\n documentation: displayPartsToString(p.documentation)\r\n };\r\n signature.label += label;\r\n signature.parameters.push(parameter);\r\n if (i < a.length - 1) {\r\n signature.label += displayPartsToString(item.separatorDisplayParts);\r\n }\r\n });\r\n signature.label += displayPartsToString(item.suffixDisplayParts);\r\n ret.signatures.push(signature);\r\n });\r\n return [2 /*return*/, {\r\n value: ret,\r\n dispose: function () { }\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n return SignatureHelpAdapter;\r\n}(Adapter));\r\nexport { SignatureHelpAdapter };\r\n// --- hover ------\r\nvar QuickInfoAdapter = /** @class */ (function (_super) {\r\n __extends(QuickInfoAdapter, _super);\r\n function QuickInfoAdapter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n QuickInfoAdapter.prototype.provideHover = function (model, position, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resource, offset, worker, info, documentation, tags, contents;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n resource = model.uri;\r\n offset = model.getOffsetAt(position);\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getQuickInfoAtPosition(resource.toString(), offset)];\r\n case 2:\r\n info = _a.sent();\r\n if (!info || model.isDisposed()) {\r\n return [2 /*return*/];\r\n }\r\n documentation = displayPartsToString(info.documentation);\r\n tags = info.tags ? info.tags.map(function (tag) {\r\n var label = \"*@\" + tag.name + \"*\";\r\n if (!tag.text) {\r\n return label;\r\n }\r\n return label + (tag.text.match(/\\r\\n|\\n/g) ? ' \\n' + tag.text : \" - \" + tag.text);\r\n }).join(' \\n\\n') : '';\r\n contents = displayPartsToString(info.displayParts);\r\n return [2 /*return*/, {\r\n range: this._textSpanToRange(model, info.textSpan),\r\n contents: [{\r\n value: '```js\\n' + contents + '\\n```\\n'\r\n }, {\r\n value: documentation + (tags ? '\\n\\n' + tags : '')\r\n }]\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n return QuickInfoAdapter;\r\n}(Adapter));\r\nexport { QuickInfoAdapter };\r\n// --- occurrences ------\r\nvar OccurrencesAdapter = /** @class */ (function (_super) {\r\n __extends(OccurrencesAdapter, _super);\r\n function OccurrencesAdapter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n OccurrencesAdapter.prototype.provideDocumentHighlights = function (model, position, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resource, offset, worker, entries;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n resource = model.uri;\r\n offset = model.getOffsetAt(position);\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getOccurrencesAtPosition(resource.toString(), offset)];\r\n case 2:\r\n entries = _a.sent();\r\n if (!entries || model.isDisposed()) {\r\n return [2 /*return*/];\r\n }\r\n return [2 /*return*/, entries.map(function (entry) {\r\n return {\r\n range: _this._textSpanToRange(model, entry.textSpan),\r\n kind: entry.isWriteAccess ? monaco.languages.DocumentHighlightKind.Write : monaco.languages.DocumentHighlightKind.Text\r\n };\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n return OccurrencesAdapter;\r\n}(Adapter));\r\nexport { OccurrencesAdapter };\r\n// --- definition ------\r\nvar DefinitionAdapter = /** @class */ (function (_super) {\r\n __extends(DefinitionAdapter, _super);\r\n function DefinitionAdapter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DefinitionAdapter.prototype.provideDefinition = function (model, position, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resource, offset, worker, entries, result, _i, entries_1, entry, uri, refModel;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n resource = model.uri;\r\n offset = model.getOffsetAt(position);\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getDefinitionAtPosition(resource.toString(), offset)];\r\n case 2:\r\n entries = _a.sent();\r\n if (!entries || model.isDisposed()) {\r\n return [2 /*return*/];\r\n }\r\n result = [];\r\n for (_i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\r\n entry = entries_1[_i];\r\n uri = Uri.parse(entry.fileName);\r\n refModel = monaco.editor.getModel(uri);\r\n if (refModel) {\r\n result.push({\r\n uri: uri,\r\n range: this._textSpanToRange(refModel, entry.textSpan)\r\n });\r\n }\r\n }\r\n return [2 /*return*/, result];\r\n }\r\n });\r\n });\r\n };\r\n return DefinitionAdapter;\r\n}(Adapter));\r\nexport { DefinitionAdapter };\r\n// --- references ------\r\nvar ReferenceAdapter = /** @class */ (function (_super) {\r\n __extends(ReferenceAdapter, _super);\r\n function ReferenceAdapter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n ReferenceAdapter.prototype.provideReferences = function (model, position, context, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resource, offset, worker, entries, result, _i, entries_2, entry, uri, refModel;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n resource = model.uri;\r\n offset = model.getOffsetAt(position);\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getReferencesAtPosition(resource.toString(), offset)];\r\n case 2:\r\n entries = _a.sent();\r\n if (!entries || model.isDisposed()) {\r\n return [2 /*return*/];\r\n }\r\n result = [];\r\n for (_i = 0, entries_2 = entries; _i < entries_2.length; _i++) {\r\n entry = entries_2[_i];\r\n uri = Uri.parse(entry.fileName);\r\n refModel = monaco.editor.getModel(uri);\r\n if (refModel) {\r\n result.push({\r\n uri: uri,\r\n range: this._textSpanToRange(refModel, entry.textSpan)\r\n });\r\n }\r\n }\r\n return [2 /*return*/, result];\r\n }\r\n });\r\n });\r\n };\r\n return ReferenceAdapter;\r\n}(Adapter));\r\nexport { ReferenceAdapter };\r\n// --- outline ------\r\nvar OutlineAdapter = /** @class */ (function (_super) {\r\n __extends(OutlineAdapter, _super);\r\n function OutlineAdapter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n OutlineAdapter.prototype.provideDocumentSymbols = function (model, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resource, worker, items, convert, result;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n resource = model.uri;\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getNavigationBarItems(resource.toString())];\r\n case 2:\r\n items = _a.sent();\r\n if (!items || model.isDisposed()) {\r\n return [2 /*return*/];\r\n }\r\n convert = function (bucket, item, containerLabel) {\r\n var result = {\r\n name: item.text,\r\n detail: '',\r\n kind: (outlineTypeTable[item.kind] || monaco.languages.SymbolKind.Variable),\r\n range: _this._textSpanToRange(model, item.spans[0]),\r\n selectionRange: _this._textSpanToRange(model, item.spans[0]),\r\n tags: [],\r\n containerName: containerLabel\r\n };\r\n if (item.childItems && item.childItems.length > 0) {\r\n for (var _i = 0, _a = item.childItems; _i < _a.length; _i++) {\r\n var child = _a[_i];\r\n convert(bucket, child, result.name);\r\n }\r\n }\r\n bucket.push(result);\r\n };\r\n result = [];\r\n items.forEach(function (item) { return convert(result, item); });\r\n return [2 /*return*/, result];\r\n }\r\n });\r\n });\r\n };\r\n return OutlineAdapter;\r\n}(Adapter));\r\nexport { OutlineAdapter };\r\nvar Kind = /** @class */ (function () {\r\n function Kind() {\r\n }\r\n Kind.unknown = '';\r\n Kind.keyword = 'keyword';\r\n Kind.script = 'script';\r\n Kind.module = 'module';\r\n Kind.class = 'class';\r\n Kind.interface = 'interface';\r\n Kind.type = 'type';\r\n Kind.enum = 'enum';\r\n Kind.variable = 'var';\r\n Kind.localVariable = 'local var';\r\n Kind.function = 'function';\r\n Kind.localFunction = 'local function';\r\n Kind.memberFunction = 'method';\r\n Kind.memberGetAccessor = 'getter';\r\n Kind.memberSetAccessor = 'setter';\r\n Kind.memberVariable = 'property';\r\n Kind.constructorImplementation = 'constructor';\r\n Kind.callSignature = 'call';\r\n Kind.indexSignature = 'index';\r\n Kind.constructSignature = 'construct';\r\n Kind.parameter = 'parameter';\r\n Kind.typeParameter = 'type parameter';\r\n Kind.primitiveType = 'primitive type';\r\n Kind.label = 'label';\r\n Kind.alias = 'alias';\r\n Kind.const = 'const';\r\n Kind.let = 'let';\r\n Kind.warning = 'warning';\r\n return Kind;\r\n}());\r\nexport { Kind };\r\nvar outlineTypeTable = Object.create(null);\r\noutlineTypeTable[Kind.module] = monaco.languages.SymbolKind.Module;\r\noutlineTypeTable[Kind.class] = monaco.languages.SymbolKind.Class;\r\noutlineTypeTable[Kind.enum] = monaco.languages.SymbolKind.Enum;\r\noutlineTypeTable[Kind.interface] = monaco.languages.SymbolKind.Interface;\r\noutlineTypeTable[Kind.memberFunction] = monaco.languages.SymbolKind.Method;\r\noutlineTypeTable[Kind.memberVariable] = monaco.languages.SymbolKind.Property;\r\noutlineTypeTable[Kind.memberGetAccessor] = monaco.languages.SymbolKind.Property;\r\noutlineTypeTable[Kind.memberSetAccessor] = monaco.languages.SymbolKind.Property;\r\noutlineTypeTable[Kind.variable] = monaco.languages.SymbolKind.Variable;\r\noutlineTypeTable[Kind.const] = monaco.languages.SymbolKind.Variable;\r\noutlineTypeTable[Kind.localVariable] = monaco.languages.SymbolKind.Variable;\r\noutlineTypeTable[Kind.variable] = monaco.languages.SymbolKind.Variable;\r\noutlineTypeTable[Kind.function] = monaco.languages.SymbolKind.Function;\r\noutlineTypeTable[Kind.localFunction] = monaco.languages.SymbolKind.Function;\r\n// --- formatting ----\r\nvar FormatHelper = /** @class */ (function (_super) {\r\n __extends(FormatHelper, _super);\r\n function FormatHelper() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n FormatHelper._convertOptions = function (options) {\r\n return {\r\n ConvertTabsToSpaces: options.insertSpaces,\r\n TabSize: options.tabSize,\r\n IndentSize: options.tabSize,\r\n IndentStyle: IndentStyle.Smart,\r\n NewLineCharacter: '\\n',\r\n InsertSpaceAfterCommaDelimiter: true,\r\n InsertSpaceAfterSemicolonInForStatements: true,\r\n InsertSpaceBeforeAndAfterBinaryOperators: true,\r\n InsertSpaceAfterKeywordsInControlFlowStatements: true,\r\n InsertSpaceAfterFunctionKeywordForAnonymousFunctions: true,\r\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: false,\r\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: false,\r\n InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: false,\r\n PlaceOpenBraceOnNewLineForControlBlocks: false,\r\n PlaceOpenBraceOnNewLineForFunctions: false\r\n };\r\n };\r\n FormatHelper.prototype._convertTextChanges = function (model, change) {\r\n return {\r\n text: change.newText,\r\n range: this._textSpanToRange(model, change.span)\r\n };\r\n };\r\n return FormatHelper;\r\n}(Adapter));\r\nexport { FormatHelper };\r\nvar FormatAdapter = /** @class */ (function (_super) {\r\n __extends(FormatAdapter, _super);\r\n function FormatAdapter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n FormatAdapter.prototype.provideDocumentRangeFormattingEdits = function (model, range, options, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resource, startOffset, endOffset, worker, edits;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n resource = model.uri;\r\n startOffset = model.getOffsetAt({ lineNumber: range.startLineNumber, column: range.startColumn });\r\n endOffset = model.getOffsetAt({ lineNumber: range.endLineNumber, column: range.endColumn });\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getFormattingEditsForRange(resource.toString(), startOffset, endOffset, FormatHelper._convertOptions(options))];\r\n case 2:\r\n edits = _a.sent();\r\n if (!edits || model.isDisposed()) {\r\n return [2 /*return*/];\r\n }\r\n return [2 /*return*/, edits.map(function (edit) { return _this._convertTextChanges(model, edit); })];\r\n }\r\n });\r\n });\r\n };\r\n return FormatAdapter;\r\n}(FormatHelper));\r\nexport { FormatAdapter };\r\nvar FormatOnTypeAdapter = /** @class */ (function (_super) {\r\n __extends(FormatOnTypeAdapter, _super);\r\n function FormatOnTypeAdapter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(FormatOnTypeAdapter.prototype, \"autoFormatTriggerCharacters\", {\r\n get: function () {\r\n return [';', '}', '\\n'];\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n FormatOnTypeAdapter.prototype.provideOnTypeFormattingEdits = function (model, position, ch, options, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resource, offset, worker, edits;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n resource = model.uri;\r\n offset = model.getOffsetAt(position);\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getFormattingEditsAfterKeystroke(resource.toString(), offset, ch, FormatHelper._convertOptions(options))];\r\n case 2:\r\n edits = _a.sent();\r\n if (!edits || model.isDisposed()) {\r\n return [2 /*return*/];\r\n }\r\n return [2 /*return*/, edits.map(function (edit) { return _this._convertTextChanges(model, edit); })];\r\n }\r\n });\r\n });\r\n };\r\n return FormatOnTypeAdapter;\r\n}(FormatHelper));\r\nexport { FormatOnTypeAdapter };\r\n// --- code actions ------\r\nvar CodeActionAdaptor = /** @class */ (function (_super) {\r\n __extends(CodeActionAdaptor, _super);\r\n function CodeActionAdaptor() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n CodeActionAdaptor.prototype.provideCodeActions = function (model, range, context, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resource, start, end, formatOptions, errorCodes, worker, codeFixes, actions;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n resource = model.uri;\r\n start = model.getOffsetAt({ lineNumber: range.startLineNumber, column: range.startColumn });\r\n end = model.getOffsetAt({ lineNumber: range.endLineNumber, column: range.endColumn });\r\n formatOptions = FormatHelper._convertOptions(model.getOptions());\r\n errorCodes = context.markers.filter(function (m) { return m.code; }).map(function (m) { return m.code; }).map(Number);\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getCodeFixesAtPosition(resource.toString(), start, end, errorCodes, formatOptions)];\r\n case 2:\r\n codeFixes = _a.sent();\r\n if (!codeFixes || model.isDisposed()) {\r\n return [2 /*return*/];\r\n }\r\n actions = codeFixes.filter(function (fix) {\r\n // Removes any 'make a new file'-type code fix\r\n return fix.changes.filter(function (change) { return change.isNewFile; }).length === 0;\r\n }).map(function (fix) {\r\n return _this._tsCodeFixActionToMonacoCodeAction(model, context, fix);\r\n });\r\n return [2 /*return*/, {\r\n actions: actions,\r\n dispose: function () { }\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n CodeActionAdaptor.prototype._tsCodeFixActionToMonacoCodeAction = function (model, context, codeFix) {\r\n var edits = [];\r\n for (var _i = 0, _a = codeFix.changes; _i < _a.length; _i++) {\r\n var change = _a[_i];\r\n for (var _b = 0, _c = change.textChanges; _b < _c.length; _b++) {\r\n var textChange = _c[_b];\r\n edits.push({\r\n resource: model.uri,\r\n edit: {\r\n range: this._textSpanToRange(model, textChange.span),\r\n text: textChange.newText\r\n }\r\n });\r\n }\r\n }\r\n var action = {\r\n title: codeFix.description,\r\n edit: { edits: edits },\r\n diagnostics: context.markers,\r\n kind: \"quickfix\"\r\n };\r\n return action;\r\n };\r\n return CodeActionAdaptor;\r\n}(FormatHelper));\r\nexport { CodeActionAdaptor };\r\n// --- rename ----\r\nvar RenameAdapter = /** @class */ (function (_super) {\r\n __extends(RenameAdapter, _super);\r\n function RenameAdapter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n RenameAdapter.prototype.provideRenameEdits = function (model, position, newName, token) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resource, fileName, offset, worker, renameInfo, renameLocations, edits, _i, renameLocations_1, renameLocation;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n resource = model.uri;\r\n fileName = resource.toString();\r\n offset = model.getOffsetAt(position);\r\n return [4 /*yield*/, this._worker(resource)];\r\n case 1:\r\n worker = _a.sent();\r\n return [4 /*yield*/, worker.getRenameInfo(fileName, offset, { allowRenameOfImportPath: false })];\r\n case 2:\r\n renameInfo = _a.sent();\r\n if (renameInfo.canRename === false) { // use explicit comparison so that the discriminated union gets resolved properly\r\n return [2 /*return*/, {\r\n edits: [],\r\n rejectReason: renameInfo.localizedErrorMessage\r\n }];\r\n }\r\n if (renameInfo.fileToRename !== undefined) {\r\n throw new Error(\"Renaming files is not supported.\");\r\n }\r\n return [4 /*yield*/, worker.findRenameLocations(fileName, offset, /*strings*/ false, /*comments*/ false, /*prefixAndSuffix*/ false)];\r\n case 3:\r\n renameLocations = _a.sent();\r\n if (!renameLocations || model.isDisposed()) {\r\n return [2 /*return*/];\r\n }\r\n edits = [];\r\n for (_i = 0, renameLocations_1 = renameLocations; _i < renameLocations_1.length; _i++) {\r\n renameLocation = renameLocations_1[_i];\r\n edits.push({\r\n resource: monaco.Uri.parse(renameLocation.fileName),\r\n edit: {\r\n range: this._textSpanToRange(model, renameLocation.textSpan),\r\n text: newName\r\n }\r\n });\r\n }\r\n return [2 /*return*/, { edits: edits }];\r\n }\r\n });\r\n });\r\n };\r\n return RenameAdapter;\r\n}(Adapter));\r\nexport { RenameAdapter };\r\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\nimport { WorkerManager } from './workerManager.js';\r\nimport * as languageFeatures from './languageFeatures.js';\r\nvar javaScriptWorker;\r\nvar typeScriptWorker;\r\nexport function setupTypeScript(defaults) {\r\n typeScriptWorker = setupMode(defaults, 'typescript');\r\n}\r\nexport function setupJavaScript(defaults) {\r\n javaScriptWorker = setupMode(defaults, 'javascript');\r\n}\r\nexport function getJavaScriptWorker() {\r\n return new Promise(function (resolve, reject) {\r\n if (!javaScriptWorker) {\r\n return reject(\"JavaScript not registered!\");\r\n }\r\n resolve(javaScriptWorker);\r\n });\r\n}\r\nexport function getTypeScriptWorker() {\r\n return new Promise(function (resolve, reject) {\r\n if (!typeScriptWorker) {\r\n return reject(\"TypeScript not registered!\");\r\n }\r\n resolve(typeScriptWorker);\r\n });\r\n}\r\nfunction setupMode(defaults, modeId) {\r\n var client = new WorkerManager(modeId, defaults);\r\n var worker = function () {\r\n var uris = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n uris[_i] = arguments[_i];\r\n }\r\n return client.getLanguageServiceWorker.apply(client, uris);\r\n };\r\n monaco.languages.registerCompletionItemProvider(modeId, new languageFeatures.SuggestAdapter(worker));\r\n monaco.languages.registerSignatureHelpProvider(modeId, new languageFeatures.SignatureHelpAdapter(worker));\r\n monaco.languages.registerHoverProvider(modeId, new languageFeatures.QuickInfoAdapter(worker));\r\n monaco.languages.registerDocumentHighlightProvider(modeId, new languageFeatures.OccurrencesAdapter(worker));\r\n monaco.languages.registerDefinitionProvider(modeId, new languageFeatures.DefinitionAdapter(worker));\r\n monaco.languages.registerReferenceProvider(modeId, new languageFeatures.ReferenceAdapter(worker));\r\n monaco.languages.registerDocumentSymbolProvider(modeId, new languageFeatures.OutlineAdapter(worker));\r\n monaco.languages.registerDocumentRangeFormattingEditProvider(modeId, new languageFeatures.FormatAdapter(worker));\r\n monaco.languages.registerOnTypeFormattingEditProvider(modeId, new languageFeatures.FormatOnTypeAdapter(worker));\r\n monaco.languages.registerCodeActionProvider(modeId, new languageFeatures.CodeActionAdaptor(worker));\r\n monaco.languages.registerRenameProvider(modeId, new languageFeatures.RenameAdapter(worker));\r\n new languageFeatures.DiagnosticsAdapter(defaults, modeId, worker);\r\n return worker;\r\n}\r\n"],"sourceRoot":""}