From 65b1db596179b3f90d998e1886d39af38483fd8b Mon Sep 17 00:00:00 2001 From: kowalp Date: Thu, 3 Nov 2022 19:14:51 -0400 Subject: [PATCH] Rebuilt for v0.0.10 --- out/extension.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/out/extension.js b/out/extension.js index cd0ca08..57128a1 100644 --- a/out/extension.js +++ b/out/extension.js @@ -36,5 +36,5 @@ ${JSON.stringify(ae,void 0,4)}`);else u.changes&&Object.keys(u.changes).forEach( `+t.data.toString():""}`}return e instanceof Error?ce.string(e.stack)?e.stack:e.message:ce.string(e)?e:e.toString()}info(e,t,r=!0){this.outputChannel.appendLine(`[Info - ${new Date().toLocaleTimeString()}] ${e}`),t&&this.outputChannel.appendLine(this.data2String(t)),r&&this._clientOptions.revealOutputChannelOn<=Er.Info&&this.showNotificationMessage()}warn(e,t,r=!0){this.outputChannel.appendLine(`[Warn - ${new Date().toLocaleTimeString()}] ${e}`),t&&this.outputChannel.appendLine(this.data2String(t)),r&&this._clientOptions.revealOutputChannelOn<=Er.Warn&&this.showNotificationMessage()}error(e,t,r=!0){this.outputChannel.appendLine(`[Error - ${new Date().toLocaleTimeString()}] ${e}`),t&&this.outputChannel.appendLine(this.data2String(t)),r&&this._clientOptions.revealOutputChannelOn<=Er.Error&&this.showNotificationMessage()}showNotificationMessage(){L.window.showInformationMessage("A request has failed. See the output for more information.","Go to output").then(()=>{this.outputChannel.show(!0)})}logTrace(e,t){this.traceOutputChannel.appendLine(`[Trace - ${new Date().toLocaleTimeString()}] ${e}`),t&&this.traceOutputChannel.appendLine(this.data2String(t))}logObjectTrace(e){e.isLSPMessage&&e.type?this.traceOutputChannel.append(`[LSP - ${new Date().toLocaleTimeString()}] `):this.traceOutputChannel.append(`[Trace - ${new Date().toLocaleTimeString()}] `),e&&this.traceOutputChannel.appendLine(`${JSON.stringify(e)}`)}needsStart(){return this.state===pe.Initial||this.state===pe.Stopping||this.state===pe.Stopped}needsStop(){return this.state===pe.Starting||this.state===pe.Running}onReady(){return this._onReady}isConnectionActive(){return this.state===pe.Running&&!!this._resolvedConnection}start(){return this._onReadyCallbacks.isUsed&&(this._onReady=new Promise((e,t)=>{this._onReadyCallbacks=new Si(e,t)})),this._listeners=[],this._providers=[],this._diagnostics||(this._diagnostics=this._clientOptions.diagnosticCollectionName?L.languages.createDiagnosticCollection(this._clientOptions.diagnosticCollectionName):L.languages.createDiagnosticCollection()),this.state=pe.Starting,this.resolveConnection().then(e=>(e.onLogMessage(t=>{switch(t.type){case v.MessageType.Error:this.error(t.message,void 0,!1);break;case v.MessageType.Warning:this.warn(t.message,void 0,!1);break;case v.MessageType.Info:this.info(t.message,void 0,!1);break;default:this.outputChannel.appendLine(t.message)}}),e.onShowMessage(t=>{switch(t.type){case v.MessageType.Error:L.window.showErrorMessage(t.message);break;case v.MessageType.Warning:L.window.showWarningMessage(t.message);break;case v.MessageType.Info:L.window.showInformationMessage(t.message);break;default:L.window.showInformationMessage(t.message)}}),e.onRequest(v.ShowMessageRequest.type,t=>{let r;switch(t.type){case v.MessageType.Error:r=L.window.showErrorMessage;break;case v.MessageType.Warning:r=L.window.showWarningMessage;break;case v.MessageType.Info:r=L.window.showInformationMessage;break;default:r=L.window.showInformationMessage}let i=t.actions||[];return r(t.message,...i)}),e.onTelemetry(t=>{this._telemetryEmitter.fire(t)}),e.onRequest(v.ShowDocumentRequest.type,async t=>{var r;let i=async c=>{let f=this.protocol2CodeConverter.asUri(c.uri);try{if(c.external===!0)return{success:await L.env.openExternal(f)};{let d={};return c.selection!==void 0&&(d.selection=this.protocol2CodeConverter.asRange(c.selection)),c.takeFocus===void 0||c.takeFocus===!1?d.preserveFocus=!0:c.takeFocus===!0&&(d.preserveFocus=!1),await L.window.showTextDocument(f,d),{success:!0}}}catch{return{success:!0}}},s=(r=this._clientOptions.middleware.window)===null||r===void 0?void 0:r.showDocument;return s!==void 0?s(t,i):i(t)}),e.listen(),this.initialize(e))).then(void 0,e=>{this.state=pe.StartFailed,this._onReadyCallbacks.reject(e),this.error("Starting client failed",e),L.window.showErrorMessage(`Couldn't start client ${this._name}`)}),new L.Disposable(()=>{this.needsStop()&&this.stop()})}resolveConnection(){return this._connectionPromise||(this._connectionPromise=this.createConnection()),this._connectionPromise}initialize(e){this.refreshTrace(e,!1);let t=this._clientOptions.initializationOptions,r=this._clientOptions.workspaceFolder?this._clientOptions.workspaceFolder.uri.fsPath:this._clientGetRootPath(),i={processId:null,clientInfo:{name:L.env.appName,version:L.version},locale:this.getLocale(),rootPath:r||null,rootUri:r?this._c2p.asUri(L.Uri.file(r)):null,capabilities:this.computeClientCapabilities(),initializationOptions:ce.func(t)?t():t,trace:v.Trace.toString(this._trace),workspaceFolders:null};if(this.fillInitializeParams(i),this._clientOptions.progressOnInitialization){let s=ue.generateUuid(),c=new Oy.ProgressPart(e,s);return i.workDoneToken=s,this.doInitialize(e,i).then(f=>(c.done(),f),f=>{throw c.cancel(),f})}else return this.doInitialize(e,i)}doInitialize(e,t){return e.initialize(t).then(r=>{this._resolvedConnection=e,this._initializeResult=r,this.state=pe.Running;let i;return ce.number(r.capabilities.textDocumentSync)?r.capabilities.textDocumentSync===v.TextDocumentSyncKind.None?i={openClose:!1,change:v.TextDocumentSyncKind.None,save:void 0}:i={openClose:!0,change:r.capabilities.textDocumentSync,save:{includeText:!1}}:r.capabilities.textDocumentSync!==void 0&&r.capabilities.textDocumentSync!==null&&(i=r.capabilities.textDocumentSync),this._capabilities=Object.assign({},r.capabilities,{resolvedTextDocumentSync:i}),e.onDiagnostics(s=>this.handleDiagnostics(s)),e.onRequest(v.RegistrationRequest.type,s=>this.handleRegistrationRequest(s)),e.onRequest("client/registerFeature",s=>this.handleRegistrationRequest(s)),e.onRequest(v.UnregistrationRequest.type,s=>this.handleUnregistrationRequest(s)),e.onRequest("client/unregisterFeature",s=>this.handleUnregistrationRequest(s)),e.onRequest(v.ApplyWorkspaceEditRequest.type,s=>this.handleApplyWorkspaceEdit(s)),e.sendNotification(v.InitializedNotification.type,{}),this.hookFileEvents(e),this.hookConfigurationChanged(e),this.initializeFeatures(e),this._onReadyCallbacks.resolve(),r}).then(void 0,r=>{throw this._clientOptions.initializationFailedHandler?this._clientOptions.initializationFailedHandler(r)?this.initialize(e):(this.stop(),this._onReadyCallbacks.reject(r)):r instanceof v.ResponseError&&r.data&&r.data.retry?L.window.showErrorMessage(r.message,{title:"Retry",id:"retry"}).then(i=>{i&&i.id==="retry"?this.initialize(e):(this.stop(),this._onReadyCallbacks.reject(r))}):(r&&r.message&&L.window.showErrorMessage(r.message),this.error("Server initialization failed.",r),this.stop(),this._onReadyCallbacks.reject(r)),r})}_clientGetRootPath(){let e=L.workspace.workspaceFolders;if(!e||e.length===0)return;let t=e[0];if(t.uri.scheme==="file")return t.uri.fsPath}stop(){return this._initializeResult=void 0,this._connectionPromise?this.state===pe.Stopping&&this._onStop?this._onStop:(this.state=pe.Stopping,this.cleanUp(!1),this._onStop=this.resolveConnection().then(e=>e.shutdown().then(()=>{e.exit(),e.end(),e.dispose(),this.state=pe.Stopped,this.cleanUpChannel(),this._onStop=void 0,this._connectionPromise=void 0,this._resolvedConnection=void 0}))):(this.state=pe.Stopped,Promise.resolve())}cleanUp(e=!0,t=!0){this._listeners&&(this._listeners.forEach(r=>r.dispose()),this._listeners=void 0),this._providers&&(this._providers.forEach(r=>r.dispose()),this._providers=void 0),this._syncedDocuments&&this._syncedDocuments.clear();for(let r of this._features.values())r.dispose();e&&this.cleanUpChannel(),t&&this._diagnostics&&(this._diagnostics.dispose(),this._diagnostics=void 0)}cleanUpChannel(){this._outputChannel&&this._disposeOutputChannel&&(this._outputChannel.dispose(),this._outputChannel=void 0)}notifyFileEvent(e){var t;let r=this;function i(c){r._fileEvents.push(c),r._fileEventDelayer.trigger(()=>{r.onReady().then(()=>{r.resolveConnection().then(f=>{r.isConnectionActive()&&(r.forceDocumentSync(),f.didChangeWatchedFiles({changes:r._fileEvents})),r._fileEvents=[]})},f=>{r.error("Notify file events failed.",f)})})}let s=(t=this.clientOptions.middleware)===null||t===void 0?void 0:t.workspace;s?.didChangeWatchedFile?s.didChangeWatchedFile(e,i):i(e)}forceDocumentSync(){this._didChangeTextDocumentFeature===void 0&&(this._didChangeTextDocumentFeature=this._dynamicFeatures.get(v.DidChangeTextDocumentNotification.type.method)),this._didChangeTextDocumentFeature.forceDelivery()}handleDiagnostics(e){if(!this._diagnostics)return;let t=this._p2c.asUri(e.uri),r=this._p2c.asDiagnostics(e.diagnostics),i=this.clientOptions.middleware;i.handleDiagnostics?i.handleDiagnostics(t,r,(s,c)=>this.setDiagnostics(s,c)):this.setDiagnostics(t,r)}setDiagnostics(e,t){!this._diagnostics||this._diagnostics.set(e,t)}createConnection(){let e=(r,i,s)=>{this.handleConnectionError(r,i,s)},t=()=>{this.handleConnectionClosed()};return this.createMessageTransports(this._clientOptions.stdioEncoding||"utf8").then(r=>xy(r.reader,r.writer,e,t,this._clientOptions.connectionOptions))}handleConnectionClosed(){if(this.state===pe.Stopping||this.state===pe.Stopped)return;try{this._resolvedConnection&&this._resolvedConnection.dispose()}catch{}let e=On.DoNotRestart;try{e=this._clientOptions.errorHandler.closed()}catch{}this._connectionPromise=void 0,this._resolvedConnection=void 0,e===On.DoNotRestart?(this.error("Connection to server got closed. Server will not be restarted."),this.state===pe.Starting?(this._onReadyCallbacks.reject(new Error("Connection to server got closed. Server will not be restarted.")),this.state=pe.StartFailed):this.state=pe.Stopped,this.cleanUp(!1,!0)):e===On.Restart&&(this.info("Connection to server got closed. Server will restart."),this.cleanUp(!1,!1),this.state=pe.Initial,this.start())}handleConnectionError(e,t,r){this._clientOptions.errorHandler.error(e,t,r)===Ti.Shutdown&&(this.error("Connection to server is erroring. Shutting down server."),this.stop())}hookConfigurationChanged(e){L.workspace.onDidChangeConfiguration(()=>{this.refreshTrace(e,!0)})}refreshTrace(e,t=!1){let r=L.workspace.getConfiguration(this._id),i=v.Trace.Off,s=v.TraceFormat.Text;if(r){let c=r.get("trace.server","off");typeof c=="string"?i=v.Trace.fromString(c):(i=v.Trace.fromString(r.get("trace.server.verbosity","off")),s=v.TraceFormat.fromString(r.get("trace.server.format","text")))}this._trace=i,this._traceFormat=s,e.trace(this._trace,this._tracer,{sendNotification:t,traceFormat:this._traceFormat})}hookFileEvents(e){let t=this._clientOptions.synchronize.fileEvents;if(!t)return;let r;ce.array(t)?r=t:r=[t],r&&this._dynamicFeatures.get(v.DidChangeWatchedFilesNotification.type.method).registerRaw(ue.generateUuid(),r)}registerFeatures(e){for(let t of e)this.registerFeature(t)}registerFeature(e){if(this._features.push(e),zo.is(e)){let t=e.registrationType;this._dynamicFeatures.set(t.method,e)}}getFeature(e){return this._dynamicFeatures.get(e)}registerBuiltinFeatures(){this.registerFeature(new pa(this)),this.registerFeature(new Uo(this,this._syncedDocuments)),this.registerFeature(new Go(this)),this.registerFeature(new Xo(this)),this.registerFeature(new Vo(this)),this.registerFeature(new Jo(this)),this.registerFeature(new Bo(this,this._syncedDocuments)),this.registerFeature(new Qo(this,e=>this.notifyFileEvent(e))),this.registerFeature(new Zo(this)),this.registerFeature(new ea(this)),this.registerFeature(new ta(this)),this.registerFeature(new na(this)),this.registerFeature(new ra(this)),this.registerFeature(new ia(this)),this.registerFeature(new sa(this)),this.registerFeature(new oa(this)),this.registerFeature(new aa(this)),this.registerFeature(new ca(this)),this.registerFeature(new ua(this)),this.registerFeature(new la(this)),this.registerFeature(new da(this)),this.registerFeature(new fa(this)),this.registerFeature(new ha(this)),this.registerFeature(new ga(this))}fillInitializeParams(e){for(let t of this._features)ce.func(t.fillInitializeParams)&&t.fillInitializeParams(e)}computeClientCapabilities(){let e={};H(e,"workspace").applyEdit=!0;let t=H(H(e,"workspace"),"workspaceEdit");t.documentChanges=!0,t.resourceOperations=[v.ResourceOperationKind.Create,v.ResourceOperationKind.Rename,v.ResourceOperationKind.Delete],t.failureHandling=v.FailureHandlingKind.TextOnlyTransactional,t.normalizesLineEndings=!0,t.changeAnnotationSupport={groupsOnLabel:!0};let r=H(H(e,"textDocument"),"publishDiagnostics");r.relatedInformation=!0,r.versionSupport=!1,r.tagSupport={valueSet:[v.DiagnosticTag.Unnecessary,v.DiagnosticTag.Deprecated]},r.codeDescriptionSupport=!0,r.dataSupport=!0;let i=H(e,"window"),s=H(i,"showMessage");s.messageActionItem={additionalPropertiesSupport:!0};let c=H(i,"showDocument");c.support=!0;let f=H(e,"general");f.regularExpressions={engine:"ECMAScript",version:"ES2020"},f.markdown={parser:"marked",version:"1.1.0"};for(let d of this._features)d.fillClientCapabilities(e);return e}initializeFeatures(e){let t=this._clientOptions.documentSelector;for(let r of this._features)r.initialize(this._capabilities,t)}handleRegistrationRequest(e){return new Promise((t,r)=>{for(let i of e.registrations){let s=this._dynamicFeatures.get(i.method);if(s===void 0){r(new Error(`No feature implementation for ${i.method} found. Registration failed.`));return}let c=i.registerOptions||{};c.documentSelector=c.documentSelector||this._clientOptions.documentSelector;let f={id:i.id,registerOptions:c};try{s.register(f)}catch(d){r(d);return}}t()})}handleUnregistrationRequest(e){return new Promise((t,r)=>{for(let i of e.unregisterations){let s=this._dynamicFeatures.get(i.method);if(!s){r(new Error(`No feature implementation for ${i.method} found. Unregistration failed.`));return}s.unregister(i.id)}t()})}handleApplyWorkspaceEdit(e){let t=e.edit,r=new Map;L.workspace.textDocuments.forEach(s=>r.set(s.uri.toString(),s));let i=!1;if(t.documentChanges){for(let s of t.documentChanges)if(v.TextDocumentEdit.is(s)&&s.textDocument.version&&s.textDocument.version>=0){let c=r.get(s.textDocument.uri);if(c&&c.version!==s.textDocument.version){i=!0;break}}}return i?Promise.resolve({applied:!1}):ce.asPromise(L.workspace.applyEdit(this._p2c.asWorkspaceEdit(e.edit)).then(s=>({applied:s})))}handleFailedRequest(e,t,r){if(t instanceof v.ResponseError){if(t.code===v.LSPErrorCodes.RequestCancelled)throw this.makeCancelError();if(t.code===v.LSPErrorCodes.ContentModified)return r}throw this.error(`Request ${e.method} failed.`,t),t}makeCancelError(){let e=new Error(xn.Canceled);return e.name=xn.Canceled,e}};Te.BaseLanguageClient=xn;xn.Canceled="Canceled"});var qd=D(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.ColorProviderFeature=void 0;var bi=require("vscode"),Or=me(),Ny=st();function Ed(n,e){return n[e]===void 0&&(n[e]={}),n[e]}var ma=class extends Ny.TextDocumentFeature{constructor(e){super(e,Or.DocumentColorRequest.type)}fillClientCapabilities(e){Ed(Ed(e,"textDocument"),"colorProvider").dynamicRegistration=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.colorProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t={provideColorPresentations:(r,i,s)=>{let c=this._client,f=(g,C,w)=>{let T={color:g,textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(C.document),range:c.code2ProtocolConverter.asRange(C.range)};return c.sendRequest(Or.ColorPresentationRequest.type,T,w).then(this.asColorPresentations.bind(this),b=>c.handleFailedRequest(Or.ColorPresentationRequest.type,b,null))},d=c.clientOptions.middleware;return d.provideColorPresentations?d.provideColorPresentations(r,i,s,f):f(r,i,s)},provideDocumentColors:(r,i)=>{let s=this._client,c=(d,g)=>{let C={textDocument:s.code2ProtocolConverter.asTextDocumentIdentifier(d)};return s.sendRequest(Or.DocumentColorRequest.type,C,g).then(this.asColorInformations.bind(this),w=>s.handleFailedRequest(Or.ColorPresentationRequest.type,w,null))},f=s.clientOptions.middleware;return f.provideDocumentColors?f.provideDocumentColors(r,i,c):c(r,i)}};return[bi.languages.registerColorProvider(e.documentSelector,t),t]}asColor(e){return new bi.Color(e.red,e.green,e.blue,e.alpha)}asColorInformations(e){return Array.isArray(e)?e.map(t=>new bi.ColorInformation(this._client.protocol2CodeConverter.asRange(t.range),this.asColor(t.color))):[]}asColorPresentations(e){return Array.isArray(e)?e.map(t=>{let r=new bi.ColorPresentation(t.label);return r.additionalTextEdits=this._client.protocol2CodeConverter.asTextEdits(t.additionalTextEdits),r.textEdit=this._client.protocol2CodeConverter.asTextEdit(t.textEdit),r}):[]}};Pi.ColorProviderFeature=ma});var xd=D(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.ImplementationFeature=void 0;var Iy=require("vscode"),va=me(),Ly=st();function Od(n,e){return n[e]===void 0&&(n[e]={}),n[e]}var ya=class extends Ly.TextDocumentFeature{constructor(e){super(e,va.ImplementationRequest.type)}fillClientCapabilities(e){let t=Od(Od(e,"textDocument"),"implementation");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.implementationProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t={provideImplementation:(r,i,s)=>{let c=this._client,f=(g,C,w)=>c.sendRequest(va.ImplementationRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(g,C),w).then(c.protocol2CodeConverter.asDefinitionResult,T=>c.handleFailedRequest(va.ImplementationRequest.type,T,null)),d=c.clientOptions.middleware;return d.provideImplementation?d.provideImplementation(r,i,s,f):f(r,i,s)}};return[Iy.languages.registerImplementationProvider(e.documentSelector,t),t]}};Di.ImplementationFeature=ya});var kd=D(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.TypeDefinitionFeature=void 0;var Ay=require("vscode"),Ca=me(),My=st();function Ei(n,e){return n[e]===void 0&&(n[e]={}),n[e]}var _a=class extends My.TextDocumentFeature{constructor(e){super(e,Ca.TypeDefinitionRequest.type)}fillClientCapabilities(e){Ei(Ei(e,"textDocument"),"typeDefinition").dynamicRegistration=!0;let t=Ei(Ei(e,"textDocument"),"typeDefinition");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.typeDefinitionProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t={provideTypeDefinition:(r,i,s)=>{let c=this._client,f=(g,C,w)=>c.sendRequest(Ca.TypeDefinitionRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(g,C),w).then(c.protocol2CodeConverter.asDefinitionResult,T=>c.handleFailedRequest(Ca.TypeDefinitionRequest.type,T,null)),d=c.clientOptions.middleware;return d.provideTypeDefinition?d.provideTypeDefinition(r,i,s,f):f(r,i,s)}};return[Ay.languages.registerTypeDefinitionProvider(e.documentSelector,t),t]}};qi.TypeDefinitionFeature=_a});var Fd=D(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.WorkspaceFoldersFeature=Jn.arrayDiff=void 0;var jy=_i(),Oi=require("vscode"),Ra=me();function wa(n,e){if(n!==void 0)return n[e]}function Ta(n,e){return n.filter(t=>e.indexOf(t)<0)}Jn.arrayDiff=Ta;var Sa=class{constructor(e){this._client=e,this._listeners=new Map}get registrationType(){return Ra.DidChangeWorkspaceFoldersNotification.type}fillInitializeParams(e){let t=Oi.workspace.workspaceFolders;this.initializeWithFolders(t),t===void 0?e.workspaceFolders=null:e.workspaceFolders=t.map(r=>this.asProtocol(r))}initializeWithFolders(e){this._initialFolders=e}fillClientCapabilities(e){e.workspace=e.workspace||{},e.workspace.workspaceFolders=!0}initialize(e){let t=this._client;t.onRequest(Ra.WorkspaceFoldersRequest.type,s=>{let c=()=>{let d=Oi.workspace.workspaceFolders;return d===void 0?null:d.map(C=>this.asProtocol(C))},f=t.clientOptions.middleware.workspace;return f&&f.workspaceFolders?f.workspaceFolders(s,c):c(s)});let r=wa(wa(wa(e,"workspace"),"workspaceFolders"),"changeNotifications"),i;typeof r=="string"?i=r:r===!0&&(i=jy.generateUuid()),i&&this.register({id:i,registerOptions:void 0})}sendInitialEvent(e){if(this._initialFolders&&e){let t=Ta(this._initialFolders,e),r=Ta(e,this._initialFolders);(r.length>0||t.length>0)&&this.doSendEvent(r,t)}else this._initialFolders?this.doSendEvent([],this._initialFolders):e&&this.doSendEvent(e,[])}doSendEvent(e,t){let r={event:{added:e.map(i=>this.asProtocol(i)),removed:t.map(i=>this.asProtocol(i))}};this._client.sendNotification(Ra.DidChangeWorkspaceFoldersNotification.type,r)}register(e){let t=e.id,r=this._client,i=Oi.workspace.onDidChangeWorkspaceFolders(s=>{let c=d=>{this.doSendEvent(d.added,d.removed)},f=r.clientOptions.middleware.workspace;f&&f.didChangeWorkspaceFolders?f.didChangeWorkspaceFolders(s,c):c(s)});this._listeners.set(t,i),this.sendInitialEvent(Oi.workspace.workspaceFolders)}unregister(e){let t=this._listeners.get(e);t!==void 0&&(this._listeners.delete(e),t.dispose())}dispose(){for(let e of this._listeners.values())e.dispose();this._listeners.clear()}asProtocol(e){return e===void 0?null:{uri:this._client.code2ProtocolConverter.asUri(e.uri),name:e.name}}};Jn.WorkspaceFoldersFeature=Sa});var Id=D(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.FoldingRangeFeature=void 0;var xr=require("vscode"),Qn=me(),$y=st();function Nd(n,e){return n[e]===void 0&&(n[e]={}),n[e]}var Yn=class extends $y.TextDocumentFeature{constructor(e){super(e,Qn.FoldingRangeRequest.type)}fillClientCapabilities(e){let t=Nd(Nd(e,"textDocument"),"foldingRange");t.dynamicRegistration=!0,t.rangeLimit=5e3,t.lineFoldingOnly=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.foldingRangeProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t={provideFoldingRanges:(r,i,s)=>{let c=this._client,f=(g,C,w)=>{let T={textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(g)};return c.sendRequest(Qn.FoldingRangeRequest.type,T,w).then(Yn.asFoldingRanges,b=>c.handleFailedRequest(Qn.FoldingRangeRequest.type,b,null))},d=c.clientOptions.middleware;return d.provideFoldingRanges?d.provideFoldingRanges(r,i,s,f):f(r,i,s)}};return[xr.languages.registerFoldingRangeProvider(e.documentSelector,t),t]}static asFoldingRangeKind(e){if(e)switch(e){case Qn.FoldingRangeKind.Comment:return xr.FoldingRangeKind.Comment;case Qn.FoldingRangeKind.Imports:return xr.FoldingRangeKind.Imports;case Qn.FoldingRangeKind.Region:return xr.FoldingRangeKind.Region}}static asFoldingRanges(e){return Array.isArray(e)?e.map(t=>new xr.FoldingRange(t.startLine,t.endLine,Yn.asFoldingRangeKind(t.kind))):[]}};xi.FoldingRangeFeature=Yn});var Ad=D(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.DeclarationFeature=void 0;var Wy=require("vscode"),ba=me(),Hy=st();function Ld(n,e){return n[e]===void 0&&(n[e]={}),n[e]}var Pa=class extends Hy.TextDocumentFeature{constructor(e){super(e,ba.DeclarationRequest.type)}fillClientCapabilities(e){let t=Ld(Ld(e,"textDocument"),"declaration");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.declarationProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t={provideDeclaration:(r,i,s)=>{let c=this._client,f=(g,C,w)=>c.sendRequest(ba.DeclarationRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(g,C),w).then(c.protocol2CodeConverter.asDeclarationResult,T=>c.handleFailedRequest(ba.DeclarationRequest.type,T,null)),d=c.clientOptions.middleware;return d.provideDeclaration?d.provideDeclaration(r,i,s,f):f(r,i,s)}};return[Wy.languages.registerDeclarationProvider(e.documentSelector,t),t]}};ki.DeclarationFeature=Pa});var jd=D(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.SelectionRangeFeature=void 0;var Ky=require("vscode"),Da=me(),zy=st();function Md(n,e){return n[e]===void 0&&(n[e]=Object.create(null)),n[e]}var Ea=class extends zy.TextDocumentFeature{constructor(e){super(e,Da.SelectionRangeRequest.type)}fillClientCapabilities(e){let t=Md(Md(e,"textDocument"),"selectionRange");t.dynamicRegistration=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.selectionRangeProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t={provideSelectionRanges:(r,i,s)=>{let c=this._client,f=(g,C,w)=>{let T={textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(g),positions:c.code2ProtocolConverter.asPositions(C)};return c.sendRequest(Da.SelectionRangeRequest.type,T,w).then(b=>c.protocol2CodeConverter.asSelectionRanges(b),b=>c.handleFailedRequest(Da.SelectionRangeRequest.type,b,null))},d=c.clientOptions.middleware;return d.provideSelectionRanges?d.provideSelectionRanges(r,i,s,f):f(r,i,s)}};return[Ky.languages.registerSelectionRangeProvider(e.documentSelector,t),t]}};Fi.SelectionRangeFeature=Ea});var $d=D(Ni=>{"use strict";Object.defineProperty(Ni,"__esModule",{value:!0});Ni.ProgressFeature=void 0;var Uy=me(),By=Wo();function Gy(n,e){return n[e]===void 0&&(n[e]=Object.create(null)),n[e]}var qa=class{constructor(e){this._client=e,this.activeParts=new Set}fillClientCapabilities(e){Gy(e,"window").workDoneProgress=!0}initialize(){let e=this._client,t=i=>{this.activeParts.delete(i)},r=i=>{this.activeParts.add(new By.ProgressPart(this._client,i.token,t))};e.onRequest(Uy.WorkDoneProgressCreateRequest.type,r)}dispose(){for(let e of this.activeParts)e.done();this.activeParts.clear()}};Ni.ProgressFeature=qa});var Hd=D(Ii=>{"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});Ii.CallHierarchyFeature=void 0;var Xy=require("vscode"),kn=me(),Vy=st();function Wd(n,e){return n[e]===void 0&&(n[e]={}),n[e]}var Oa=class{constructor(e){this.client=e,this.middleware=e.clientOptions.middleware}prepareCallHierarchy(e,t,r){let i=this.client,s=this.middleware,c=(f,d,g)=>{let C=i.code2ProtocolConverter.asTextDocumentPositionParams(f,d);return i.sendRequest(kn.CallHierarchyPrepareRequest.type,C,g).then(w=>i.protocol2CodeConverter.asCallHierarchyItems(w),w=>i.handleFailedRequest(kn.CallHierarchyPrepareRequest.type,w,null))};return s.prepareCallHierarchy?s.prepareCallHierarchy(e,t,r,c):c(e,t,r)}provideCallHierarchyIncomingCalls(e,t){let r=this.client,i=this.middleware,s=(c,f)=>{let d={item:r.code2ProtocolConverter.asCallHierarchyItem(c)};return r.sendRequest(kn.CallHierarchyIncomingCallsRequest.type,d,f).then(g=>r.protocol2CodeConverter.asCallHierarchyIncomingCalls(g),g=>r.handleFailedRequest(kn.CallHierarchyIncomingCallsRequest.type,g,null))};return i.provideCallHierarchyIncomingCalls?i.provideCallHierarchyIncomingCalls(e,t,s):s(e,t)}provideCallHierarchyOutgoingCalls(e,t){let r=this.client,i=this.middleware,s=(c,f)=>{let d={item:r.code2ProtocolConverter.asCallHierarchyItem(c)};return r.sendRequest(kn.CallHierarchyOutgoingCallsRequest.type,d,f).then(g=>r.protocol2CodeConverter.asCallHierarchyOutgoingCalls(g),g=>r.handleFailedRequest(kn.CallHierarchyOutgoingCallsRequest.type,g,null))};return i.provideCallHierarchyOutgoingCalls?i.provideCallHierarchyOutgoingCalls(e,t,s):s(e,t)}},xa=class extends Vy.TextDocumentFeature{constructor(e){super(e,kn.CallHierarchyPrepareRequest.type)}fillClientCapabilities(e){let r=Wd(Wd(e,"textDocument"),"callHierarchy");r.dynamicRegistration=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.callHierarchyProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=this._client,r=new Oa(t);return[Xy.languages.registerCallHierarchyProvider(e.documentSelector,r),r]}};Ii.CallHierarchyFeature=xa});var Kd=D(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.SemanticTokensFeature=void 0;var Li=require("vscode"),Jy=st(),J=me(),Qy=tn();function Ai(n,e){return n[e]===void 0&&(n[e]={}),n[e]}var ka=class extends Jy.TextDocumentFeature{constructor(e){super(e,J.SemanticTokensRegistrationType.type)}fillClientCapabilities(e){let t=Ai(Ai(e,"textDocument"),"semanticTokens");t.dynamicRegistration=!0,t.tokenTypes=[J.SemanticTokenTypes.namespace,J.SemanticTokenTypes.type,J.SemanticTokenTypes.class,J.SemanticTokenTypes.enum,J.SemanticTokenTypes.interface,J.SemanticTokenTypes.struct,J.SemanticTokenTypes.typeParameter,J.SemanticTokenTypes.parameter,J.SemanticTokenTypes.variable,J.SemanticTokenTypes.property,J.SemanticTokenTypes.enumMember,J.SemanticTokenTypes.event,J.SemanticTokenTypes.function,J.SemanticTokenTypes.method,J.SemanticTokenTypes.macro,J.SemanticTokenTypes.keyword,J.SemanticTokenTypes.modifier,J.SemanticTokenTypes.comment,J.SemanticTokenTypes.string,J.SemanticTokenTypes.number,J.SemanticTokenTypes.regexp,J.SemanticTokenTypes.operator],t.tokenModifiers=[J.SemanticTokenModifiers.declaration,J.SemanticTokenModifiers.definition,J.SemanticTokenModifiers.readonly,J.SemanticTokenModifiers.static,J.SemanticTokenModifiers.deprecated,J.SemanticTokenModifiers.abstract,J.SemanticTokenModifiers.async,J.SemanticTokenModifiers.modification,J.SemanticTokenModifiers.documentation,J.SemanticTokenModifiers.defaultLibrary],t.formats=[J.TokenFormat.Relative],t.requests={range:!0,full:{delta:!0}},t.multilineTokenSupport=!1,t.overlappingTokenSupport=!1,Ai(Ai(e,"workspace"),"semanticTokens").refreshSupport=!0}initialize(e,t){this._client.onRequest(J.SemanticTokensRefreshRequest.type,async()=>{for(let c of this.getAllProviders())c.onDidChangeSemanticTokensEmitter.fire()});let[i,s]=this.getRegistration(t,e.semanticTokensProvider);!i||!s||this.register({id:i,registerOptions:s})}registerLanguageProvider(e){let t=Qy.boolean(e.full)?e.full:e.full!==void 0,r=e.full!==void 0&&typeof e.full!="boolean"&&e.full.delta===!0,i=new Li.EventEmitter,s=t?{onDidChangeSemanticTokens:i.event,provideDocumentSemanticTokens:(w,T)=>{let b=this._client,F=b.clientOptions.middleware,I=(z,N)=>{let O={textDocument:b.code2ProtocolConverter.asTextDocumentIdentifier(z)};return b.sendRequest(J.SemanticTokensRequest.type,O,N).then(k=>b.protocol2CodeConverter.asSemanticTokens(k),k=>b.handleFailedRequest(J.SemanticTokensRequest.type,k,null))};return F.provideDocumentSemanticTokens?F.provideDocumentSemanticTokens(w,T,I):I(w,T)},provideDocumentSemanticTokensEdits:r?(w,T,b)=>{let F=this._client,I=F.clientOptions.middleware,z=(N,O,k)=>{let q={textDocument:F.code2ProtocolConverter.asTextDocumentIdentifier(N),previousResultId:O};return F.sendRequest(J.SemanticTokensDeltaRequest.type,q,k).then(U=>J.SemanticTokens.is(U)?F.protocol2CodeConverter.asSemanticTokens(U):F.protocol2CodeConverter.asSemanticTokensEdits(U),U=>F.handleFailedRequest(J.SemanticTokensDeltaRequest.type,U,null))};return I.provideDocumentSemanticTokensEdits?I.provideDocumentSemanticTokensEdits(w,T,b,z):z(w,T,b)}:void 0}:void 0,f=e.range===!0?{provideDocumentRangeSemanticTokens:(w,T,b)=>{let F=this._client,I=F.clientOptions.middleware,z=(N,O,k)=>{let q={textDocument:F.code2ProtocolConverter.asTextDocumentIdentifier(N),range:F.code2ProtocolConverter.asRange(O)};return F.sendRequest(J.SemanticTokensRangeRequest.type,q,k).then(U=>F.protocol2CodeConverter.asSemanticTokens(U),U=>F.handleFailedRequest(J.SemanticTokensRangeRequest.type,U,null))};return I.provideDocumentRangeSemanticTokens?I.provideDocumentRangeSemanticTokens(w,T,b,z):z(w,T,b)}}:void 0,d=[],C=this._client.protocol2CodeConverter.asSemanticTokensLegend(e.legend);return s!==void 0&&d.push(Li.languages.registerDocumentSemanticTokensProvider(e.documentSelector,s,C)),f!==void 0&&d.push(Li.languages.registerDocumentRangeSemanticTokensProvider(e.documentSelector,f,C)),[new Li.Disposable(()=>d.forEach(w=>w.dispose())),{range:f,full:s,onDidChangeSemanticTokensEmitter:i}]}};Mi.SemanticTokensFeature=ka});var Ud=D((nw,zd)=>{zd.exports=function(n,e){for(var t=[],r=0;r{"use strict";Vd.exports=Gd;function Gd(n,e,t){n instanceof RegExp&&(n=Bd(n,t)),e instanceof RegExp&&(e=Bd(e,t));var r=Xd(n,e,t);return r&&{start:r[0],end:r[1],pre:t.slice(0,r[0]),body:t.slice(r[0]+n.length,r[1]),post:t.slice(r[1]+e.length)}}function Bd(n,e){var t=e.match(n);return t?t[0]:null}Gd.range=Xd;function Xd(n,e,t){var r,i,s,c,f,d=t.indexOf(n),g=t.indexOf(e,d+1),C=d;if(d>=0&&g>0){if(n===e)return[d,g];for(r=[],s=t.length;C>=0&&!f;)C==d?(r.push(C),d=t.indexOf(n,C+1)):r.length==1?f=[r.pop(),g]:(i=r.pop(),i=0?d:g;r.length&&(f=[s,c])}return f}});var sf=D((iw,rf)=>{var Zy=Ud(),Qd=Jd();rf.exports=nC;var Yd="\0SLASH"+Math.random()+"\0",Zd="\0OPEN"+Math.random()+"\0",Na="\0CLOSE"+Math.random()+"\0",ef="\0COMMA"+Math.random()+"\0",tf="\0PERIOD"+Math.random()+"\0";function Fa(n){return parseInt(n,10)==n?parseInt(n,10):n.charCodeAt(0)}function eC(n){return n.split("\\\\").join(Yd).split("\\{").join(Zd).split("\\}").join(Na).split("\\,").join(ef).split("\\.").join(tf)}function tC(n){return n.split(Yd).join("\\").split(Zd).join("{").split(Na).join("}").split(ef).join(",").split(tf).join(".")}function nf(n){if(!n)return[""];var e=[],t=Qd("{","}",n);if(!t)return n.split(",");var r=t.pre,i=t.body,s=t.post,c=r.split(",");c[c.length-1]+="{"+i+"}";var f=nf(s);return s.length&&(c[c.length-1]+=f.shift(),c.push.apply(c,f)),e.push.apply(e,c),e}function nC(n){return n?(n.substr(0,2)==="{}"&&(n="\\{\\}"+n.substr(2)),Zn(eC(n),!0).map(tC)):[]}function rC(n){return"{"+n+"}"}function iC(n){return/^-?0\d/.test(n)}function sC(n,e){return n<=e}function oC(n,e){return n>=e}function Zn(n,e){var t=[],r=Qd("{","}",n);if(!r||/\$$/.test(r.pre))return[n];var i=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(r.body),s=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(r.body),c=i||s,f=r.body.indexOf(",")>=0;if(!c&&!f)return r.post.match(/,.*\}/)?(n=r.pre+"{"+r.body+Na+r.post,Zn(n)):[n];var d;if(c)d=r.body.split(/\.\./);else if(d=nf(r.body),d.length===1&&(d=Zn(d[0],!1).map(rC),d.length===1)){var C=r.post.length?Zn(r.post,!1):[""];return C.map(function(Fe){return r.pre+d[0]+Fe})}var g=r.pre,C=r.post.length?Zn(r.post,!1):[""],w;if(c){var T=Fa(d[0]),b=Fa(d[1]),F=Math.max(d[0].length,d[1].length),I=d.length==3?Math.abs(Fa(d[2])):1,z=sC,N=b0){var Se=new Array(U+1).join("0");k<0?q="-"+Se+q.slice(1):q=Se+q}}w.push(q)}}else w=Zy(d,function(ke){return Zn(ke,!1)});for(var qe=0;qe{lf.exports=ot;ot.Minimatch=We;var kr=function(){try{return require("path")}catch{}}()||{sep:"/"};ot.sep=kr.sep;var Aa=ot.GLOBSTAR=We.GLOBSTAR={},aC=sf(),of={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},Ia="[^/]",La=Ia+"*?",cC="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",uC="(?:(?!(?:\\/|^)\\.).)*?",af=lC("().*{}+?[]^$\\!");function lC(n){return n.split("").reduce(function(e,t){return e[t]=!0,e},{})}var cf=/\/+/;ot.filter=dC;function dC(n,e){return e=e||{},function(t,r,i){return ot(t,n,e)}}function cn(n,e){e=e||{};var t={};return Object.keys(n).forEach(function(r){t[r]=n[r]}),Object.keys(e).forEach(function(r){t[r]=e[r]}),t}ot.defaults=function(n){if(!n||typeof n!="object"||!Object.keys(n).length)return ot;var e=ot,t=function(i,s,c){return e(i,s,cn(n,c))};return t.Minimatch=function(i,s){return new e.Minimatch(i,cn(n,s))},t.Minimatch.defaults=function(i){return e.defaults(cn(n,i)).Minimatch},t.filter=function(i,s){return e.filter(i,cn(n,s))},t.defaults=function(i){return e.defaults(cn(n,i))},t.makeRe=function(i,s){return e.makeRe(i,cn(n,s))},t.braceExpand=function(i,s){return e.braceExpand(i,cn(n,s))},t.match=function(r,i,s){return e.match(r,i,cn(n,s))},t};We.defaults=function(n){return ot.defaults(n).Minimatch};function ot(n,e,t){return $i(e),t||(t={}),!t.nocomment&&e.charAt(0)==="#"?!1:new We(e,t).match(n)}function We(n,e){if(!(this instanceof We))return new We(n,e);$i(n),e||(e={}),n=n.trim(),!e.allowWindowsEscape&&kr.sep!=="/"&&(n=n.split(kr.sep).join("/")),this.options=e,this.set=[],this.pattern=n,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.make()}We.prototype.debug=function(){};We.prototype.make=fC;function fC(){var n=this.pattern,e=this.options;if(!e.nocomment&&n.charAt(0)==="#"){this.comment=!0;return}if(!n){this.empty=!0;return}this.parseNegate();var t=this.globSet=this.braceExpand();e.debug&&(this.debug=function(){console.error.apply(console,arguments)}),this.debug(this.pattern,t),t=this.globParts=t.map(function(r){return r.split(cf)}),this.debug(this.pattern,t),t=t.map(function(r,i,s){return r.map(this.parse,this)},this),this.debug(this.pattern,t),t=t.filter(function(r){return r.indexOf(!1)===-1}),this.debug(this.pattern,t),this.set=t}We.prototype.parseNegate=hC;function hC(){var n=this.pattern,e=!1,t=this.options,r=0;if(!t.nonegate){for(var i=0,s=n.length;i"u"?this.pattern:n,$i(n),e.nobrace||!/\{(?:(?!\{).)*\}/.test(n)?[n]:aC(n)}var pC=1024*64,$i=function(n){if(typeof n!="string")throw new TypeError("invalid pattern");if(n.length>pC)throw new TypeError("pattern is too long")};We.prototype.parse=gC;var ji={};function gC(n,e){$i(n);var t=this.options;if(n==="**")if(t.noglobstar)n="*";else return Aa;if(n==="")return"";var r="",i=!!t.nocase,s=!1,c=[],f=[],d,g=!1,C=-1,w=-1,T=n.charAt(0)==="."?"":t.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",b=this;function F(){if(d){switch(d){case"*":r+=La,i=!0;break;case"?":r+=Ia,i=!0;break;default:r+="\\"+d;break}b.debug("clearStateChar %j %j",d,r),d=!1}}for(var I=0,z=n.length,N;I-1;Oe--){var ve=f[Oe],ke=r.slice(0,ve.reStart),Fe=r.slice(ve.reStart,ve.reEnd-8),Ye=r.slice(ve.reEnd-8,ve.reEnd),Be=r.slice(ve.reEnd);Ye+=Be;var Ze=ke.split("(").length-1,Ge=Be;for(I=0;I"u"&&(t=this.partial),this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&t)return!0;var r=this.options;kr.sep!=="/"&&(e=e.split(kr.sep).join("/")),e=e.split(cf),this.debug(this.pattern,"split",e);var i=this.set;this.debug(this.pattern,"set",i);var s,c;for(c=e.length-1;c>=0&&(s=e[c],!s);c--);for(c=0;c>> no match, partial?`,n,C,e,w),C===c))}var b;if(typeof d=="string"?(b=g===d,this.debug("string match",d,g,b)):(b=g.match(d),this.debug("pattern match",d,g,b)),!b)return!1}if(i===c&&s===f)return!0;if(i===c)return t;if(s===f)return i===c-1&&n[i]==="";throw new Error("wtf?")};function vC(n){return n.replace(/\\(.)/g,"$1")}function yC(n){return n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}});var pf=D(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.WillDeleteFilesFeature=nt.WillRenameFilesFeature=nt.WillCreateFilesFeature=nt.DidDeleteFilesFeature=nt.DidRenameFilesFeature=nt.DidCreateFilesFeature=void 0;var kt=require("vscode"),CC=df(),Ut=me(),_C=_i();function ff(n,e){return n[e]===void 0&&(n[e]={}),n[e]}function RC(n,e){return n[e]}function hf(n,e,t){n[e]=t}var un=class{constructor(e,t,r,i,s){this._filters=new Map,this._client=e,this._event=t,this._registrationType=r,this._clientCapability=i,this._serverCapability=s}get registrationType(){return this._registrationType}fillClientCapabilities(e){let t=ff(ff(e,"workspace"),"fileOperations");hf(t,"dynamicRegistration",!0),hf(t,this._clientCapability,!0)}initialize(e){var t;let r=(t=e.workspace)===null||t===void 0?void 0:t.fileOperations,i=r!==void 0?RC(r,this._serverCapability):void 0;if(i?.filters!==void 0)try{this.register({id:_C.generateUuid(),registerOptions:{filters:i.filters}})}catch(s){this._client.warn(`Ignoring invalid glob pattern for ${this._serverCapability} registration: ${s}`)}}register(e){this._listener||(this._listener=this._event(this.send,this));let t=e.registerOptions.filters.map(r=>{let i=new CC.Minimatch(r.pattern.glob,un.asMinimatchOptions(r.pattern.options));if(!i.makeRe())throw new Error(`Invalid pattern ${r.pattern.glob}!`);return{scheme:r.scheme,matcher:i,kind:r.pattern.matches}});this._filters.set(e.id,t)}unregister(e){this._filters.delete(e),this._filters.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._filters.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}async filter(e,t){let r=await Promise.all(e.files.map(async s=>{let c=t(s),f=c.fsPath.replace(/\\/g,"/");for(let d of this._filters.values())for(let g of d)if(!(g.scheme!==void 0&&g.scheme!==c.scheme)){if(g.matcher.match(f)){if(g.kind===void 0)return!0;let C=await un.getFileType(c);if(C===void 0)return this._client.error(`Failed to determine file type for ${c.toString()}.`),!0;if(C===kt.FileType.File&&g.kind===Ut.FileOperationPatternKind.file||C===kt.FileType.Directory&&g.kind===Ut.FileOperationPatternKind.folder)return!0}else if(g.kind===Ut.FileOperationPatternKind.folder&&await un.getFileType(c)===kt.FileType.Directory&&g.matcher.match(`${f}/`))return!0}return!1})),i=e.files.filter((s,c)=>r[c]);return Object.assign(Object.assign({},e),{files:i})}static async getFileType(e){try{return(await kt.workspace.fs.stat(e)).type}catch{return}}static asMinimatchOptions(e){if(e!==void 0&&e.ignoreCase===!0)return{nocase:!0}}},Fr=class extends un{constructor(e,t,r,i,s,c,f){super(e,t,r,i,s),this._notificationType=r,this._accessUri=c,this._createParams=f}async send(e){let t=await this.filter(e,this._accessUri);if(t.files.length){let r=async i=>{this._client.sendNotification(this._notificationType,this._createParams(i))};this.doSend(t,r)}}},Ma=class extends Fr{constructor(e){super(e,kt.workspace.onDidCreateFiles,Ut.DidCreateFilesNotification.type,"didCreate","didCreate",t=>t,e.code2ProtocolConverter.asDidCreateFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.didCreateFiles?i.didCreateFiles(e,t):t(e)}};nt.DidCreateFilesFeature=Ma;var ja=class extends Fr{constructor(e){super(e,kt.workspace.onDidRenameFiles,Ut.DidRenameFilesNotification.type,"didRename","didRename",t=>t.oldUri,e.code2ProtocolConverter.asDidRenameFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.didRenameFiles?i.didRenameFiles(e,t):t(e)}};nt.DidRenameFilesFeature=ja;var $a=class extends Fr{constructor(e){super(e,kt.workspace.onDidDeleteFiles,Ut.DidDeleteFilesNotification.type,"didDelete","didDelete",t=>t,e.code2ProtocolConverter.asDidDeleteFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.didDeleteFiles?i.didDeleteFiles(e,t):t(e)}};nt.DidDeleteFilesFeature=$a;var Nr=class extends un{constructor(e,t,r,i,s,c,f){super(e,t,r,i,s),this._requestType=r,this._accessUri=c,this._createParams=f}async send(e){let t=this.waitUntil(e);e.waitUntil(t)}async waitUntil(e){let t=await this.filter(e,this._accessUri);if(t.files.length){let r=i=>this._client.sendRequest(this._requestType,this._createParams(i)).then(this._client.protocol2CodeConverter.asWorkspaceEdit);return this.doSend(t,r)}else return}},Wa=class extends Nr{constructor(e){super(e,kt.workspace.onWillCreateFiles,Ut.WillCreateFilesRequest.type,"willCreate","willCreate",t=>t,e.code2ProtocolConverter.asWillCreateFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.willCreateFiles?i.willCreateFiles(e,t):t(e)}};nt.WillCreateFilesFeature=Wa;var Ha=class extends Nr{constructor(e){super(e,kt.workspace.onWillRenameFiles,Ut.WillRenameFilesRequest.type,"willRename","willRename",t=>t.oldUri,e.code2ProtocolConverter.asWillRenameFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.willRenameFiles?i.willRenameFiles(e,t):t(e)}};nt.WillRenameFilesFeature=Ha;var Ka=class extends Nr{constructor(e){super(e,kt.workspace.onWillDeleteFiles,Ut.WillDeleteFilesRequest.type,"willDelete","willDelete",t=>t,e.code2ProtocolConverter.asWillDeleteFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.willDeleteFiles?i.willDeleteFiles(e,t):t(e)}};nt.WillDeleteFilesFeature=Ka});var mf=D(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.LinkedEditingFeature=void 0;var wC=require("vscode"),za=me(),TC=st();function gf(n,e){return n[e]===void 0&&(n[e]={}),n[e]}var Ua=class extends TC.TextDocumentFeature{constructor(e){super(e,za.LinkedEditingRangeRequest.type)}fillClientCapabilities(e){let t=gf(gf(e,"textDocument"),"linkedEditingRange");t.dynamicRegistration=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.linkedEditingRangeProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t={provideLinkedEditingRanges:(r,i,s)=>{let c=this._client,f=(g,C,w)=>c.sendRequest(za.LinkedEditingRangeRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(g,C),w).then(c.protocol2CodeConverter.asLinkedEditingRanges,T=>c.handleFailedRequest(za.LinkedEditingRangeRequest.type,T,null)),d=c.clientOptions.middleware;return d.provideLinkedEditingRange?d.provideLinkedEditingRange(r,i,s,f):f(r,i,s)}};return[wC.languages.registerLinkedEditingRangeProvider(e.documentSelector,t),t]}};Wi.LinkedEditingFeature=Ua});var Ga=D(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.ProposedFeatures=Fn.CommonLanguageClient=void 0;var SC=st(),bC=qd(),PC=Co(),DC=xd(),EC=kd(),qC=Fd(),OC=Id(),xC=Ad(),kC=jd(),FC=$d(),NC=Hd(),IC=Kd(),er=pf(),LC=mf(),Ba=class extends SC.BaseLanguageClient{constructor(e,t,r){super(e,t,r)}registerProposedFeatures(){this.registerFeatures(vf.createAll(this))}registerBuiltinFeatures(){super.registerBuiltinFeatures(),this.registerFeature(new PC.ConfigurationFeature(this)),this.registerFeature(new EC.TypeDefinitionFeature(this)),this.registerFeature(new DC.ImplementationFeature(this)),this.registerFeature(new bC.ColorProviderFeature(this)),this.registerFeature(new qC.WorkspaceFoldersFeature(this)),this.registerFeature(new OC.FoldingRangeFeature(this)),this.registerFeature(new xC.DeclarationFeature(this)),this.registerFeature(new kC.SelectionRangeFeature(this)),this.registerFeature(new FC.ProgressFeature(this)),this.registerFeature(new NC.CallHierarchyFeature(this)),this.registerFeature(new IC.SemanticTokensFeature(this)),this.registerFeature(new LC.LinkedEditingFeature(this)),this.registerFeature(new er.DidCreateFilesFeature(this)),this.registerFeature(new er.DidRenameFilesFeature(this)),this.registerFeature(new er.DidDeleteFilesFeature(this)),this.registerFeature(new er.WillCreateFilesFeature(this)),this.registerFeature(new er.WillRenameFilesFeature(this)),this.registerFeature(new er.WillDeleteFilesFeature(this))}};Fn.CommonLanguageClient=Ba;var vf;(function(n){function e(t){return[]}n.createAll=e})(vf=Fn.ProposedFeatures||(Fn.ProposedFeatures={}))});var Cf=D(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});Hi.terminate=void 0;var yf=require("child_process"),AC=require("path"),MC=process.platform==="win32",jC=process.platform==="darwin",$C=process.platform==="linux";function WC(n,e){if(MC)try{let i={stdio:["pipe","pipe","ignore"]};return e&&(i.cwd=e),yf.execFileSync("taskkill",["/T","/F","/PID",n.pid.toString()],i),!0}catch{return!1}else if($C||jC)try{var t=AC.join(__dirname,"terminateProcess.sh"),r=yf.spawnSync(t,[n.pid.toString()]);return!r.error}catch{return!1}else return n.kill("SIGKILL"),!0}Hi.terminate=WC});var Xa=D((lw,_f)=>{"use strict";_f.exports=me()});var Rf=D(Bt=>{"use strict";var HC=Bt&&Bt.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),Va=Bt&&Bt.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&HC(e,n,t)};Object.defineProperty(Bt,"__esModule",{value:!0});Va(me(),Bt);Va(st(),Bt);Va(Ga(),Bt)});var bf=D(Qe=>{"use strict";var KC=Qe&&Qe.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),Sf=Qe&&Qe.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&KC(e,n,t)};Object.defineProperty(Qe,"__esModule",{value:!0});Qe.SettingMonitor=Qe.LanguageClient=Qe.TransportKind=void 0;var Nn=require("child_process"),Ja=require("fs"),Qa=require("path"),wf=sl(),ln=require("vscode"),Ee=tn(),zC=Ga(),UC=st(),BC=Cf(),De=Xa();Sf(Xa(),Qe);Sf(Rf(),Qe);var Tf="^1.52.0",Ya;(function(n){function e(t){return Ee.string(t.command)}n.is=e})(Ya||(Ya={}));var He;(function(n){n[n.stdio=0]="stdio",n[n.ipc=1]="ipc",n[n.pipe=2]="pipe",n[n.socket=3]="socket"})(He=Qe.TransportKind||(Qe.TransportKind={}));var tr;(function(n){function e(t){let r=t;return r&&r.kind===He.socket&&Ee.number(r.port)}n.isSocket=e})(tr||(tr={}));var Za;(function(n){function e(t){return Ee.string(t.module)}n.is=e})(Za||(Za={}));var ec;(function(n){function e(t){let r=t;return r&&r.writer!==void 0&&r.reader!==void 0}n.is=e})(ec||(ec={}));var tc;(function(n){function e(t){let r=t;return r&&r.process!==void 0&&typeof r.detached=="boolean"}n.is=e})(tc||(tc={}));var nc=class extends zC.CommonLanguageClient{constructor(e,t,r,i,s){let c,f,d,g,C;Ee.string(t)?(c=e,f=t,d=r,g=i,C=!!s):(c=e.toLowerCase(),f=e,d=t,g=r,C=i),C===void 0&&(C=!1),super(c,f,g),this._serverOptions=d,this._forceDebug=C;try{this.checkVersion()}catch(w){throw Ee.string(w.message)&&this.outputChannel.appendLine(w.message),w}}checkVersion(){let e=wf.parse(ln.version);if(!e)throw new Error(`No valid VS Code version detected. Version string is: ${ln.version}`);if(e.prerelease&&e.prerelease.length>0&&(e.prerelease=[]),!wf.satisfies(e,Tf))throw new Error(`The language client requires VS Code version ${Tf} but received version ${ln.version}`)}stop(){return super.stop().then(()=>{if(this._serverProcess){let e=this._serverProcess;this._serverProcess=void 0,(this._isDetached===void 0||!this._isDetached)&&this.checkProcessDied(e),this._isDetached=void 0}})}checkProcessDied(e){!e||setTimeout(()=>{try{process.kill(e.pid,0),BC.terminate(e)}catch{}},2e3)}handleConnectionClosed(){this._serverProcess=void 0,super.handleConnectionClosed()}fillInitializeParams(e){super.fillInitializeParams(e),e.processId===null&&(e.processId=process.pid)}createMessageTransports(e){function t(C,w){if(!C&&!w)return;let T=Object.create(null);return Object.keys(process.env).forEach(b=>T[b]=process.env[b]),w&&(T.ELECTRON_RUN_AS_NODE="1",T.ELECTRON_NO_ASAR="1"),C&&Object.keys(C).forEach(b=>T[b]=C[b]),T}let r=["--debug=","--debug-brk=","--inspect=","--inspect-brk="],i=["--debug","--debug-brk","--inspect","--inspect-brk"];function s(){let C=process.execArgv;return C?C.some(w=>r.some(T=>w.startsWith(T))||i.some(T=>w===T)):!1}function c(C){if(C.stdin===null||C.stdout===null||C.stderr===null)throw new Error("Process created without stdio streams")}let f=this._serverOptions;if(Ee.func(f))return f().then(C=>{if(UC.MessageTransports.is(C))return this._isDetached=!!C.detached,C;if(ec.is(C))return this._isDetached=!!C.detached,{reader:new De.StreamMessageReader(C.reader),writer:new De.StreamMessageWriter(C.writer)};{let w;return tc.is(C)?(w=C.process,this._isDetached=C.detached):(w=C,this._isDetached=!1),w.stderr.on("data",T=>this.outputChannel.append(Ee.string(T)?T:T.toString(e))),{reader:new De.StreamMessageReader(w.stdout),writer:new De.StreamMessageWriter(w.stdin)}}});let d,g=f;return g.run||g.debug?this._forceDebug||s()?d=g.debug:d=g.run:d=f,this._getServerWorkingDir(d.options).then(C=>{if(Za.is(d)&&d.module){let w=d,T=w.transport||He.stdio;if(w.runtime){let b=[],F=w.options||Object.create(null);F.execArgv&&F.execArgv.forEach(O=>b.push(O)),b.push(w.module),w.args&&w.args.forEach(O=>b.push(O));let I=Object.create(null);I.cwd=C,I.env=t(F.env,!1);let z=this._getRuntimePath(w.runtime,C),N;if(T===He.ipc?(I.stdio=[null,null,null,"ipc"],b.push("--node-ipc")):T===He.stdio?b.push("--stdio"):T===He.pipe?(N=De.generateRandomPipeName(),b.push(`--pipe=${N}`)):tr.isSocket(T)&&b.push(`--socket=${T.port}`),b.push(`--clientProcessId=${process.pid.toString()}`),T===He.ipc||T===He.stdio){let O=Nn.spawn(z,b,I);return!O||!O.pid?Promise.reject(`Launching server using runtime ${z} failed.`):(this._serverProcess=O,O.stderr.on("data",k=>this.outputChannel.append(Ee.string(k)?k:k.toString(e))),T===He.ipc?(O.stdout.on("data",k=>this.outputChannel.append(Ee.string(k)?k:k.toString(e))),Promise.resolve({reader:new De.IPCMessageReader(O),writer:new De.IPCMessageWriter(O)})):Promise.resolve({reader:new De.StreamMessageReader(O.stdout),writer:new De.StreamMessageWriter(O.stdin)}))}else{if(T===He.pipe)return De.createClientPipeTransport(N).then(O=>{let k=Nn.spawn(z,b,I);return!k||!k.pid?Promise.reject(`Launching server using runtime ${z} failed.`):(this._serverProcess=k,k.stderr.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),k.stdout.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),O.onConnected().then(q=>({reader:q[0],writer:q[1]})))});if(tr.isSocket(T))return De.createClientSocketTransport(T.port).then(O=>{let k=Nn.spawn(z,b,I);return!k||!k.pid?Promise.reject(`Launching server using runtime ${z} failed.`):(this._serverProcess=k,k.stderr.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),k.stdout.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),O.onConnected().then(q=>({reader:q[0],writer:q[1]})))})}}else{let b;return new Promise((F,I)=>{let z=w.args&&w.args.slice()||[];T===He.ipc?z.push("--node-ipc"):T===He.stdio?z.push("--stdio"):T===He.pipe?(b=De.generateRandomPipeName(),z.push(`--pipe=${b}`)):tr.isSocket(T)&&z.push(`--socket=${T.port}`),z.push(`--clientProcessId=${process.pid.toString()}`);let N=w.options||Object.create(null);if(N.env=t(N.env,!0),N.execArgv=N.execArgv||[],N.cwd=C,N.silent=!0,T===He.ipc||T===He.stdio){let O=Nn.fork(w.module,z||[],N);c(O),this._serverProcess=O,O.stderr.on("data",k=>this.outputChannel.append(Ee.string(k)?k:k.toString(e))),T===He.ipc?(O.stdout.on("data",k=>this.outputChannel.append(Ee.string(k)?k:k.toString(e))),F({reader:new De.IPCMessageReader(this._serverProcess),writer:new De.IPCMessageWriter(this._serverProcess)})):F({reader:new De.StreamMessageReader(O.stdout),writer:new De.StreamMessageWriter(O.stdin)})}else T===He.pipe?De.createClientPipeTransport(b).then(O=>{let k=Nn.fork(w.module,z||[],N);c(k),this._serverProcess=k,k.stderr.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),k.stdout.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),O.onConnected().then(q=>{F({reader:q[0],writer:q[1]})})}):tr.isSocket(T)&&De.createClientSocketTransport(T.port).then(O=>{let k=Nn.fork(w.module,z||[],N);c(k),this._serverProcess=k,k.stderr.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),k.stdout.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),O.onConnected().then(q=>{F({reader:q[0],writer:q[1]})})})})}}else if(Ya.is(d)&&d.command){let w=d,T=w.args||[],b=Object.assign({},w.options);b.cwd=b.cwd||C;let F=Nn.spawn(w.command,T,b);return!F||!F.pid?Promise.reject(`Launching server using command ${w.command} failed.`):(F.stderr.on("data",I=>this.outputChannel.append(Ee.string(I)?I:I.toString(e))),this._serverProcess=F,this._isDetached=!!b.detached,Promise.resolve({reader:new De.StreamMessageReader(F.stdout),writer:new De.StreamMessageWriter(F.stdin)}))}return Promise.reject(new Error("Unsupported server configuration "+JSON.stringify(f,null,4)))})}_getRuntimePath(e,t){if(Qa.isAbsolute(e))return e;let r=this._mainGetRootPath();if(r!==void 0){let i=Qa.join(r,e);if(Ja.existsSync(i))return i}if(t!==void 0){let i=Qa.join(t,e);if(Ja.existsSync(i))return i}return e}_mainGetRootPath(){let e=ln.workspace.workspaceFolders;if(!e||e.length===0)return;let t=e[0];if(t.uri.scheme==="file")return t.uri.fsPath}_getServerWorkingDir(e){let t=e&&e.cwd;return t||(t=this.clientOptions.workspaceFolder?this.clientOptions.workspaceFolder.uri.fsPath:this._mainGetRootPath()),t?new Promise(r=>{Ja.lstat(t,(i,s)=>{r(!i&&s.isDirectory()?t:void 0)})}):Promise.resolve(void 0)}getLocale(){let e=process.env.VSCODE_NLS_CONFIG;if(e===void 0)return"en";let t;try{t=JSON.parse(e)}catch{}return t===void 0||typeof t.locale!="string"?"en":t.locale}};Qe.LanguageClient=nc;var rc=class{constructor(e,t){this._client=e,this._setting=t,this._listeners=[]}start(){return ln.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration,this,this._listeners),this.onDidChangeConfiguration(),new ln.Disposable(()=>{this._client.needsStop()&&this._client.stop()})}onDidChangeConfiguration(){let e=this._setting.indexOf("."),t=e>=0?this._setting.substr(0,e):this._setting,r=e>=0?this._setting.substr(e+1):void 0,i=r?ln.workspace.getConfiguration(t).get(r,!1):ln.workspace.getConfiguration(t);i&&this._client.needsStart()?this._client.start():!i&&this._client.needsStop()&&this._client.stop()}};Qe.SettingMonitor=rc});var sc=D(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});var Ki=class{};ic.Constants=Ki;Ki.python="python"});var Pf=D(Ir=>{"use strict";var GC=Ir&&Ir.__awaiter||function(n,e,t,r){function i(s){return s instanceof t?s:new t(function(c){c(s)})}return new(t||(t=Promise))(function(s,c){function f(C){try{g(r.next(C))}catch(w){c(w)}}function d(C){try{g(r.throw(C))}catch(w){c(w)}}function g(C){C.done?s(C.value):i(C.value).then(f,d)}g((r=r.apply(n,e||[])).next())})};Object.defineProperty(Ir,"__esModule",{value:!0});var oc=require("vscode"),ac=sc(),cc=class{static getPythonPath(e){var t,r;return GC(this,void 0,void 0,function*(){try{let i=oc.extensions.getExtension("ms-python.python");if(!i)return ac.Constants.python;if((r=(t=i.packageJSON)===null||t===void 0?void 0:t.featureFlags)===null||r===void 0?void 0:r.usingNewInterpreterStorage){i.isActive||(yield i.activate());let c=i.exports.settings.getExecutionDetails?i.exports.settings.getExecutionDetails(e?.uri).execCommand:i.exports.settings.getExecutionCommand(e?.uri);return c?c.join(" "):ac.Constants.python}else return this.getConfiguration("python",e).get("pythonPath")}catch{return ac.Constants.python}})}static getConfiguration(e,t){return t?oc.workspace.getConfiguration(e,t.uri):oc.workspace.getConfiguration(e)}};Ir.Utility=cc});var kf=D((gw,xf)=>{"use strict";var Of=require("child_process"),Df=Of.spawn,XC=Of.exec;xf.exports=function(n,e,t){if(typeof e=="function"&&t===void 0&&(t=e,e=void 0),n=parseInt(n),Number.isNaN(n)){if(t)return t(new Error("pid must be a number"));throw new Error("pid must be a number")}var r={},i={};switch(r[n]=[],i[n]=1,process.platform){case"win32":XC("taskkill /pid "+n+" /T /F",t);break;case"darwin":uc(n,r,i,function(s){return Df("pgrep",["-P",s])},function(){Ef(r,e,t)});break;default:uc(n,r,i,function(s){return Df("ps",["-o","pid","--no-headers","--ppid",s])},function(){Ef(r,e,t)});break}};function Ef(n,e,t){var r={};try{Object.keys(n).forEach(function(i){n[i].forEach(function(s){r[s]||(qf(s,e),r[s]=1)}),r[i]||(qf(i,e),r[i]=1)})}catch(i){if(t)return t(i);throw i}if(t)return t()}function qf(n,e){try{process.kill(parseInt(n,10),e)}catch(t){if(t.code!=="ESRCH")throw t}}function uc(n,e,t,r,i){var s=r(n),c="";s.stdout.on("data",function(g){var g=g.toString("ascii");c+=g});var f=function(d){if(delete t[n],d!=0){Object.keys(t).length==0&&i();return}c.match(/\d+/g).forEach(function(g){g=parseInt(g,10),e[n].push(g),e[g]=[],t[g]=1,uc(g,e,t,r,i)})};s.on("close",f)}});var If=D(jr=>{"use strict";var Lr=jr&&jr.__awaiter||function(n,e,t,r){function i(s){return s instanceof t?s:new t(function(c){c(s)})}return new(t||(t=Promise))(function(s,c){function f(C){try{g(r.next(C))}catch(w){c(w)}}function d(C){try{g(r.throw(C))}catch(w){c(w)}}function g(C){C.done?s(C.value):i(C.value).then(f,d)}g((r=r.apply(n,e||[])).next())})};Object.defineProperty(jr,"__esModule",{value:!0});var Ff=require("fs"),Mr=require("os"),Ar=require("path"),he=require("vscode"),VC=sc(),Nf=Pf(),JC=Mr.tmpdir(),lc=class{constructor(){this._TERMINAL_DEFAULT_SHELL_WINDOWS=null,this._outputChannel=he.window.createOutputChannel("Code"),this._terminal=null}onDidCloseTerminal(){this._terminal=null}run(e=null){return Lr(this,void 0,void 0,function*(){if(this._isRunning){he.window.showInformationMessage("Code is already running!");return}if(this._runFromExplorer=this.checkIsRunFromExplorer(e),this._runFromExplorer)this._document=yield he.workspace.openTextDocument(e);else{let s=he.window.activeTextEditor;if(s)this._document=s.document;else{he.window.showInformationMessage("No code found or selected.");return}}this.initialize();let t=Ar.extname(this._document.fileName),r=this._config.get("CustomRunCommand");var i=this._config.get("executable");if(r!=null&&r!="")this.getCodeFileAndExecute(t,r);else{if(i==null||i==""){he.window.showInformationMessage("No executable found.");return}this._config.get("data_path")!=null&&(this.isPowershellOnWindows()===!0?i="$env:DATAPATH='"+this._config.get("data_path")+"' ; "+i:Mr.platform()==="win32"?i="set DATAPATH="+this._config.get("data_path")+" & "+i:i="export DATAPATH="+this._config.get("data_path")+" ; "+i),this._config.get("xsdir")!=null&&this._config.get("xsdir")!=""&&(i=i+" XSDIR="+this._config.get("xsdir")),this._config.get("run_args")!=null&&this._config.get("run_args")!=""&&(i=i+" "+this._config.get("run_args")),i=i+" I=",this.getCodeFileAndExecute(t,i)}})}runPlotCommand(e=null){return Lr(this,void 0,void 0,function*(){if(this._isRunning){he.window.showInformationMessage("Code is already running!");return}if(this._runFromExplorer=this.checkIsRunFromExplorer(e),this._runFromExplorer)this._document=yield he.workspace.openTextDocument(e);else{let s=he.window.activeTextEditor;if(s)this._document=s.document;else{he.window.showInformationMessage("No code found or selected.");return}}this.initialize();let t=Ar.extname(this._document.fileName),r=this._config.get("CustomPlotCommand");var i=this._config.get("executable");if(r!=null&&r!="")this.getCodeFileAndExecute(t,r);else{if(i==null||i==""){he.window.showInformationMessage("No executable found.");return}this._config.get("data_path")!=null&&(this.isPowershellOnWindows()===!0?i="set DATAPATH="+this._config.get("data_path")+" ; "+i:Mr.platform()==="win32"?i="set DATAPATH="+this._config.get("data_path")+" & "+i:i="export DATAPATH="+this._config.get("data_path")+" ; "+i),i=i+" IP",this._config.get("xsdir")!=null&&this._config.get("xsdir")!=""&&(i=i+" XSDIR="+this._config.get("xsdir")),this._config.get("plot_args")!=null&&this._config.get("plot_args")!=""&&(i=i+" "+this._config.get("plot_args")),i=i+" N=",this.getCodeFileAndExecute(t,i)}})}stop(){this.stopRunning()}dispose(){this.stopRunning()}checkIsRunFromExplorer(e){let t=he.window.activeTextEditor;return!e||!e.fsPath?!1:t?e.fsPath!==t.document.uri.fsPath:!0}stopRunning(){this._isRunning&&(this._isRunning=!1,he.commands.executeCommand("setContext","nucomp-mcnp.codeRunning",!1),kf()(this._process.pid))}initialize(){this._config=this.getConfiguration("nucomp-mcnp"),this._cwd=this._config.get("cwd"),!this._cwd&&(this._workspaceFolder=this.getWorkspaceFolder(),(this._config.get("fileDirectoryAsCwd")||!this._workspaceFolder)&&this._document&&!this._document.isUntitled?this._cwd=Ar.dirname(this._document.fileName):this._cwd=this._workspaceFolder,!this._cwd&&(this._cwd=JC))}getConfiguration(e){return Nf.Utility.getConfiguration(e,this._document)}getWorkspaceFolder(){if(he.workspace.workspaceFolders){if(this._document){let e=he.workspace.getWorkspaceFolder(this._document.uri);if(e)return e.uri.fsPath}return he.workspace.workspaceFolders[0].uri.fsPath}else return}getCodeFileAndExecute(e,t,r=!0){let i,s=he.window.activeTextEditor;s&&(i=s.selection);let c=this._config.get("ignoreSelection");if((this._runFromExplorer||!i||i.isEmpty||c)&&!this._document.isUntitled){if(this._isTmpFile=!1,this._codeFile=this._document.fileName,this._config.get("saveAllFilesBeforeRun"))return he.workspace.saveAll().then(()=>{this.executeCommand(t,r)});if(this._config.get("saveFileBeforeRun"))return this._document.save().then(()=>{this.executeCommand(t,r)})}else{let f=this._runFromExplorer||!i||i.isEmpty||c?this._document.getText():this._document.getText(i);this._languageId==="php"&&(f=f.trim(),f.startsWith(">> no match, partial?`,n,C,e,w),C===c))}var b;if(typeof d=="string"?(b=g===d,this.debug("string match",d,g,b)):(b=g.match(d),this.debug("pattern match",d,g,b)),!b)return!1}if(i===c&&s===f)return!0;if(i===c)return t;if(s===f)return i===c-1&&n[i]==="";throw new Error("wtf?")};function vC(n){return n.replace(/\\(.)/g,"$1")}function yC(n){return n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}});var pf=D(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.WillDeleteFilesFeature=nt.WillRenameFilesFeature=nt.WillCreateFilesFeature=nt.DidDeleteFilesFeature=nt.DidRenameFilesFeature=nt.DidCreateFilesFeature=void 0;var kt=require("vscode"),CC=df(),Ut=me(),_C=_i();function ff(n,e){return n[e]===void 0&&(n[e]={}),n[e]}function RC(n,e){return n[e]}function hf(n,e,t){n[e]=t}var un=class{constructor(e,t,r,i,s){this._filters=new Map,this._client=e,this._event=t,this._registrationType=r,this._clientCapability=i,this._serverCapability=s}get registrationType(){return this._registrationType}fillClientCapabilities(e){let t=ff(ff(e,"workspace"),"fileOperations");hf(t,"dynamicRegistration",!0),hf(t,this._clientCapability,!0)}initialize(e){var t;let r=(t=e.workspace)===null||t===void 0?void 0:t.fileOperations,i=r!==void 0?RC(r,this._serverCapability):void 0;if(i?.filters!==void 0)try{this.register({id:_C.generateUuid(),registerOptions:{filters:i.filters}})}catch(s){this._client.warn(`Ignoring invalid glob pattern for ${this._serverCapability} registration: ${s}`)}}register(e){this._listener||(this._listener=this._event(this.send,this));let t=e.registerOptions.filters.map(r=>{let i=new CC.Minimatch(r.pattern.glob,un.asMinimatchOptions(r.pattern.options));if(!i.makeRe())throw new Error(`Invalid pattern ${r.pattern.glob}!`);return{scheme:r.scheme,matcher:i,kind:r.pattern.matches}});this._filters.set(e.id,t)}unregister(e){this._filters.delete(e),this._filters.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._filters.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}async filter(e,t){let r=await Promise.all(e.files.map(async s=>{let c=t(s),f=c.fsPath.replace(/\\/g,"/");for(let d of this._filters.values())for(let g of d)if(!(g.scheme!==void 0&&g.scheme!==c.scheme)){if(g.matcher.match(f)){if(g.kind===void 0)return!0;let C=await un.getFileType(c);if(C===void 0)return this._client.error(`Failed to determine file type for ${c.toString()}.`),!0;if(C===kt.FileType.File&&g.kind===Ut.FileOperationPatternKind.file||C===kt.FileType.Directory&&g.kind===Ut.FileOperationPatternKind.folder)return!0}else if(g.kind===Ut.FileOperationPatternKind.folder&&await un.getFileType(c)===kt.FileType.Directory&&g.matcher.match(`${f}/`))return!0}return!1})),i=e.files.filter((s,c)=>r[c]);return Object.assign(Object.assign({},e),{files:i})}static async getFileType(e){try{return(await kt.workspace.fs.stat(e)).type}catch{return}}static asMinimatchOptions(e){if(e!==void 0&&e.ignoreCase===!0)return{nocase:!0}}},Fr=class extends un{constructor(e,t,r,i,s,c,f){super(e,t,r,i,s),this._notificationType=r,this._accessUri=c,this._createParams=f}async send(e){let t=await this.filter(e,this._accessUri);if(t.files.length){let r=async i=>{this._client.sendNotification(this._notificationType,this._createParams(i))};this.doSend(t,r)}}},Ma=class extends Fr{constructor(e){super(e,kt.workspace.onDidCreateFiles,Ut.DidCreateFilesNotification.type,"didCreate","didCreate",t=>t,e.code2ProtocolConverter.asDidCreateFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.didCreateFiles?i.didCreateFiles(e,t):t(e)}};nt.DidCreateFilesFeature=Ma;var ja=class extends Fr{constructor(e){super(e,kt.workspace.onDidRenameFiles,Ut.DidRenameFilesNotification.type,"didRename","didRename",t=>t.oldUri,e.code2ProtocolConverter.asDidRenameFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.didRenameFiles?i.didRenameFiles(e,t):t(e)}};nt.DidRenameFilesFeature=ja;var $a=class extends Fr{constructor(e){super(e,kt.workspace.onDidDeleteFiles,Ut.DidDeleteFilesNotification.type,"didDelete","didDelete",t=>t,e.code2ProtocolConverter.asDidDeleteFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.didDeleteFiles?i.didDeleteFiles(e,t):t(e)}};nt.DidDeleteFilesFeature=$a;var Nr=class extends un{constructor(e,t,r,i,s,c,f){super(e,t,r,i,s),this._requestType=r,this._accessUri=c,this._createParams=f}async send(e){let t=this.waitUntil(e);e.waitUntil(t)}async waitUntil(e){let t=await this.filter(e,this._accessUri);if(t.files.length){let r=i=>this._client.sendRequest(this._requestType,this._createParams(i)).then(this._client.protocol2CodeConverter.asWorkspaceEdit);return this.doSend(t,r)}else return}},Wa=class extends Nr{constructor(e){super(e,kt.workspace.onWillCreateFiles,Ut.WillCreateFilesRequest.type,"willCreate","willCreate",t=>t,e.code2ProtocolConverter.asWillCreateFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.willCreateFiles?i.willCreateFiles(e,t):t(e)}};nt.WillCreateFilesFeature=Wa;var Ha=class extends Nr{constructor(e){super(e,kt.workspace.onWillRenameFiles,Ut.WillRenameFilesRequest.type,"willRename","willRename",t=>t.oldUri,e.code2ProtocolConverter.asWillRenameFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.willRenameFiles?i.willRenameFiles(e,t):t(e)}};nt.WillRenameFilesFeature=Ha;var Ka=class extends Nr{constructor(e){super(e,kt.workspace.onWillDeleteFiles,Ut.WillDeleteFilesRequest.type,"willDelete","willDelete",t=>t,e.code2ProtocolConverter.asWillDeleteFilesParams)}doSend(e,t){var r;let i=(r=this._client.clientOptions.middleware)===null||r===void 0?void 0:r.workspace;return i?.willDeleteFiles?i.willDeleteFiles(e,t):t(e)}};nt.WillDeleteFilesFeature=Ka});var mf=D(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.LinkedEditingFeature=void 0;var wC=require("vscode"),za=me(),TC=st();function gf(n,e){return n[e]===void 0&&(n[e]={}),n[e]}var Ua=class extends TC.TextDocumentFeature{constructor(e){super(e,za.LinkedEditingRangeRequest.type)}fillClientCapabilities(e){let t=gf(gf(e,"textDocument"),"linkedEditingRange");t.dynamicRegistration=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.linkedEditingRangeProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t={provideLinkedEditingRanges:(r,i,s)=>{let c=this._client,f=(g,C,w)=>c.sendRequest(za.LinkedEditingRangeRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(g,C),w).then(c.protocol2CodeConverter.asLinkedEditingRanges,T=>c.handleFailedRequest(za.LinkedEditingRangeRequest.type,T,null)),d=c.clientOptions.middleware;return d.provideLinkedEditingRange?d.provideLinkedEditingRange(r,i,s,f):f(r,i,s)}};return[wC.languages.registerLinkedEditingRangeProvider(e.documentSelector,t),t]}};Wi.LinkedEditingFeature=Ua});var Ga=D(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.ProposedFeatures=Fn.CommonLanguageClient=void 0;var SC=st(),bC=qd(),PC=Co(),DC=xd(),EC=kd(),qC=Fd(),OC=Id(),xC=Ad(),kC=jd(),FC=$d(),NC=Hd(),IC=Kd(),er=pf(),LC=mf(),Ba=class extends SC.BaseLanguageClient{constructor(e,t,r){super(e,t,r)}registerProposedFeatures(){this.registerFeatures(vf.createAll(this))}registerBuiltinFeatures(){super.registerBuiltinFeatures(),this.registerFeature(new PC.ConfigurationFeature(this)),this.registerFeature(new EC.TypeDefinitionFeature(this)),this.registerFeature(new DC.ImplementationFeature(this)),this.registerFeature(new bC.ColorProviderFeature(this)),this.registerFeature(new qC.WorkspaceFoldersFeature(this)),this.registerFeature(new OC.FoldingRangeFeature(this)),this.registerFeature(new xC.DeclarationFeature(this)),this.registerFeature(new kC.SelectionRangeFeature(this)),this.registerFeature(new FC.ProgressFeature(this)),this.registerFeature(new NC.CallHierarchyFeature(this)),this.registerFeature(new IC.SemanticTokensFeature(this)),this.registerFeature(new LC.LinkedEditingFeature(this)),this.registerFeature(new er.DidCreateFilesFeature(this)),this.registerFeature(new er.DidRenameFilesFeature(this)),this.registerFeature(new er.DidDeleteFilesFeature(this)),this.registerFeature(new er.WillCreateFilesFeature(this)),this.registerFeature(new er.WillRenameFilesFeature(this)),this.registerFeature(new er.WillDeleteFilesFeature(this))}};Fn.CommonLanguageClient=Ba;var vf;(function(n){function e(t){return[]}n.createAll=e})(vf=Fn.ProposedFeatures||(Fn.ProposedFeatures={}))});var Cf=D(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});Hi.terminate=void 0;var yf=require("child_process"),AC=require("path"),MC=process.platform==="win32",jC=process.platform==="darwin",$C=process.platform==="linux";function WC(n,e){if(MC)try{let i={stdio:["pipe","pipe","ignore"]};return e&&(i.cwd=e),yf.execFileSync("taskkill",["/T","/F","/PID",n.pid.toString()],i),!0}catch{return!1}else if($C||jC)try{var t=AC.join(__dirname,"terminateProcess.sh"),r=yf.spawnSync(t,[n.pid.toString()]);return!r.error}catch{return!1}else return n.kill("SIGKILL"),!0}Hi.terminate=WC});var Xa=D((lw,_f)=>{"use strict";_f.exports=me()});var Rf=D(Bt=>{"use strict";var HC=Bt&&Bt.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),Va=Bt&&Bt.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&HC(e,n,t)};Object.defineProperty(Bt,"__esModule",{value:!0});Va(me(),Bt);Va(st(),Bt);Va(Ga(),Bt)});var bf=D(Qe=>{"use strict";var KC=Qe&&Qe.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),Sf=Qe&&Qe.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&KC(e,n,t)};Object.defineProperty(Qe,"__esModule",{value:!0});Qe.SettingMonitor=Qe.LanguageClient=Qe.TransportKind=void 0;var Nn=require("child_process"),Ja=require("fs"),Qa=require("path"),wf=sl(),ln=require("vscode"),Ee=tn(),zC=Ga(),UC=st(),BC=Cf(),De=Xa();Sf(Xa(),Qe);Sf(Rf(),Qe);var Tf="^1.52.0",Ya;(function(n){function e(t){return Ee.string(t.command)}n.is=e})(Ya||(Ya={}));var He;(function(n){n[n.stdio=0]="stdio",n[n.ipc=1]="ipc",n[n.pipe=2]="pipe",n[n.socket=3]="socket"})(He=Qe.TransportKind||(Qe.TransportKind={}));var tr;(function(n){function e(t){let r=t;return r&&r.kind===He.socket&&Ee.number(r.port)}n.isSocket=e})(tr||(tr={}));var Za;(function(n){function e(t){return Ee.string(t.module)}n.is=e})(Za||(Za={}));var ec;(function(n){function e(t){let r=t;return r&&r.writer!==void 0&&r.reader!==void 0}n.is=e})(ec||(ec={}));var tc;(function(n){function e(t){let r=t;return r&&r.process!==void 0&&typeof r.detached=="boolean"}n.is=e})(tc||(tc={}));var nc=class extends zC.CommonLanguageClient{constructor(e,t,r,i,s){let c,f,d,g,C;Ee.string(t)?(c=e,f=t,d=r,g=i,C=!!s):(c=e.toLowerCase(),f=e,d=t,g=r,C=i),C===void 0&&(C=!1),super(c,f,g),this._serverOptions=d,this._forceDebug=C;try{this.checkVersion()}catch(w){throw Ee.string(w.message)&&this.outputChannel.appendLine(w.message),w}}checkVersion(){let e=wf.parse(ln.version);if(!e)throw new Error(`No valid VS Code version detected. Version string is: ${ln.version}`);if(e.prerelease&&e.prerelease.length>0&&(e.prerelease=[]),!wf.satisfies(e,Tf))throw new Error(`The language client requires VS Code version ${Tf} but received version ${ln.version}`)}stop(){return super.stop().then(()=>{if(this._serverProcess){let e=this._serverProcess;this._serverProcess=void 0,(this._isDetached===void 0||!this._isDetached)&&this.checkProcessDied(e),this._isDetached=void 0}})}checkProcessDied(e){!e||setTimeout(()=>{try{process.kill(e.pid,0),BC.terminate(e)}catch{}},2e3)}handleConnectionClosed(){this._serverProcess=void 0,super.handleConnectionClosed()}fillInitializeParams(e){super.fillInitializeParams(e),e.processId===null&&(e.processId=process.pid)}createMessageTransports(e){function t(C,w){if(!C&&!w)return;let T=Object.create(null);return Object.keys(process.env).forEach(b=>T[b]=process.env[b]),w&&(T.ELECTRON_RUN_AS_NODE="1",T.ELECTRON_NO_ASAR="1"),C&&Object.keys(C).forEach(b=>T[b]=C[b]),T}let r=["--debug=","--debug-brk=","--inspect=","--inspect-brk="],i=["--debug","--debug-brk","--inspect","--inspect-brk"];function s(){let C=process.execArgv;return C?C.some(w=>r.some(T=>w.startsWith(T))||i.some(T=>w===T)):!1}function c(C){if(C.stdin===null||C.stdout===null||C.stderr===null)throw new Error("Process created without stdio streams")}let f=this._serverOptions;if(Ee.func(f))return f().then(C=>{if(UC.MessageTransports.is(C))return this._isDetached=!!C.detached,C;if(ec.is(C))return this._isDetached=!!C.detached,{reader:new De.StreamMessageReader(C.reader),writer:new De.StreamMessageWriter(C.writer)};{let w;return tc.is(C)?(w=C.process,this._isDetached=C.detached):(w=C,this._isDetached=!1),w.stderr.on("data",T=>this.outputChannel.append(Ee.string(T)?T:T.toString(e))),{reader:new De.StreamMessageReader(w.stdout),writer:new De.StreamMessageWriter(w.stdin)}}});let d,g=f;return g.run||g.debug?this._forceDebug||s()?d=g.debug:d=g.run:d=f,this._getServerWorkingDir(d.options).then(C=>{if(Za.is(d)&&d.module){let w=d,T=w.transport||He.stdio;if(w.runtime){let b=[],F=w.options||Object.create(null);F.execArgv&&F.execArgv.forEach(O=>b.push(O)),b.push(w.module),w.args&&w.args.forEach(O=>b.push(O));let I=Object.create(null);I.cwd=C,I.env=t(F.env,!1);let z=this._getRuntimePath(w.runtime,C),N;if(T===He.ipc?(I.stdio=[null,null,null,"ipc"],b.push("--node-ipc")):T===He.stdio?b.push("--stdio"):T===He.pipe?(N=De.generateRandomPipeName(),b.push(`--pipe=${N}`)):tr.isSocket(T)&&b.push(`--socket=${T.port}`),b.push(`--clientProcessId=${process.pid.toString()}`),T===He.ipc||T===He.stdio){let O=Nn.spawn(z,b,I);return!O||!O.pid?Promise.reject(`Launching server using runtime ${z} failed.`):(this._serverProcess=O,O.stderr.on("data",k=>this.outputChannel.append(Ee.string(k)?k:k.toString(e))),T===He.ipc?(O.stdout.on("data",k=>this.outputChannel.append(Ee.string(k)?k:k.toString(e))),Promise.resolve({reader:new De.IPCMessageReader(O),writer:new De.IPCMessageWriter(O)})):Promise.resolve({reader:new De.StreamMessageReader(O.stdout),writer:new De.StreamMessageWriter(O.stdin)}))}else{if(T===He.pipe)return De.createClientPipeTransport(N).then(O=>{let k=Nn.spawn(z,b,I);return!k||!k.pid?Promise.reject(`Launching server using runtime ${z} failed.`):(this._serverProcess=k,k.stderr.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),k.stdout.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),O.onConnected().then(q=>({reader:q[0],writer:q[1]})))});if(tr.isSocket(T))return De.createClientSocketTransport(T.port).then(O=>{let k=Nn.spawn(z,b,I);return!k||!k.pid?Promise.reject(`Launching server using runtime ${z} failed.`):(this._serverProcess=k,k.stderr.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),k.stdout.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),O.onConnected().then(q=>({reader:q[0],writer:q[1]})))})}}else{let b;return new Promise((F,I)=>{let z=w.args&&w.args.slice()||[];T===He.ipc?z.push("--node-ipc"):T===He.stdio?z.push("--stdio"):T===He.pipe?(b=De.generateRandomPipeName(),z.push(`--pipe=${b}`)):tr.isSocket(T)&&z.push(`--socket=${T.port}`),z.push(`--clientProcessId=${process.pid.toString()}`);let N=w.options||Object.create(null);if(N.env=t(N.env,!0),N.execArgv=N.execArgv||[],N.cwd=C,N.silent=!0,T===He.ipc||T===He.stdio){let O=Nn.fork(w.module,z||[],N);c(O),this._serverProcess=O,O.stderr.on("data",k=>this.outputChannel.append(Ee.string(k)?k:k.toString(e))),T===He.ipc?(O.stdout.on("data",k=>this.outputChannel.append(Ee.string(k)?k:k.toString(e))),F({reader:new De.IPCMessageReader(this._serverProcess),writer:new De.IPCMessageWriter(this._serverProcess)})):F({reader:new De.StreamMessageReader(O.stdout),writer:new De.StreamMessageWriter(O.stdin)})}else T===He.pipe?De.createClientPipeTransport(b).then(O=>{let k=Nn.fork(w.module,z||[],N);c(k),this._serverProcess=k,k.stderr.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),k.stdout.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),O.onConnected().then(q=>{F({reader:q[0],writer:q[1]})})}):tr.isSocket(T)&&De.createClientSocketTransport(T.port).then(O=>{let k=Nn.fork(w.module,z||[],N);c(k),this._serverProcess=k,k.stderr.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),k.stdout.on("data",q=>this.outputChannel.append(Ee.string(q)?q:q.toString(e))),O.onConnected().then(q=>{F({reader:q[0],writer:q[1]})})})})}}else if(Ya.is(d)&&d.command){let w=d,T=w.args||[],b=Object.assign({},w.options);b.cwd=b.cwd||C;let F=Nn.spawn(w.command,T,b);return!F||!F.pid?Promise.reject(`Launching server using command ${w.command} failed.`):(F.stderr.on("data",I=>this.outputChannel.append(Ee.string(I)?I:I.toString(e))),this._serverProcess=F,this._isDetached=!!b.detached,Promise.resolve({reader:new De.StreamMessageReader(F.stdout),writer:new De.StreamMessageWriter(F.stdin)}))}return Promise.reject(new Error("Unsupported server configuration "+JSON.stringify(f,null,4)))})}_getRuntimePath(e,t){if(Qa.isAbsolute(e))return e;let r=this._mainGetRootPath();if(r!==void 0){let i=Qa.join(r,e);if(Ja.existsSync(i))return i}if(t!==void 0){let i=Qa.join(t,e);if(Ja.existsSync(i))return i}return e}_mainGetRootPath(){let e=ln.workspace.workspaceFolders;if(!e||e.length===0)return;let t=e[0];if(t.uri.scheme==="file")return t.uri.fsPath}_getServerWorkingDir(e){let t=e&&e.cwd;return t||(t=this.clientOptions.workspaceFolder?this.clientOptions.workspaceFolder.uri.fsPath:this._mainGetRootPath()),t?new Promise(r=>{Ja.lstat(t,(i,s)=>{r(!i&&s.isDirectory()?t:void 0)})}):Promise.resolve(void 0)}getLocale(){let e=process.env.VSCODE_NLS_CONFIG;if(e===void 0)return"en";let t;try{t=JSON.parse(e)}catch{}return t===void 0||typeof t.locale!="string"?"en":t.locale}};Qe.LanguageClient=nc;var rc=class{constructor(e,t){this._client=e,this._setting=t,this._listeners=[]}start(){return ln.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration,this,this._listeners),this.onDidChangeConfiguration(),new ln.Disposable(()=>{this._client.needsStop()&&this._client.stop()})}onDidChangeConfiguration(){let e=this._setting.indexOf("."),t=e>=0?this._setting.substr(0,e):this._setting,r=e>=0?this._setting.substr(e+1):void 0,i=r?ln.workspace.getConfiguration(t).get(r,!1):ln.workspace.getConfiguration(t);i&&this._client.needsStart()?this._client.start():!i&&this._client.needsStop()&&this._client.stop()}};Qe.SettingMonitor=rc});var sc=D(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});var Ki=class{};ic.Constants=Ki;Ki.python="python"});var Pf=D(Ir=>{"use strict";var GC=Ir&&Ir.__awaiter||function(n,e,t,r){function i(s){return s instanceof t?s:new t(function(c){c(s)})}return new(t||(t=Promise))(function(s,c){function f(C){try{g(r.next(C))}catch(w){c(w)}}function d(C){try{g(r.throw(C))}catch(w){c(w)}}function g(C){C.done?s(C.value):i(C.value).then(f,d)}g((r=r.apply(n,e||[])).next())})};Object.defineProperty(Ir,"__esModule",{value:!0});var oc=require("vscode"),ac=sc(),cc=class{static getPythonPath(e){var t,r;return GC(this,void 0,void 0,function*(){try{let i=oc.extensions.getExtension("ms-python.python");if(!i)return ac.Constants.python;if((r=(t=i.packageJSON)===null||t===void 0?void 0:t.featureFlags)===null||r===void 0?void 0:r.usingNewInterpreterStorage){i.isActive||(yield i.activate());let c=i.exports.settings.getExecutionDetails?i.exports.settings.getExecutionDetails(e?.uri).execCommand:i.exports.settings.getExecutionCommand(e?.uri);return c?c.join(" "):ac.Constants.python}else return this.getConfiguration("python",e).get("pythonPath")}catch{return ac.Constants.python}})}static getConfiguration(e,t){return t?oc.workspace.getConfiguration(e,t.uri):oc.workspace.getConfiguration(e)}};Ir.Utility=cc});var kf=D((gw,xf)=>{"use strict";var Of=require("child_process"),Df=Of.spawn,XC=Of.exec;xf.exports=function(n,e,t){if(typeof e=="function"&&t===void 0&&(t=e,e=void 0),n=parseInt(n),Number.isNaN(n)){if(t)return t(new Error("pid must be a number"));throw new Error("pid must be a number")}var r={},i={};switch(r[n]=[],i[n]=1,process.platform){case"win32":XC("taskkill /pid "+n+" /T /F",t);break;case"darwin":uc(n,r,i,function(s){return Df("pgrep",["-P",s])},function(){Ef(r,e,t)});break;default:uc(n,r,i,function(s){return Df("ps",["-o","pid","--no-headers","--ppid",s])},function(){Ef(r,e,t)});break}};function Ef(n,e,t){var r={};try{Object.keys(n).forEach(function(i){n[i].forEach(function(s){r[s]||(qf(s,e),r[s]=1)}),r[i]||(qf(i,e),r[i]=1)})}catch(i){if(t)return t(i);throw i}if(t)return t()}function qf(n,e){try{process.kill(parseInt(n,10),e)}catch(t){if(t.code!=="ESRCH")throw t}}function uc(n,e,t,r,i){var s=r(n),c="";s.stdout.on("data",function(g){var g=g.toString("ascii");c+=g});var f=function(d){if(delete t[n],d!=0){Object.keys(t).length==0&&i();return}c.match(/\d+/g).forEach(function(g){g=parseInt(g,10),e[n].push(g),e[g]=[],t[g]=1,uc(g,e,t,r,i)})};s.on("close",f)}});var If=D(jr=>{"use strict";var Lr=jr&&jr.__awaiter||function(n,e,t,r){function i(s){return s instanceof t?s:new t(function(c){c(s)})}return new(t||(t=Promise))(function(s,c){function f(C){try{g(r.next(C))}catch(w){c(w)}}function d(C){try{g(r.throw(C))}catch(w){c(w)}}function g(C){C.done?s(C.value):i(C.value).then(f,d)}g((r=r.apply(n,e||[])).next())})};Object.defineProperty(jr,"__esModule",{value:!0});var Ff=require("fs"),Mr=require("os"),Ar=require("path"),he=require("vscode"),VC=sc(),Nf=Pf(),JC=Mr.tmpdir(),lc=class{constructor(){this._TERMINAL_DEFAULT_SHELL_WINDOWS=null,this._outputChannel=he.window.createOutputChannel("Code"),this._terminal=null}onDidCloseTerminal(){this._terminal=null}run(e=null){return Lr(this,void 0,void 0,function*(){if(this._isRunning){he.window.showInformationMessage("Code is already running!");return}if(this._runFromExplorer=this.checkIsRunFromExplorer(e),this._runFromExplorer)this._document=yield he.workspace.openTextDocument(e);else{let s=he.window.activeTextEditor;if(s)this._document=s.document;else{he.window.showInformationMessage("No code found or selected.");return}}this.initialize();let t=Ar.extname(this._document.fileName),r=this._config.get("CustomRunCommand");var i=this._config.get("executable");if(r!=null&&r!="")this.getCodeFileAndExecute(t,r);else{if(i==null||i==""){he.window.showInformationMessage("No executable found.");return}this._config.get("data_path")!=null&&(this.isPowershellOnWindows()===!0?i="$env:DATAPATH='"+this._config.get("data_path")+"' ; "+i:Mr.platform()==="win32"?i="set DATAPATH="+this._config.get("data_path")+" & "+i:i="export DATAPATH="+this._config.get("data_path")+" ; "+i),this._config.get("xsdir")!=null&&this._config.get("xsdir")!=""&&(i=i+" XSDIR="+this._config.get("xsdir")),this._config.get("run_args")!=null&&this._config.get("run_args")!=""&&(i=i+" "+this._config.get("run_args")),i=i+" I=",this.getCodeFileAndExecute(t,i)}})}runPlotCommand(e=null){return Lr(this,void 0,void 0,function*(){if(this._isRunning){he.window.showInformationMessage("Code is already running!");return}if(this._runFromExplorer=this.checkIsRunFromExplorer(e),this._runFromExplorer)this._document=yield he.workspace.openTextDocument(e);else{let s=he.window.activeTextEditor;if(s)this._document=s.document;else{he.window.showInformationMessage("No code found or selected.");return}}this.initialize();let t=Ar.extname(this._document.fileName),r=this._config.get("CustomPlotCommand");var i=this._config.get("executable");if(r!=null&&r!="")this.getCodeFileAndExecute(t,r);else{if(i==null||i==""){he.window.showInformationMessage("No executable found.");return}this._config.get("data_path")!=null&&(this.isPowershellOnWindows()===!0?i="$env:DATAPATH='"+this._config.get("data_path")+"' ; "+i:Mr.platform()==="win32"?i="set DATAPATH="+this._config.get("data_path")+" & "+i:i="export DATAPATH="+this._config.get("data_path")+" ; "+i),i=i+" IP",this._config.get("xsdir")!=null&&this._config.get("xsdir")!=""&&(i=i+" XSDIR="+this._config.get("xsdir")),this._config.get("plot_args")!=null&&this._config.get("plot_args")!=""&&(i=i+" "+this._config.get("plot_args")),i=i+" N=",this.getCodeFileAndExecute(t,i)}})}stop(){this.stopRunning()}dispose(){this.stopRunning()}checkIsRunFromExplorer(e){let t=he.window.activeTextEditor;return!e||!e.fsPath?!1:t?e.fsPath!==t.document.uri.fsPath:!0}stopRunning(){this._isRunning&&(this._isRunning=!1,he.commands.executeCommand("setContext","nucomp-mcnp.codeRunning",!1),kf()(this._process.pid))}initialize(){this._config=this.getConfiguration("nucomp-mcnp"),this._cwd=this._config.get("cwd"),!this._cwd&&(this._workspaceFolder=this.getWorkspaceFolder(),(this._config.get("fileDirectoryAsCwd")||!this._workspaceFolder)&&this._document&&!this._document.isUntitled?this._cwd=Ar.dirname(this._document.fileName):this._cwd=this._workspaceFolder,!this._cwd&&(this._cwd=JC))}getConfiguration(e){return Nf.Utility.getConfiguration(e,this._document)}getWorkspaceFolder(){if(he.workspace.workspaceFolders){if(this._document){let e=he.workspace.getWorkspaceFolder(this._document.uri);if(e)return e.uri.fsPath}return he.workspace.workspaceFolders[0].uri.fsPath}else return}getCodeFileAndExecute(e,t,r=!0){let i,s=he.window.activeTextEditor;s&&(i=s.selection);let c=this._config.get("ignoreSelection");if((this._runFromExplorer||!i||i.isEmpty||c)&&!this._document.isUntitled){if(this._isTmpFile=!1,this._codeFile=this._document.fileName,this._config.get("saveAllFilesBeforeRun"))return he.workspace.saveAll().then(()=>{this.executeCommand(t,r)});if(this._config.get("saveFileBeforeRun"))return this._document.save().then(()=>{this.executeCommand(t,r)})}else{let f=this._runFromExplorer||!i||i.isEmpty||c?this._document.getText():this._document.getText(i);this._languageId==="php"&&(f=f.trim(),f.startsWith("{r=r.replace(f.regex,f.replaceValue)})}return r!==e?r:e+(t?" "+this.quoteFileName(this._codeFile):"")})}changeExecutorFromCmdToPs(e){if(e.includes(" && ")&&this.isPowershellOnWindows()){let t="; if ($?) {";return e=e.replace("&&",t),t="} "+t,e=e.replace(/&&/g,t),e=e.replace(/\$dir\$fileNameWithoutExt/g,".\\$fileNameWithoutExt"),e+" }"}return e}isPowershellOnWindows(){if(Mr.platform()==="win32"){let e=he.workspace.getConfiguration("terminal").get("integrated.defaultProfile.windows");if(e){if(e.toLowerCase().includes("powershell"))return!0;if(e==="Command Prompt")return!1}let t=he.env.shell;return t&&t.toLowerCase().includes("powershell")}return!1}changeFilePathForBashOnWindows(e){if(Mr.platform()==="win32"){let t=he.env.shell,r=this._config.get("terminalRoot");t&&r?e=e.replace(/([A-Za-z]):\\/g,(i,s)=>`${r}${s.toLowerCase()}/`).replace(/\\/g,"/"):t&&t.toLowerCase().indexOf("bash")>-1&&t.toLowerCase().indexOf("windows")>-1&&(e=e.replace(/([A-Za-z]):\\/g,this.replacer).replace(/\\/g,"/"))}return e}replacer(e,t){return`/mnt/${t.toLowerCase()}/`}executeCommandInTerminal(e,t=!0){return Lr(this,void 0,void 0,function*(){let r=!1;this._terminal===null&&(this._terminal=he.window.createTerminal("Code"),r=!0),this._terminal.show(this._config.get("preserveFocus")),e=this.changeExecutorFromCmdToPs(e);let i=yield this.getFinalCommandToRunCodeFile(e,t);if(i=this.changeFilePathForBashOnWindows(i),this._config.get("clearPreviousOutput")&&!r&&(yield he.commands.executeCommand("workbench.action.terminal.clear")),this._config.get("fileDirectoryAsCwd")){let s=this.changeFilePathForBashOnWindows(this._cwd);this._terminal.sendText(`cd "${s}"`)}this._terminal.sendText(i)})}executeCommandInOutputChannel(e,t=!0){return Lr(this,void 0,void 0,function*(){this._isRunning=!0,he.commands.executeCommand("setContext","nucomp-mcnp.codeRunning",!0),this._config.get("clearPreviousOutput")&&this._outputChannel.clear();let i=this._config.get("showExecutionMessage");this._outputChannel.show(this._config.get("preserveFocus"));let s=require("child_process").spawn,c=yield this.getFinalCommandToRunCodeFile(e,t);i&&this._outputChannel.appendLine("[Running] "+c);let f=new Date;this._process=s(c,[],{cwd:this._cwd,shell:!0}),this._process.stdout.on("data",d=>{this._outputChannel.append(d.toString())}),this._process.stderr.on("data",d=>{this._outputChannel.append(d.toString())}),this._process.on("close",d=>{this._isRunning=!1,he.commands.executeCommand("setContext","nucomp-mcnp.codeRunning",!1);let C=(new Date().getTime()-f.getTime())/1e3;this._outputChannel.appendLine(""),i&&(this._outputChannel.appendLine("[Done] exited with code="+d+" in "+C+" seconds"),this._outputChannel.appendLine("")),this._isTmpFile&&Ff.unlinkSync(this._codeFile)})})}};jr.CodeManager=lc});Object.defineProperty(exports,"__esModule",{value:!0});var $r=require("vscode"),QC=require("path"),YC=bf(),ZC=If();function e_(n){let e=process.platform=="win32"?".bat":"",t="mcnp-server"+e,i={command:n.asAbsolutePath(QC.join("mcnp-server","bin",t))},s={documentSelector:["mcnp"],synchronize:{configurationSection:"languageServerExample",fileEvents:$r.workspace.createFileSystemWatcher("**/*.*")}},c=new YC.LanguageClient("Xtext Server",i,s).start();n.subscriptions.push(c);let f=new ZC.CodeManager;$r.window.onDidCloseTerminal(()=>{f.onDidCloseTerminal()});let d=$r.commands.registerCommand("nucomp-mcnp.run",w=>{f.run(w)}),g=$r.commands.registerCommand("nucomp-mcnp.runPlotCommand",w=>{f.runPlotCommand(w)}),C=$r.commands.registerCommand("nucomp-mcnp.stop",()=>{f.stop()});n.subscriptions.push(d),n.subscriptions.push(g),n.subscriptions.push(C),n.subscriptions.push(f)}exports.activate=e_;function t_(){}exports.deactivate=t_;