mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2025-12-01 06:52:09 +08:00
3 lines
22 KiB
JavaScript
3 lines
22 KiB
JavaScript
System.register(["./index-legacy-CQ6kWDjl.js"],function(e,t){"use strict";var i,s,r,n,o,a,l,c;return{setters:[e=>{i=e.bL,s=e.bN,r=e.bP,n=e.bR,o=e.bQ,a=e.bM,l=e.bS,c=e.bO}],execute:function(){e({flattenDiagnosticMessageText:p,getJavaScriptWorker:function(){return new Promise((e,t)=>{if(!D)return t("JavaScript not registered!");e(D)})},getTypeScriptWorker:function(){return new Promise((e,t)=>{if(!A)return t("TypeScript not registered!");e(A)})},setupJavaScript:function(e){D=K(e,"javascript")},setupTypeScript:function(e){A=K(e,"typescript")}});class d{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;const e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||(this._client=(async()=>(this._worker=i({moduleId:"vs/language/typescript/tsWorker",createWorker:()=>new Worker(new URL("/tmagic-editor/playground/assets/ts.worker-BzaIlkf9.js",t.meta.url),{type:"module"}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(s.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))()),this._client}async getLanguageServiceWorker(...e){const t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}}e("WorkerManager",d);const u={};function p(e,t,i=0){if("string"==typeof e)return e;if(void 0===e)return"";let s="";if(i){s+=t;for(let e=0;e<i;e++)s+=" "}if(s+=e.messageText,i++,e.next)for(const r of e.next)s+=p(r,t,i);return s}function g(e){return e?e.map(e=>e.text).join(""):""}u["lib.d.ts"]=!0,u["lib.decorators.d.ts"]=!0,u["lib.decorators.legacy.d.ts"]=!0,u["lib.dom.asynciterable.d.ts"]=!0,u["lib.dom.d.ts"]=!0,u["lib.dom.iterable.d.ts"]=!0,u["lib.es2015.collection.d.ts"]=!0,u["lib.es2015.core.d.ts"]=!0,u["lib.es2015.d.ts"]=!0,u["lib.es2015.generator.d.ts"]=!0,u["lib.es2015.iterable.d.ts"]=!0,u["lib.es2015.promise.d.ts"]=!0,u["lib.es2015.proxy.d.ts"]=!0,u["lib.es2015.reflect.d.ts"]=!0,u["lib.es2015.symbol.d.ts"]=!0,u["lib.es2015.symbol.wellknown.d.ts"]=!0,u["lib.es2016.array.include.d.ts"]=!0,u["lib.es2016.d.ts"]=!0,u["lib.es2016.full.d.ts"]=!0,u["lib.es2016.intl.d.ts"]=!0,u["lib.es2017.arraybuffer.d.ts"]=!0,u["lib.es2017.d.ts"]=!0,u["lib.es2017.date.d.ts"]=!0,u["lib.es2017.full.d.ts"]=!0,u["lib.es2017.intl.d.ts"]=!0,u["lib.es2017.object.d.ts"]=!0,u["lib.es2017.sharedmemory.d.ts"]=!0,u["lib.es2017.string.d.ts"]=!0,u["lib.es2017.typedarrays.d.ts"]=!0,u["lib.es2018.asyncgenerator.d.ts"]=!0,u["lib.es2018.asynciterable.d.ts"]=!0,u["lib.es2018.d.ts"]=!0,u["lib.es2018.full.d.ts"]=!0,u["lib.es2018.intl.d.ts"]=!0,u["lib.es2018.promise.d.ts"]=!0,u["lib.es2018.regexp.d.ts"]=!0,u["lib.es2019.array.d.ts"]=!0,u["lib.es2019.d.ts"]=!0,u["lib.es2019.full.d.ts"]=!0,u["lib.es2019.intl.d.ts"]=!0,u["lib.es2019.object.d.ts"]=!0,u["lib.es2019.string.d.ts"]=!0,u["lib.es2019.symbol.d.ts"]=!0,u["lib.es2020.bigint.d.ts"]=!0,u["lib.es2020.d.ts"]=!0,u["lib.es2020.date.d.ts"]=!0,u["lib.es2020.full.d.ts"]=!0,u["lib.es2020.intl.d.ts"]=!0,u["lib.es2020.number.d.ts"]=!0,u["lib.es2020.promise.d.ts"]=!0,u["lib.es2020.sharedmemory.d.ts"]=!0,u["lib.es2020.string.d.ts"]=!0,u["lib.es2020.symbol.wellknown.d.ts"]=!0,u["lib.es2021.d.ts"]=!0,u["lib.es2021.full.d.ts"]=!0,u["lib.es2021.intl.d.ts"]=!0,u["lib.es2021.promise.d.ts"]=!0,u["lib.es2021.string.d.ts"]=!0,u["lib.es2021.weakref.d.ts"]=!0,u["lib.es2022.array.d.ts"]=!0,u["lib.es2022.d.ts"]=!0,u["lib.es2022.error.d.ts"]=!0,u["lib.es2022.full.d.ts"]=!0,u["lib.es2022.intl.d.ts"]=!0,u["lib.es2022.object.d.ts"]=!0,u["lib.es2022.regexp.d.ts"]=!0,u["lib.es2022.string.d.ts"]=!0,u["lib.es2023.array.d.ts"]=!0,u["lib.es2023.collection.d.ts"]=!0,u["lib.es2023.d.ts"]=!0,u["lib.es2023.full.d.ts"]=!0,u["lib.es2023.intl.d.ts"]=!0,u["lib.es2024.arraybuffer.d.ts"]=!0,u["lib.es2024.collection.d.ts"]=!0,u["lib.es2024.d.ts"]=!0,u["lib.es2024.full.d.ts"]=!0,u["lib.es2024.object.d.ts"]=!0,u["lib.es2024.promise.d.ts"]=!0,u["lib.es2024.regexp.d.ts"]=!0,u["lib.es2024.sharedmemory.d.ts"]=!0,u["lib.es2024.string.d.ts"]=!0,u["lib.es5.d.ts"]=!0,u["lib.es6.d.ts"]=!0,u["lib.esnext.array.d.ts"]=!0,u["lib.esnext.collection.d.ts"]=!0,u["lib.esnext.d.ts"]=!0,u["lib.esnext.decorators.d.ts"]=!0,u["lib.esnext.disposable.d.ts"]=!0,u["lib.esnext.error.d.ts"]=!0,u["lib.esnext.float16.d.ts"]=!0,u["lib.esnext.full.d.ts"]=!0,u["lib.esnext.intl.d.ts"]=!0,u["lib.esnext.iterator.d.ts"]=!0,u["lib.esnext.promise.d.ts"]=!0,u["lib.esnext.sharedmemory.d.ts"]=!0,u["lib.scripthost.d.ts"]=!0,u["lib.webworker.asynciterable.d.ts"]=!0,u["lib.webworker.d.ts"]=!0,u["lib.webworker.importscripts.d.ts"]=!0,u["lib.webworker.iterable.d.ts"]=!0;class m{constructor(e){this._worker=e}_textSpanToRange(e,t){let i=e.getPositionAt(t.start),s=e.getPositionAt(t.start+t.length),{lineNumber:r,column:n}=i,{lineNumber:o,column:a}=s;return{startLineNumber:r,startColumn:n,endLineNumber:o,endColumn:a}}}e("Adapter",m);class b{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return!!e&&0===e.path.indexOf("/lib.")&&!!u[e.path.slice(1)]}getOrCreateModel(e){const t=r.parse(e),i=s.getModel(t);if(i)return i;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return s.createModel(this._libFiles[t.path.slice(1)],"typescript",t);const n=l.getExtraLibs()[e];return n?s.createModel(n.content,"typescript",t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e})),this._fetchLibFilesPromise}}e("LibFiles",b);class h extends m{constructor(e,t,i,r){super(r),this._libFiles=e,this._defaults=t,this._selector=i,this._disposables=[],this._listener=Object.create(null);const n=e=>{if(e.getLanguageId()!==i)return;const t=()=>{const{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)};let r;const n=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),o=e.onDidChangeAttached(()=>{const{onlyVisible:i}=this._defaults.getDiagnosticsOptions();i&&(e.isAttachedToEditor()?t():s.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){n.dispose(),o.dispose(),clearTimeout(r)}},t()},o=e=>{s.setModelMarkers(e,this._selector,[]);const t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(s.onDidCreateModel(e=>n(e))),this._disposables.push(s.onWillDisposeModel(o)),this._disposables.push(s.onDidChangeModelLanguage(e=>{o(e.model),n(e.model)})),this._disposables.push({dispose(){for(const e of s.getModels())o(e)}});const a=()=>{for(const e of s.getModels())o(e),n(e)};this._disposables.push(this._defaults.onDidChange(a)),this._disposables.push(this._defaults.onDidExtraLibsChange(a)),s.getModels().forEach(e=>n(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){const t=await this._worker(e.uri);if(e.isDisposed())return;const i=[],{noSyntaxValidation:n,noSemanticValidation:o,noSuggestionDiagnostics:a}=this._defaults.getDiagnosticsOptions();n||i.push(t.getSyntacticDiagnostics(e.uri.toString())),o||i.push(t.getSemanticDiagnostics(e.uri.toString())),a||i.push(t.getSuggestionDiagnostics(e.uri.toString()));const l=await Promise.all(i);if(!l||e.isDisposed())return;const c=l.reduce((e,t)=>t.concat(e),[]).filter(e=>-1===(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)),d=c.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?r.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(d),e.isDisposed()||s.setModelMarkers(e,this._selector,c.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){const i=t.start||0,s=t.length||1,{lineNumber:r,column:o}=e.getPositionAt(i),{lineNumber:a,column:l}=e.getPositionAt(i+s),c=[];return t.reportsUnnecessary&&c.push(n.Unnecessary),t.reportsDeprecated&&c.push(n.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:r,startColumn:o,endLineNumber:a,endColumn:l,message:p(t.messageText,"\n"),code:t.code.toString(),tags:c,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];const i=[];return t.forEach(t=>{let s=e;if(t.file&&(s=this._libFiles.getOrCreateModel(t.file.fileName)),!s)return;const r=t.start||0,n=t.length||1,{lineNumber:o,column:a}=s.getPositionAt(r),{lineNumber:l,column:c}=s.getPositionAt(r+n);i.push({resource:s.uri,startLineNumber:o,startColumn:a,endLineNumber:l,endColumn:c,message:p(t.messageText,"\n")})}),i}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return o.Error;case 3:return o.Info;case 0:return o.Warning;case 2:return o.Hint}return o.Info}}e("DiagnosticsAdapter",h);class f extends m{get triggerCharacters(){return["."]}async provideCompletionItems(e,t,i,s){const r=e.getWordUntilPosition(t),n=new c(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn),o=e.uri,l=e.getOffsetAt(t),d=await this._worker(o);if(e.isDisposed())return;const u=await d.getCompletionsAtPosition(o.toString(),l);return u&&!e.isDisposed()?{suggestions:u.entries.map(i=>{let s=n;if(i.replacementSpan){const t=e.getPositionAt(i.replacementSpan.start),r=e.getPositionAt(i.replacementSpan.start+i.replacementSpan.length);s=new c(t.lineNumber,t.column,r.lineNumber,r.column)}const r=[];return void 0!==i.kindModifiers&&-1!==i.kindModifiers.indexOf("deprecated")&&r.push(a.CompletionItemTag.Deprecated),{uri:o,position:t,offset:l,range:s,label:i.name,insertText:i.name,sortText:i.sortText,kind:f.convertKind(i.kind),tags:r}})}:void 0}async resolveCompletionItem(e,t){const i=e,s=i.uri,r=i.position,n=i.offset,o=await this._worker(s),a=await o.getCompletionEntryDetails(s.toString(),n,i.label);return a?{uri:s,position:r,label:a.name,kind:f.convertKind(a.kind),detail:g(a.displayParts),documentation:{value:f.createDocumentationString(a)}}:i}static convertKind(e){switch(e){case C.primitiveType:case C.keyword:return a.CompletionItemKind.Keyword;case C.variable:case C.localVariable:return a.CompletionItemKind.Variable;case C.memberVariable:case C.memberGetAccessor:case C.memberSetAccessor:return a.CompletionItemKind.Field;case C.function:case C.memberFunction:case C.constructSignature:case C.callSignature:case C.indexSignature:return a.CompletionItemKind.Function;case C.enum:return a.CompletionItemKind.Enum;case C.module:return a.CompletionItemKind.Module;case C.class:return a.CompletionItemKind.Class;case C.interface:return a.CompletionItemKind.Interface;case C.warning:return a.CompletionItemKind.File}return a.CompletionItemKind.Property}static createDocumentationString(e){let t=g(e.documentation);if(e.tags)for(const i of e.tags)t+=`\n\n${y(i)}`;return t}}function y(e){let t=`*@${e.name}*`;if("param"===e.name&&e.text){const[i,...s]=e.text;t+=`\`${i.text}\``,s.length>0&&(t+=` — ${s.map(e=>e.text).join(" ")}`)}else Array.isArray(e.text)?t+=` — ${e.text.map(e=>e.text).join(" ")}`:e.text&&(t+=` — ${e.text}`);return t}e("SuggestAdapter",f);class _ extends m{constructor(){super(...arguments),this.signatureHelpTriggerCharacters=["(",","]}static _toSignatureHelpTriggerReason(e){switch(e.triggerKind){case a.SignatureHelpTriggerKind.TriggerCharacter:return e.triggerCharacter?e.isRetrigger?{kind:"retrigger",triggerCharacter:e.triggerCharacter}:{kind:"characterTyped",triggerCharacter:e.triggerCharacter}:{kind:"invoked"};case a.SignatureHelpTriggerKind.ContentChange:return e.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};case a.SignatureHelpTriggerKind.Invoke:default:return{kind:"invoked"}}}async provideSignatureHelp(e,t,i,s){const r=e.uri,n=e.getOffsetAt(t),o=await this._worker(r);if(e.isDisposed())return;const a=await o.getSignatureHelpItems(r.toString(),n,{triggerReason:_._toSignatureHelpTriggerReason(s)});if(!a||e.isDisposed())return;const l={activeSignature:a.selectedItemIndex,activeParameter:a.argumentIndex,signatures:[]};return a.items.forEach(e=>{const t={label:"",parameters:[]};t.documentation={value:g(e.documentation)},t.label+=g(e.prefixDisplayParts),e.parameters.forEach((i,s,r)=>{const n=g(i.displayParts),o={label:n,documentation:{value:g(i.documentation)}};t.label+=n,t.parameters.push(o),s<r.length-1&&(t.label+=g(e.separatorDisplayParts))}),t.label+=g(e.suffixDisplayParts),l.signatures.push(t)}),{value:l,dispose(){}}}}e("SignatureHelpAdapter",_);class w extends m{async provideHover(e,t,i){const s=e.uri,r=e.getOffsetAt(t),n=await this._worker(s);if(e.isDisposed())return;const o=await n.getQuickInfoAtPosition(s.toString(),r);if(!o||e.isDisposed())return;const a=g(o.documentation),l=o.tags?o.tags.map(e=>y(e)).join(" \n\n"):"",c=g(o.displayParts);return{range:this._textSpanToRange(e,o.textSpan),contents:[{value:"```typescript\n"+c+"\n```\n"},{value:a+(l?"\n\n"+l:"")}]}}}e("QuickInfoAdapter",w);class S extends m{async provideDocumentHighlights(e,t,i){const s=e.uri,r=e.getOffsetAt(t),n=await this._worker(s);if(e.isDisposed())return;const o=await n.getDocumentHighlights(s.toString(),r,[s.toString()]);return o&&!e.isDisposed()?o.flatMap(t=>t.highlightSpans.map(t=>({range:this._textSpanToRange(e,t.textSpan),kind:"writtenReference"===t.kind?a.DocumentHighlightKind.Write:a.DocumentHighlightKind.Text}))):void 0}}e("DocumentHighlightAdapter",S);class x extends m{constructor(e,t){super(t),this._libFiles=e}async provideDefinition(e,t,i){const s=e.uri,n=e.getOffsetAt(t),o=await this._worker(s);if(e.isDisposed())return;const a=await o.getDefinitionAtPosition(s.toString(),n);if(!a||e.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(a.map(e=>r.parse(e.fileName))),e.isDisposed())return;const l=[];for(let r of a){const e=this._libFiles.getOrCreateModel(r.fileName);e&&l.push({uri:e.uri,range:this._textSpanToRange(e,r.textSpan)})}return l}}e("DefinitionAdapter",x);class k extends m{constructor(e,t){super(t),this._libFiles=e}async provideReferences(e,t,i,s){const n=e.uri,o=e.getOffsetAt(t),a=await this._worker(n);if(e.isDisposed())return;const l=await a.getReferencesAtPosition(n.toString(),o);if(!l||e.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(l.map(e=>r.parse(e.fileName))),e.isDisposed())return;const c=[];for(let r of l){const e=this._libFiles.getOrCreateModel(r.fileName);e&&c.push({uri:e.uri,range:this._textSpanToRange(e,r.textSpan)})}return c}}e("ReferenceAdapter",k);class v extends m{async provideDocumentSymbols(e,t){const i=e.uri,s=await this._worker(i);if(e.isDisposed())return;const r=await s.getNavigationTree(i.toString());if(!r||e.isDisposed())return;const n=(t,i)=>({name:t.text,detail:"",kind:F[t.kind]||a.SymbolKind.Variable,range:this._textSpanToRange(e,t.spans[0]),selectionRange:this._textSpanToRange(e,t.spans[0]),tags:[],children:t.childItems?.map(e=>n(e,t.text)),containerName:i});return r.childItems?r.childItems.map(e=>n(e)):[]}}e("OutlineAdapter",v);class C{}e("Kind",C),C.unknown="",C.keyword="keyword",C.script="script",C.module="module",C.class="class",C.interface="interface",C.type="type",C.enum="enum",C.variable="var",C.localVariable="local var",C.function="function",C.localFunction="local function",C.memberFunction="method",C.memberGetAccessor="getter",C.memberSetAccessor="setter",C.memberVariable="property",C.constructorImplementation="constructor",C.callSignature="call",C.indexSignature="index",C.constructSignature="construct",C.parameter="parameter",C.typeParameter="type parameter",C.primitiveType="primitive type",C.label="label",C.alias="alias",C.const="const",C.let="let",C.warning="warning";let D,A,F=Object.create(null);F[C.module]=a.SymbolKind.Module,F[C.class]=a.SymbolKind.Class,F[C.enum]=a.SymbolKind.Enum,F[C.interface]=a.SymbolKind.Interface,F[C.memberFunction]=a.SymbolKind.Method,F[C.memberVariable]=a.SymbolKind.Property,F[C.memberGetAccessor]=a.SymbolKind.Property,F[C.memberSetAccessor]=a.SymbolKind.Property,F[C.variable]=a.SymbolKind.Variable,F[C.const]=a.SymbolKind.Variable,F[C.localVariable]=a.SymbolKind.Variable,F[C.variable]=a.SymbolKind.Variable,F[C.function]=a.SymbolKind.Function,F[C.localFunction]=a.SymbolKind.Function;class I extends m{static _convertOptions(e){return{ConvertTabsToSpaces:e.insertSpaces,TabSize:e.tabSize,IndentSize:e.tabSize,IndentStyle:2,NewLineCharacter:"\n",InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(e,t){return{text:t.newText,range:this._textSpanToRange(e,t.span)}}}e("FormatHelper",I);class T extends I{constructor(){super(...arguments),this.canFormatMultipleRanges=!1}async provideDocumentRangeFormattingEdits(e,t,i,s){const r=e.uri,n=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),a=await this._worker(r);if(e.isDisposed())return;const l=await a.getFormattingEditsForRange(r.toString(),n,o,I._convertOptions(i));return l&&!e.isDisposed()?l.map(t=>this._convertTextChanges(e,t)):void 0}}e("FormatAdapter",T);class L extends I{get autoFormatTriggerCharacters(){return[";","}","\n"]}async provideOnTypeFormattingEdits(e,t,i,s,r){const n=e.uri,o=e.getOffsetAt(t),a=await this._worker(n);if(e.isDisposed())return;const l=await a.getFormattingEditsAfterKeystroke(n.toString(),o,i,I._convertOptions(s));return l&&!e.isDisposed()?l.map(t=>this._convertTextChanges(e,t)):void 0}}e("FormatOnTypeAdapter",L);class P extends I{async provideCodeActions(e,t,i,s){const r=e.uri,n=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),a=I._convertOptions(e.getOptions()),l=i.markers.filter(e=>e.code).map(e=>e.code).map(Number),c=await this._worker(r);if(e.isDisposed())return;const d=await c.getCodeFixesAtPosition(r.toString(),n,o,l,a);return!d||e.isDisposed()?{actions:[],dispose:()=>{}}:{actions:d.filter(e=>0===e.changes.filter(e=>e.isNewFile).length).map(t=>this._tsCodeFixActionToMonacoCodeAction(e,i,t)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(e,t,i){const s=[];for(const r of i.changes)for(const t of r.textChanges)s.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,t.span),text:t.newText}});return{title:i.description,edit:{edits:s},diagnostics:t.markers,kind:"quickfix"}}}e("CodeActionAdaptor",P);class O extends m{constructor(e,t){super(t),this._libFiles=e}async provideRenameEdits(e,t,i,s){const r=e.uri,n=r.toString(),o=e.getOffsetAt(t),a=await this._worker(r);if(e.isDisposed())return;const l=await a.getRenameInfo(n,o,{allowRenameOfImportPath:!1});if(!1===l.canRename)return{edits:[],rejectReason:l.localizedErrorMessage};if(void 0!==l.fileToRename)throw new Error("Renaming files is not supported.");const c=await a.findRenameLocations(n,o,!1,!1,!1);if(!c||e.isDisposed())return;const d=[];for(const u of c){const e=this._libFiles.getOrCreateModel(u.fileName);if(!e)throw new Error(`Unknown file ${u.fileName}.`);d.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,u.textSpan),text:i}})}return{edits:d}}}e("RenameAdapter",O);class N extends m{async provideInlayHints(e,t,i){const s=e.uri,r=s.toString(),n=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),a=await this._worker(s);return e.isDisposed()?null:{hints:(await a.provideInlayHints(r,n,o)).map(t=>({...t,label:t.text,position:e.getPositionAt(t.position),kind:this._convertHintKind(t.kind)})),dispose:()=>{}}}_convertHintKind(e){return"Parameter"===e?a.InlayHintKind.Parameter:a.InlayHintKind.Type}}function K(e,t){const i=[],s=new d(t,e),r=(...e)=>s.getLanguageServiceWorker(...e),n=new b(r);return function(){const{modeConfiguration:s}=e;!function(e){for(;e.length;)e.pop().dispose()}(i),s.completionItems&&i.push(a.registerCompletionItemProvider(t,new f(r))),s.signatureHelp&&i.push(a.registerSignatureHelpProvider(t,new _(r))),s.hovers&&i.push(a.registerHoverProvider(t,new w(r))),s.documentHighlights&&i.push(a.registerDocumentHighlightProvider(t,new S(r))),s.definitions&&i.push(a.registerDefinitionProvider(t,new x(n,r))),s.references&&i.push(a.registerReferenceProvider(t,new k(n,r))),s.documentSymbols&&i.push(a.registerDocumentSymbolProvider(t,new v(r))),s.rename&&i.push(a.registerRenameProvider(t,new O(n,r))),s.documentRangeFormattingEdits&&i.push(a.registerDocumentRangeFormattingEditProvider(t,new T(r))),s.onTypeFormattingEdits&&i.push(a.registerOnTypeFormattingEditProvider(t,new L(r))),s.codeActions&&i.push(a.registerCodeActionProvider(t,new P(r))),s.inlayHints&&i.push(a.registerInlayHintsProvider(t,new N(r))),s.diagnostics&&i.push(new h(n,e,t,r))}(),r}e("InlayHintsAdapter",N)}}});
|
|
//# sourceMappingURL=tsMode-legacy-C6avS2MI.js.map
|