monaco-editor
Version:
A browser based code editor
5 lines (4 loc) • 79.1 kB
JavaScript
define("vs/editor/editor.main",["exports","require","vs/nls.messages-loader!","../monaco.contribution-DO3azKX8","../monaco.contribution-qLAYrEOP","../monaco.contribution-EcChJV6a","../monaco.contribution-D2OdxNBt","../basic-languages/monaco.contribution","../editor.api-CalNCsUg","../workers-DcJshg-q"],(function(D,S,Xn,O,A,N,W,Yn,s,Z){"use strict";function Ne(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const We=Ne(S),ze=""+new URL(S.toUrl("../assets/json.worker-DKiEKt88.js"),document.baseURI).href,qe=""+new URL(S.toUrl("../assets/css.worker-HnVq6Ewq.js"),document.baseURI).href,je=""+new URL(S.toUrl("../assets/html.worker-B51mlPHg.js"),document.baseURI).href,Ue=""+new URL(S.toUrl("../assets/ts.worker-CMbG-7ft.js"),document.baseURI).href,Be=""+new URL(S.toUrl("../assets/editor.worker-Be8ye1pW.js"),document.baseURI).href;function Ve(e){return e.method!==void 0}var K;(function(e){function t(n){return n}e.create=t})(K||(K={}));var w;(function(e){e.parseError=-32700,e.invalidRequest=-32600,e.methodNotFound=-32601,e.invalidParams=-32602,e.internalError=-32603;function t(o){return-32099<=o&&o<=-32e3}e.isServerError=t;function n(o){if(!t(o))throw new Error("Invalid range for a server error.");return o}e.serverError=n,e.unexpectedServerError=-32e3;function r(o){return!0}e.isApplicationError=r;function i(o){return o}e.applicationError=i,e.genericApplicationError=-320100})(w||(w={}));var z=class{listeners=new Set;event=e=>(this.listeners.add(e),{dispose:()=>{this.listeners.delete(e)}});fire(e){this.listeners.forEach(t=>t(e))}},Je=class{_value;eventEmitter;constructor(e){this._value=e,this.eventEmitter=new z}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this.eventEmitter.fire(e))}get onChange(){return this.eventEmitter.event}};function Ge(e,t){const n=setTimeout(t,e);return{dispose:()=>clearTimeout(n)}}function q(e,t,n){return e instanceof Set?(e.add(t),{dispose:()=>e.delete(t)}):(e.set(t,n),{dispose:()=>e.delete(t)})}var Qe=class{_state="none";promise;resolve=()=>{};reject=()=>{};constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}get state(){return this._state}},$=class Me{static id=0;_unprocessedMessages=[];_messageListener;id=Me.id++;_state=new Je({state:"open"});state=this._state;setListener(t){if(this._messageListener=t,!!t)for(;this._unprocessedMessages.length>0&&this._messageListener!==void 0;){const n=this._unprocessedMessages.shift();this._messageListener(n)}}send(t){return this._sendImpl(t)}_dispatchReceivedMessage(t){this._unprocessedMessages.length===0&&this._messageListener?this._messageListener(t):this._unprocessedMessages.push(t)}_onConnectionClosed(){this._state.value={state:"closed",error:void 0}}log(t){return new Xe(this,t??new Ye)}},Xe=class{baseStream;logger;constructor(e,t){this.baseStream=e,this.logger=t}get state(){return this.baseStream.state}setListener(e){if(e===void 0){this.baseStream.setListener(void 0);return}this.baseStream.setListener(t=>{this.logger.log(this.baseStream,"incoming",t),e(t)})}send(e){return this.logger.log(this.baseStream,"outgoing",e),this.baseStream.send(e)}toString(){return`StreamLogger/${this.baseStream.toString()}`}},Ye=class{log(e,t,n){console.log(`${t==="incoming"?"<-":"->"} [${e.toString()}] ${JSON.stringify(n)}`)}},Ze=class Ee{connect;constructor(t){this.connect=t}mapContext(t){return new Ee(n=>this.connect(n?Ke(n,t):void 0))}};function Ke(e,t){return{handleNotification:(n,r)=>e.handleNotification(n,t(r)),handleRequest:(n,r,i)=>e.handleRequest(n,r,t(i))}}var $e=class Fe{_stream;_listener;_logger;static createChannel(t,n){let r=!1;return new Ze(i=>{if(r)throw new Error(`A channel to the stream ${t} was already constructed!`);return r=!0,new Fe(t,i,n)})}_unprocessedResponses=new Map;_lastUsedRequestId=0;constructor(t,n,r){this._stream=t,this._listener=n,this._logger=r,this._stream.setListener(i=>{Ve(i)?i.id===void 0?this._processNotification(i):this._processRequest(i):this._processResponse(i)})}get state(){return this._stream.state}async _processNotification(t){if(t.id!==void 0)throw new Error;if(!this._listener){this._logger&&this._logger.debug({text:"Notification ignored",message:t});return}try{await this._listener.handleNotification({method:t.method,params:t.params||null})}catch(n){this._logger&&this._logger.warn({text:`Exception was thrown while handling notification: ${n}`,exception:n,message:t})}}async _processRequest(t){if(t.id===void 0)throw new Error;let n;if(this._listener)try{n=await this._listener.handleRequest({method:t.method,params:t.params||null},t.id)}catch(i){this._logger&&this._logger.warn({text:`Exception was thrown while handling request: ${i}`,message:t,exception:i}),n={error:{code:w.internalError,message:"An unexpected exception was thrown.",data:void 0}}}else this._logger&&this._logger.debug({text:"Received request even though not listening for requests",message:t}),n={error:{code:w.methodNotFound,message:"This endpoint does not listen for requests or notifications.",data:void 0}};let r;"result"in n?r={jsonrpc:"2.0",id:t.id,result:n.result}:r={jsonrpc:"2.0",id:t.id,error:n.error},await this._stream.send(r)}_processResponse(t){const n=""+t.id,r=this._unprocessedResponses.get(n);if(!r){this._logger&&this._logger.debug({text:"Got an unexpected response message",message:t});return}this._unprocessedResponses.delete(n),r(t)}_newRequestId(){return this._lastUsedRequestId++}sendRequest(t,n,r){const i={jsonrpc:"2.0",id:this._newRequestId(),method:t.method,params:t.params||void 0};return r&&r(i.id),new Promise((o,a)=>{const l=""+i.id;this._unprocessedResponses.set(l,g=>{"result"in g?o({result:g.result}):(g.error||a(new Error("Response had neither 'result' nor 'error' field set.")),o({error:g.error}))}),this._stream.send(i).then(void 0,g=>{this._unprocessedResponses.delete(l),a(g)})})}sendNotification(t,n){const r={jsonrpc:"2.0",id:void 0,method:t.method,params:t.params||void 0};return this._stream.send(r)}toString(){return"StreamChannel/"+this._stream.toString()}},C;(function(e){function t(){return{deserializeFromJson:i=>({hasErrors:!1,value:i}),serializeToJson:i=>i}}e.sAny=t;function n(){return{deserializeFromJson:i=>({hasErrors:!1,value:{}}),serializeToJson:i=>({})}}e.sEmptyObject=n;function r(){return{deserializeFromJson:i=>({hasErrors:!1,value:void 0}),serializeToJson:i=>null}}e.sVoidFromNull=r})(C||(C={}));const ee=Symbol("OptionalMethodNotFound");var te=class{contextualize(e){return new et(this,e)}},et=class extends te{underylingTypedChannel;converters;constructor(e,t){super(),this.underylingTypedChannel=e,this.converters=t}async request(e,t,n){const r=await this.converters.getSendContext(n);return this.underylingTypedChannel.request(e,t,r)}async notify(e,t,n){const r=await this.converters.getSendContext(n);return this.underylingTypedChannel.notify(e,t,r)}registerNotificationHandler(e,t){return this.underylingTypedChannel.registerNotificationHandler(e,async(n,r)=>await t(n,await this.converters.getNewContext(r)))}registerRequestHandler(e,t){return this.underylingTypedChannel.registerRequestHandler(e,async(n,r,i)=>await t(n,r,await this.converters.getNewContext(i)))}},j=class Pe extends te{channelCtor;static fromTransport(t,n={}){return new Pe($e.createChannel(t,n.logger),n)}_requestSender=void 0;_handler=new Map;_unknownNotificationHandler=new Set;_timeout;sendExceptionDetails=!1;_logger;constructor(t,n={}){super(),this.channelCtor=t,this._logger=n.logger,this.sendExceptionDetails=!!n.sendExceptionDetails,this._timeout=Ge(1e3,()=>{this._requestSender||console.warn(`"${this.startListen.name}" has not been called within 1 second after construction of this channel. Did you forget to call it?`,this)})}listeningDeferred=new Qe;onListening=this.listeningDeferred.promise;_requestDidErrorEventEmitter=new z;onRequestDidError=this._requestDidErrorEventEmitter.event;startListen(){if(this._requestSender)throw new Error(`"${this.startListen.name}" can be called only once, but it already has been called.`);this._timeout&&(this._timeout.dispose(),this._timeout=void 0),this._requestSender=this.channelCtor.connect({handleRequest:(t,n,r)=>this.handleRequest(t,n,r),handleNotification:(t,n)=>this.handleNotification(t,n)}),this.listeningDeferred.resolve()}checkChannel(t){if(!t)throw new Error(`"${this.startListen.name}" must be called before any messages can be sent or received.`);return!0}async handleRequest(t,n,r){const i=this._handler.get(t.method);if(!i)return this._logger&&this._logger.debug({text:`No request handler for "${t.method}".`,data:{requestObject:t}}),{error:{code:w.methodNotFound,message:`No request handler for "${t.method}".`,data:{method:t.method}}};if(i.kind!="request"){const a=`"${t.method}" is registered as notification, but was sent as request.`;return this._logger&&this._logger.debug({text:a,data:{requestObject:t}}),{error:{code:w.invalidRequest,message:a,data:{method:t.method}}}}const o=i.requestType.paramsSerializer.deserializeFromJson(t.params);if(o.hasErrors){const a=`Got invalid params: ${o.errorMessage}`;return this._logger&&this._logger.debug({text:a,data:{requestObject:t,errorMessage:o.errorMessage}}),{error:{code:w.invalidParams,message:a,data:{errors:o.errorMessage}}}}else{const a=o.value;let l;try{const g=await i.handler(a,n,r);if("error"in g||"errorMessage"in g){const y=g.error?i.requestType.errorSerializer.serializeToJson(g.error):void 0;l={error:{code:g.errorCode||w.genericApplicationError,message:g.errorMessage||"An error was returned",data:y}}}else l={result:i.requestType.resultSerializer.serializeToJson(g.ok)}}catch(g){g instanceof re?l={error:{code:g.code,message:g.message}}:(this._logger&&this._logger.warn({text:`An exception was thrown while handling a request: ${g}.`,exception:g,data:{requestObject:t}}),l={error:{code:w.unexpectedServerError,message:this.sendExceptionDetails?`An exception was thrown while handling a request: ${g}.`:"Server has thrown an unexpected exception"}})}return l}}async handleNotification(t,n){const r=this._handler.get(t.method);if(!r){for(const a of this._unknownNotificationHandler)a(t);this._unknownNotificationHandler.size===0&&this._logger&&this._logger.debug({text:`Unhandled notification "${t.method}"`,data:{requestObject:t}});return}if(r.kind!="notification"){this._logger&&this._logger.debug({text:`"${t.method}" is registered as request, but was sent as notification.`,data:{requestObject:t}});return}const i=r.notificationType.paramsSerializer.deserializeFromJson(t.params);if(i.hasErrors){this._logger&&this._logger.debug({text:`Got invalid params: ${i}`,data:{requestObject:t,errorMessage:i.errorMessage}});return}const o=i.value;for(const a of r.handlers)try{a(o,n)}catch(l){this._logger&&this._logger.warn({text:`An exception was thrown while handling a notification: ${l}.`,exception:l,data:{requestObject:t}})}}registerUnknownNotificationHandler(t){return q(this._unknownNotificationHandler,t)}registerRequestHandler(t,n){if(this._handler.get(t.method))throw new Error(`Handler with method "${t.method}" already registered.`);return q(this._handler,t.method,{kind:"request",requestType:t,handler:n})}registerNotificationHandler(t,n){let r=this._handler.get(t.method);if(!r)r={kind:"notification",notificationType:t,handlers:new Set},this._handler.set(t.method,r);else{if(r.kind!=="notification")throw new Error(`Method "${t.method}" was already registered as request handler.`);if(r.notificationType!==t)throw new Error(`Method "${t.method}" was registered for a different type.`)}return q(r.handlers,n)}getRegisteredTypes(){const t=[];for(const n of this._handler.values())n.kind==="notification"?t.push(n.notificationType):n.kind==="request"&&t.push(n.requestType);return t}async request(t,n,r){if(!this.checkChannel(this._requestSender))throw new Error("Impossible");const i=t.paramsSerializer.serializeToJson(n);ne(i);const o=await this._requestSender.sendRequest({method:t.method,params:i},r);if("error"in o){if(t.isOptional&&o.error.code===w.methodNotFound)return ee;let a;if(o.error.data!==void 0){const g=t.errorSerializer.deserializeFromJson(o.error.data);if(g.hasErrors)throw new Error(g.errorMessage);a=g.value}else a=void 0;const l=new re(o.error.message,a,o.error.code);throw this._requestDidErrorEventEmitter.fire({error:l}),l}else{const a=t.resultSerializer.deserializeFromJson(o.result);if(a.hasErrors)throw new Error("Could not deserialize response: "+a.errorMessage+`
${JSON.stringify(o,null,2)}`);return a.value}}async notify(t,n,r){if(!this.checkChannel(this._requestSender))throw new Error;const i=t.paramsSerializer.serializeToJson(n);ne(i),this._requestSender.sendNotification({method:t.method,params:i},r)}};function ne(e){if(e!==null&&Array.isArray(e)&&typeof e!="object")throw new Error("Invalid value! Only null, array and object is allowed.")}var re=class Le extends Error{data;code;constructor(t,n,r=w.genericApplicationError){super(t),this.data=n,this.code=r,Object.setPrototypeOf(this,Le.prototype)}},tt=class X{method;paramsSerializer;resultSerializer;errorSerializer;isOptional;kind="request";constructor(t,n,r,i,o=!1){this.method=t,this.paramsSerializer=n,this.resultSerializer=r,this.errorSerializer=i,this.isOptional=o}withMethod(t){return new X(t,this.paramsSerializer,this.resultSerializer,this.errorSerializer)}optional(){return new X(this.method,this.paramsSerializer,this.resultSerializer,this.errorSerializer,!0)}},nt=class He{method;paramsSerializer;kind="notification";constructor(t,n){this.method=t,this.paramsSerializer=n}withMethod(t){return new He(t,this.paramsSerializer)}};function c(e){return new tt((e||{}).method,C.sAny(),C.sAny(),C.sAny())}function h(e){return new nt((e||{}).method,C.sAny())}const rt=Symbol();var ie=class Ie{error;static factory=t=>new Ie(t);[rt];constructor(t){this.error=t}};function it(e){const t=oe(e.server),n=oe(e.client);return new ot(e.tags||[],t,n)}function oe(e){const t={};for(const[n,r]of Object.entries(e)){const i=r.method?r.method:n;t[n]=r.withMethod(i)}return t}var ot=class Oe{tags;server;client;_onlyDesignTime(){return new Error("This property is not meant to be accessed at runtime")}get TContractObject(){throw this._onlyDesignTime()}get TClientInterface(){throw this._onlyDesignTime()}get TServerInterface(){throw this._onlyDesignTime()}get TClientHandler(){throw this._onlyDesignTime()}get TServerHandler(){throw this._onlyDesignTime()}get TTags(){throw this._onlyDesignTime()}constructor(t=[],n,r){this.tags=t,this.server=n,this.client=r}getInterface(t,n,r,i){const o=this.buildCounterpart(t,r),a=this.registerHandlers(t,n,i,o);return{counterpart:o,dispose:()=>a.dispose()}}buildCounterpart(t,n){const r={};for(const[i,o]of Object.entries(n)){let a;o.kind==="request"?o.isOptional?a=async(l,g)=>{l===void 0&&(l={});try{return await t.request(o,l,g)}catch(y){if(y&&y.code===w.methodNotFound)return ee;throw y}}:a=(l,g)=>(l===void 0&&(l={}),t.request(o,l,g)):a=(l,g)=>(l===void 0&&(l={}),t.notify(o,l,g)),r[i]=a}return r}registerHandlers(t,n,r,i){const o=[];for(const[a,l]of Object.entries(n))if(l.kind==="request"){let g=r[a];if(!g)continue;const y=this.createRequestHandler(i,g);o.push(t.registerRequestHandler(l,y))}else{const g=r[a];g&&o.push(t.registerNotificationHandler(l,(y,Qn)=>{g(y,{context:Qn,counterpart:i})}))}return{dispose:()=>o.forEach(a=>a.dispose())}}createRequestHandler(t,n){return async(r,i,o)=>{const a=await n(r,{context:o,counterpart:t,newErr:ie.factory,requestId:i});return a instanceof ie?a.error:{ok:a}}}static getServerFromStream(t,n,r,i){const o=j.fromTransport(n,r),{server:a}=t.getServer(o,i);return o.startListen(),{channel:o,server:a}}static registerServerToStream(t,n,r,i){const o=j.fromTransport(n,r),{client:a}=t.registerServer(o,i);return o.startListen(),{channel:o,client:a}}getServer(t,n){const{counterpart:r,dispose:i}=this.getInterface(t,this.client,this.server,n);return{server:r,dispose:i}}registerServer(t,n){const{counterpart:r,dispose:i}=this.getInterface(t,this.server,this.client,n);return{client:r,dispose:i}}withContext(){return new Oe(this.tags,this.server,this.client)}};let R=(function(e){return e.Comment="comment",e.Imports="imports",e.Region="region",e})({}),m=(function(e){return e[e.File=1]="File",e[e.Module=2]="Module",e[e.Namespace=3]="Namespace",e[e.Package=4]="Package",e[e.Class=5]="Class",e[e.Method=6]="Method",e[e.Property=7]="Property",e[e.Field=8]="Field",e[e.Constructor=9]="Constructor",e[e.Enum=10]="Enum",e[e.Interface=11]="Interface",e[e.Function=12]="Function",e[e.Variable=13]="Variable",e[e.Constant=14]="Constant",e[e.String=15]="String",e[e.Number=16]="Number",e[e.Boolean=17]="Boolean",e[e.Array=18]="Array",e[e.Object=19]="Object",e[e.Key=20]="Key",e[e.Null=21]="Null",e[e.EnumMember=22]="EnumMember",e[e.Struct=23]="Struct",e[e.Event=24]="Event",e[e.Operator=25]="Operator",e[e.TypeParameter=26]="TypeParameter",e})({}),se=(function(e){return e[e.Deprecated=1]="Deprecated",e})({}),ae=(function(e){return e[e.Type=1]="Type",e[e.Parameter=2]="Parameter",e})({}),st=(function(e){return e[e.None=0]="None",e[e.Full=1]="Full",e[e.Incremental=2]="Incremental",e})({}),f=(function(e){return e[e.Text=1]="Text",e[e.Method=2]="Method",e[e.Function=3]="Function",e[e.Constructor=4]="Constructor",e[e.Field=5]="Field",e[e.Variable=6]="Variable",e[e.Class=7]="Class",e[e.Interface=8]="Interface",e[e.Module=9]="Module",e[e.Property=10]="Property",e[e.Unit=11]="Unit",e[e.Value=12]="Value",e[e.Enum=13]="Enum",e[e.Keyword=14]="Keyword",e[e.Snippet=15]="Snippet",e[e.Color=16]="Color",e[e.File=17]="File",e[e.Reference=18]="Reference",e[e.Folder=19]="Folder",e[e.EnumMember=20]="EnumMember",e[e.Constant=21]="Constant",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter",e})({}),at=(function(e){return e[e.Deprecated=1]="Deprecated",e})({}),ct=(function(e){return e[e.PlainText=1]="PlainText",e[e.Snippet=2]="Snippet",e})({}),U=(function(e){return e[e.Text=1]="Text",e[e.Read=2]="Read",e[e.Write=3]="Write",e})({}),x=(function(e){return e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll",e})({}),P=(function(e){return e.PlainText="plaintext",e.Markdown="markdown",e})({}),_=(function(e){return e[e.Error=1]="Error",e[e.Warning=2]="Warning",e[e.Information=3]="Information",e[e.Hint=4]="Hint",e})({}),ce=(function(e){return e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated",e})({}),L=(function(e){return e[e.Invoked=1]="Invoked",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=3]="TriggerForIncompleteCompletions",e})({}),H=(function(e){return e[e.Invoked=1]="Invoked",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange",e})({}),B=(function(e){return e[e.Invoked=1]="Invoked",e[e.Automatic=2]="Automatic",e})({}),lt=(function(e){return e.Relative="relative",e})({});var d=class{constructor(e){this.method=e}};const u={textDocumentImplementation:new d("textDocument/implementation"),textDocumentTypeDefinition:new d("textDocument/typeDefinition"),textDocumentDocumentColor:new d("textDocument/documentColor"),textDocumentColorPresentation:new d("textDocument/colorPresentation"),textDocumentFoldingRange:new d("textDocument/foldingRange"),textDocumentDeclaration:new d("textDocument/declaration"),textDocumentSelectionRange:new d("textDocument/selectionRange"),textDocumentPrepareCallHierarchy:new d("textDocument/prepareCallHierarchy"),textDocumentSemanticTokensFull:new d("textDocument/semanticTokens/full"),textDocumentSemanticTokensFullDelta:new d("textDocument/semanticTokens/full/delta"),textDocumentLinkedEditingRange:new d("textDocument/linkedEditingRange"),workspaceWillCreateFiles:new d("workspace/willCreateFiles"),workspaceWillRenameFiles:new d("workspace/willRenameFiles"),workspaceWillDeleteFiles:new d("workspace/willDeleteFiles"),textDocumentMoniker:new d("textDocument/moniker"),textDocumentPrepareTypeHierarchy:new d("textDocument/prepareTypeHierarchy"),textDocumentInlineValue:new d("textDocument/inlineValue"),textDocumentInlayHint:new d("textDocument/inlayHint"),textDocumentDiagnostic:new d("textDocument/diagnostic"),textDocumentInlineCompletion:new d("textDocument/inlineCompletion"),textDocumentWillSaveWaitUntil:new d("textDocument/willSaveWaitUntil"),textDocumentCompletion:new d("textDocument/completion"),textDocumentHover:new d("textDocument/hover"),textDocumentSignatureHelp:new d("textDocument/signatureHelp"),textDocumentDefinition:new d("textDocument/definition"),textDocumentReferences:new d("textDocument/references"),textDocumentDocumentHighlight:new d("textDocument/documentHighlight"),textDocumentDocumentSymbol:new d("textDocument/documentSymbol"),textDocumentCodeAction:new d("textDocument/codeAction"),workspaceSymbol:new d("workspace/symbol"),textDocumentCodeLens:new d("textDocument/codeLens"),textDocumentDocumentLink:new d("textDocument/documentLink"),textDocumentFormatting:new d("textDocument/formatting"),textDocumentRangeFormatting:new d("textDocument/rangeFormatting"),textDocumentRangesFormatting:new d("textDocument/rangesFormatting"),textDocumentOnTypeFormatting:new d("textDocument/onTypeFormatting"),textDocumentRename:new d("textDocument/rename"),workspaceExecuteCommand:new d("workspace/executeCommand"),workspaceDidCreateFiles:new d("workspace/didCreateFiles"),workspaceDidRenameFiles:new d("workspace/didRenameFiles"),workspaceDidDeleteFiles:new d("workspace/didDeleteFiles"),workspaceDidChangeConfiguration:new d("workspace/didChangeConfiguration"),textDocumentDidOpen:new d("textDocument/didOpen"),textDocumentDidChange:new d("textDocument/didChange"),textDocumentDidClose:new d("textDocument/didClose"),textDocumentDidSave:new d("textDocument/didSave"),textDocumentWillSave:new d("textDocument/willSave"),workspaceDidChangeWatchedFiles:new d("workspace/didChangeWatchedFiles")},E=it({server:{textDocumentImplementation:c({method:"textDocument/implementation"}),textDocumentTypeDefinition:c({method:"textDocument/typeDefinition"}),textDocumentDocumentColor:c({method:"textDocument/documentColor"}),textDocumentColorPresentation:c({method:"textDocument/colorPresentation"}),textDocumentFoldingRange:c({method:"textDocument/foldingRange"}),textDocumentDeclaration:c({method:"textDocument/declaration"}),textDocumentSelectionRange:c({method:"textDocument/selectionRange"}),textDocumentPrepareCallHierarchy:c({method:"textDocument/prepareCallHierarchy"}),callHierarchyIncomingCalls:c({method:"callHierarchy/incomingCalls"}),callHierarchyOutgoingCalls:c({method:"callHierarchy/outgoingCalls"}),textDocumentSemanticTokensFull:c({method:"textDocument/semanticTokens/full"}),textDocumentSemanticTokensFullDelta:c({method:"textDocument/semanticTokens/full/delta"}),textDocumentSemanticTokensRange:c({method:"textDocument/semanticTokens/range"}),textDocumentLinkedEditingRange:c({method:"textDocument/linkedEditingRange"}),workspaceWillCreateFiles:c({method:"workspace/willCreateFiles"}),workspaceWillRenameFiles:c({method:"workspace/willRenameFiles"}),workspaceWillDeleteFiles:c({method:"workspace/willDeleteFiles"}),textDocumentMoniker:c({method:"textDocument/moniker"}),textDocumentPrepareTypeHierarchy:c({method:"textDocument/prepareTypeHierarchy"}),typeHierarchySupertypes:c({method:"typeHierarchy/supertypes"}),typeHierarchySubtypes:c({method:"typeHierarchy/subtypes"}),textDocumentInlineValue:c({method:"textDocument/inlineValue"}),textDocumentInlayHint:c({method:"textDocument/inlayHint"}),inlayHintResolve:c({method:"inlayHint/resolve"}),textDocumentDiagnostic:c({method:"textDocument/diagnostic"}),workspaceDiagnostic:c({method:"workspace/diagnostic"}),textDocumentInlineCompletion:c({method:"textDocument/inlineCompletion"}),initialize:c({method:"initialize"}),shutdown:c({method:"shutdown"}),textDocumentWillSaveWaitUntil:c({method:"textDocument/willSaveWaitUntil"}),textDocumentCompletion:c({method:"textDocument/completion"}),completionItemResolve:c({method:"completionItem/resolve"}),textDocumentHover:c({method:"textDocument/hover"}),textDocumentSignatureHelp:c({method:"textDocument/signatureHelp"}),textDocumentDefinition:c({method:"textDocument/definition"}),textDocumentReferences:c({method:"textDocument/references"}),textDocumentDocumentHighlight:c({method:"textDocument/documentHighlight"}),textDocumentDocumentSymbol:c({method:"textDocument/documentSymbol"}),textDocumentCodeAction:c({method:"textDocument/codeAction"}),codeActionResolve:c({method:"codeAction/resolve"}),workspaceSymbol:c({method:"workspace/symbol"}),workspaceSymbolResolve:c({method:"workspaceSymbol/resolve"}),textDocumentCodeLens:c({method:"textDocument/codeLens"}),codeLensResolve:c({method:"codeLens/resolve"}),textDocumentDocumentLink:c({method:"textDocument/documentLink"}),documentLinkResolve:c({method:"documentLink/resolve"}),textDocumentFormatting:c({method:"textDocument/formatting"}),textDocumentRangeFormatting:c({method:"textDocument/rangeFormatting"}),textDocumentRangesFormatting:c({method:"textDocument/rangesFormatting"}),textDocumentOnTypeFormatting:c({method:"textDocument/onTypeFormatting"}),textDocumentRename:c({method:"textDocument/rename"}),textDocumentPrepareRename:c({method:"textDocument/prepareRename"}),workspaceExecuteCommand:c({method:"workspace/executeCommand"}),workspaceDidChangeWorkspaceFolders:h({method:"workspace/didChangeWorkspaceFolders"}),windowWorkDoneProgressCancel:h({method:"window/workDoneProgress/cancel"}),workspaceDidCreateFiles:h({method:"workspace/didCreateFiles"}),workspaceDidRenameFiles:h({method:"workspace/didRenameFiles"}),workspaceDidDeleteFiles:h({method:"workspace/didDeleteFiles"}),notebookDocumentDidOpen:h({method:"notebookDocument/didOpen"}),notebookDocumentDidChange:h({method:"notebookDocument/didChange"}),notebookDocumentDidSave:h({method:"notebookDocument/didSave"}),notebookDocumentDidClose:h({method:"notebookDocument/didClose"}),initialized:h({method:"initialized"}),exit:h({method:"exit"}),workspaceDidChangeConfiguration:h({method:"workspace/didChangeConfiguration"}),textDocumentDidOpen:h({method:"textDocument/didOpen"}),textDocumentDidChange:h({method:"textDocument/didChange"}),textDocumentDidClose:h({method:"textDocument/didClose"}),textDocumentDidSave:h({method:"textDocument/didSave"}),textDocumentWillSave:h({method:"textDocument/willSave"}),workspaceDidChangeWatchedFiles:h({method:"workspace/didChangeWatchedFiles"}),setTrace:h({method:"$/setTrace"}),cancelRequest:h({method:"$/cancelRequest"}),progress:h({method:"$/progress"})},client:{workspaceWorkspaceFolders:c({method:"workspace/workspaceFolders"}).optional(),workspaceConfiguration:c({method:"workspace/configuration"}).optional(),workspaceFoldingRangeRefresh:c({method:"workspace/foldingRange/refresh"}).optional(),windowWorkDoneProgressCreate:c({method:"window/workDoneProgress/create"}).optional(),workspaceSemanticTokensRefresh:c({method:"workspace/semanticTokens/refresh"}).optional(),windowShowDocument:c({method:"window/showDocument"}).optional(),workspaceInlineValueRefresh:c({method:"workspace/inlineValue/refresh"}).optional(),workspaceInlayHintRefresh:c({method:"workspace/inlayHint/refresh"}).optional(),workspaceDiagnosticRefresh:c({method:"workspace/diagnostic/refresh"}).optional(),clientRegisterCapability:c({method:"client/registerCapability"}).optional(),clientUnregisterCapability:c({method:"client/unregisterCapability"}).optional(),windowShowMessageRequest:c({method:"window/showMessageRequest"}).optional(),workspaceCodeLensRefresh:c({method:"workspace/codeLens/refresh"}).optional(),workspaceApplyEdit:c({method:"workspace/applyEdit"}).optional(),windowShowMessage:h({method:"window/showMessage"}),windowLogMessage:h({method:"window/logMessage"}),telemetryEvent:h({method:"telemetry/event"}),textDocumentPublishDiagnostics:h({method:"textDocument/publishDiagnostics"}),logTrace:h({method:"$/logTrace"}),cancelRequest:h({method:"$/cancelRequest"}),progress:h({method:"$/progress"})}});function k(e,t){if(e.textModel!==t)throw new Error(`Expected text model to be ${t}, but got ${e.textModel}`);return e}var p=class{static None=Object.freeze({dispose(){}});_store=new V;constructor(){}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}},V=class{static DISABLE_DISPOSED_WARNING=!1;_toDispose=new Set;_isDisposed=!1;dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){if(this._toDispose.size!==0)try{for(const t of this._toDispose)t.dispose()}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}};const le=new Map([[x.Empty,""],[x.QuickFix,"quickfix"],[x.Refactor,"refactor"],[x.RefactorExtract,"refactor.extract"],[x.RefactorInline,"refactor.inline"],[x.RefactorRewrite,"refactor.rewrite"],[x.Source,"source"],[x.SourceOrganizeImports,"source.organizeImports"],[x.SourceFixAll,"source.fixAll"]]);function ut(e){if(e)return le.get(e)??e}const dt=new Map([[s.languages.CodeActionTriggerType.Invoke,B.Invoked],[s.languages.CodeActionTriggerType.Auto,B.Automatic]]);function gt(e){return dt.get(e)??B.Invoked}const ue=new Map([[f.Text,s.languages.CompletionItemKind.Text],[f.Method,s.languages.CompletionItemKind.Method],[f.Function,s.languages.CompletionItemKind.Function],[f.Constructor,s.languages.CompletionItemKind.Constructor],[f.Field,s.languages.CompletionItemKind.Field],[f.Variable,s.languages.CompletionItemKind.Variable],[f.Class,s.languages.CompletionItemKind.Class],[f.Interface,s.languages.CompletionItemKind.Interface],[f.Module,s.languages.CompletionItemKind.Module],[f.Property,s.languages.CompletionItemKind.Property],[f.Unit,s.languages.CompletionItemKind.Unit],[f.Value,s.languages.CompletionItemKind.Value],[f.Enum,s.languages.CompletionItemKind.Enum],[f.Keyword,s.languages.CompletionItemKind.Keyword],[f.Snippet,s.languages.CompletionItemKind.Snippet],[f.Color,s.languages.CompletionItemKind.Color],[f.File,s.languages.CompletionItemKind.File],[f.Reference,s.languages.CompletionItemKind.Reference],[f.Folder,s.languages.CompletionItemKind.Folder],[f.EnumMember,s.languages.CompletionItemKind.EnumMember],[f.Constant,s.languages.CompletionItemKind.Constant],[f.Struct,s.languages.CompletionItemKind.Struct],[f.Event,s.languages.CompletionItemKind.Event],[f.Operator,s.languages.CompletionItemKind.Operator],[f.TypeParameter,s.languages.CompletionItemKind.TypeParameter]]);function ht(e){return e?ue.get(e)??s.languages.CompletionItemKind.Text:s.languages.CompletionItemKind.Text}const de=new Map([[at.Deprecated,s.languages.CompletionItemTag.Deprecated]]);function mt(e){return de.get(e)}const pt=new Map([[s.languages.CompletionTriggerKind.Invoke,L.Invoked],[s.languages.CompletionTriggerKind.TriggerCharacter,L.TriggerCharacter],[s.languages.CompletionTriggerKind.TriggerForIncompleteCompletions,L.TriggerForIncompleteCompletions]]);function ft(e){return pt.get(e)??L.Invoked}const Dt=new Map([[ct.Snippet,s.languages.CompletionItemInsertTextRule.InsertAsSnippet]]);function vt(e){if(e)return Dt.get(e)}const ge=new Map([[m.File,s.languages.SymbolKind.File],[m.Module,s.languages.SymbolKind.Module],[m.Namespace,s.languages.SymbolKind.Namespace],[m.Package,s.languages.SymbolKind.Package],[m.Class,s.languages.SymbolKind.Class],[m.Method,s.languages.SymbolKind.Method],[m.Property,s.languages.SymbolKind.Property],[m.Field,s.languages.SymbolKind.Field],[m.Constructor,s.languages.SymbolKind.Constructor],[m.Enum,s.languages.SymbolKind.Enum],[m.Interface,s.languages.SymbolKind.Interface],[m.Function,s.languages.SymbolKind.Function],[m.Variable,s.languages.SymbolKind.Variable],[m.Constant,s.languages.SymbolKind.Constant],[m.String,s.languages.SymbolKind.String],[m.Number,s.languages.SymbolKind.Number],[m.Boolean,s.languages.SymbolKind.Boolean],[m.Array,s.languages.SymbolKind.Array],[m.Object,s.languages.SymbolKind.Object],[m.Key,s.languages.SymbolKind.Key],[m.Null,s.languages.SymbolKind.Null],[m.EnumMember,s.languages.SymbolKind.EnumMember],[m.Struct,s.languages.SymbolKind.Struct],[m.Event,s.languages.SymbolKind.Event],[m.Operator,s.languages.SymbolKind.Operator],[m.TypeParameter,s.languages.SymbolKind.TypeParameter]]);function he(e){return ge.get(e)??s.languages.SymbolKind.File}const wt=new Map([[se.Deprecated,s.languages.SymbolTag.Deprecated]]);function me(e){return wt.get(e)}const xt=new Map([[U.Text,s.languages.DocumentHighlightKind.Text],[U.Read,s.languages.DocumentHighlightKind.Read],[U.Write,s.languages.DocumentHighlightKind.Write]]);function _t(e){return e?xt.get(e)??s.languages.DocumentHighlightKind.Text:s.languages.DocumentHighlightKind.Text}const yt=new Map([[R.Comment,s.languages.FoldingRangeKind.Comment],[R.Imports,s.languages.FoldingRangeKind.Imports],[R.Region,s.languages.FoldingRangeKind.Region]]);function bt(e){if(e)return yt.get(e)}const kt=new Map([[s.MarkerSeverity.Error,_.Error],[s.MarkerSeverity.Warning,_.Warning],[s.MarkerSeverity.Info,_.Information],[s.MarkerSeverity.Hint,_.Hint]]);function St(e){return kt.get(e)??_.Error}const Ct=new Map([[_.Error,s.MarkerSeverity.Error],[_.Warning,s.MarkerSeverity.Warning],[_.Information,s.MarkerSeverity.Info],[_.Hint,s.MarkerSeverity.Hint]]);function Rt(e){return e?Ct.get(e)??s.MarkerSeverity.Error:s.MarkerSeverity.Error}const pe=new Map([[ce.Unnecessary,s.MarkerTag.Unnecessary],[ce.Deprecated,s.MarkerTag.Deprecated]]);function Tt(e){return pe.get(e)}const Mt=new Map([[s.languages.SignatureHelpTriggerKind.Invoke,H.Invoked],[s.languages.SignatureHelpTriggerKind.TriggerCharacter,H.TriggerCharacter],[s.languages.SignatureHelpTriggerKind.ContentChange,H.ContentChange]]);function Et(e){return Mt.get(e)??H.Invoked}function T(e){if(e)return{id:e.command,title:e.title,arguments:e.arguments}}const Ft=new Map([[ae.Type,s.languages.InlayHintKind.Type],[ae.Parameter,s.languages.InlayHintKind.Parameter]]);function Pt(e){return e?Ft.get(e)??s.languages.InlayHintKind.Type:s.languages.InlayHintKind.Type}function b(e,t){if("targetUri"in e){const n=t.bridge.translateBackRange({uri:e.targetUri},e.targetRange);return{uri:n.textModel.uri,range:n.range,originSelectionRange:e.originSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.originSelectionRange).range:void 0,targetSelectionRange:e.targetSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.targetSelectionRange).range:void 0}}else{const n=t.bridge.translateBackRange({uri:e.uri},e.range);return{uri:n.textModel.uri,range:n.range}}}function v(e){return!e||e.length===0?{language:"*"}:e.map(t=>"notebook"in t?typeof t.notebook=="string"?{notebookType:t.notebook,language:t.language}:{notebookType:t.notebook.notebookType,language:t.language,pattern:t.notebook.pattern,scheme:t.notebook.scheme}:{language:t.language,pattern:t.pattern,scheme:t.scheme})}function Lt(e,t){if(!t)return!0;const n=e.getLanguageId();if(e.uri.toString(!0),!t||t.length===0)return!0;for(const r of t)if(!(r.language&&r.language!=="*"&&r.language!==n))return!0;return!1}function J(e){const t={severity:Rt(e.severity),startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,message:e.message,source:e.source,code:typeof e.code=="string"?e.code:e.code?.toString()};return e.tags&&(t.tags=e.tags.map(n=>Tt(n)).filter(n=>n!==void 0)),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(n=>({resource:s.Uri.parse(n.location.uri),startLineNumber:n.location.range.start.line+1,startColumn:n.location.range.start.character+1,endLineNumber:n.location.range.end.line+1,endColumn:n.location.range.end.character+1,message:n.message}))),t}var Ht=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{completion:{dynamicRegistration:!0,contextSupport:!0,completionItemKind:{valueSet:Array.from(ue.keys())},completionItem:{tagSupport:{valueSet:Array.from(de.keys())},commitCharactersSupport:!0,deprecatedSupport:!0,preselectSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentCompletion,!0,t=>s.languages.registerCompletionItemProvider(v(t.documentSelector),new It(this._connection,t))))}},It=class{resolveCompletionItem;constructor(e,t){this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCompletionItem=async(n,r)=>(fe(n,await this._client.server.completionItemResolve(n._lspItem),this._client.bridge,n._translated,n._model),n))}get triggerCharacters(){return this._capabilities.triggerCharacters}async provideCompletionItems(e,t,n,r){const i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentCompletion({textDocument:i.textDocument,position:i.position,context:n.triggerCharacter?{triggerKind:ft(n.triggerKind),triggerCharacter:n.triggerCharacter}:void 0});return o?{suggestions:(Array.isArray(o)?o:o.items).map(a=>({...Ot(a,this._client.bridge,i,e,t),_lspItem:a,_translated:i,_model:e}))}:{suggestions:[]}}};function Ot(e,t,n,r,i){let o=e.insertText||e.label,a;e.textEdit&&("range"in e.textEdit?(o=e.textEdit.newText,a=k(t.translateBackRange(n.textDocument,e.textEdit.range),r).range):(o=e.textEdit.newText,a={insert:k(t.translateBackRange(n.textDocument,e.textEdit.insert),r).range,replace:k(t.translateBackRange(n.textDocument,e.textEdit.replace),r).range})),a||(a=s.Range.fromPositions(i,i));const l={label:e.label,kind:ht(e.kind),insertText:o,sortText:e.sortText,filterText:e.filterText,preselect:e.preselect,commitCharacters:e.commitCharacters,range:a};return fe(l,e,t,n,r),l}function fe(e,t,n,r,i){t.detail!==void 0&&(e.detail=t.detail),t.documentation!==void 0&&(e.documentation=At(t.documentation)),t.insertTextFormat!==void 0&&(e.insertTextRules=vt(t.insertTextFormat)),t.tags&&t.tags.length>0&&(e.tags=t.tags.map(mt).filter(o=>o!==void 0)),t.additionalTextEdits&&t.additionalTextEdits.length>0&&(e.additionalTextEdits=t.additionalTextEdits.map(o=>({range:k(n.translateBackRange(r.textDocument,o.range),i).range,text:o.newText}))),t.command&&(e.command=T(t.command))}function At(e){if(e)return typeof e=="string"?e:{value:e.value,isTrusted:!0}}var Nt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{hover:{dynamicRegistration:!0,contentFormat:[P.Markdown,P.PlainText]}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentHover,!0,t=>s.languages.registerHoverProvider(v(t.documentSelector),new Wt(this._connection,t))))}},Wt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideHover(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentHover({textDocument:r.textDocument,position:r.position});return!i||!i.contents?null:{contents:zt(i.contents),range:i.range?this._client.bridge.translateBackRange(r.textDocument,i.range).range:void 0}}};function zt(e){return Array.isArray(e)?e.map(t=>De(t)):[De(e)]}function De(e){return typeof e=="string"?{value:e,isTrusted:!0}:"kind"in e?{value:e.value,isTrusted:!0}:{value:`\`\`\`${e.language}
${e.value}
\`\`\``,isTrusted:!0}}var qt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{signatureHelp:{dynamicRegistration:!0,contextSupport:!0,signatureInformation:{documentationFormat:[P.Markdown,P.PlainText],parameterInformation:{labelOffsetSupport:!0},activeParameterSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentSignatureHelp,!0,t=>s.languages.registerSignatureHelpProvider(v(t.documentSelector),new jt(this._connection,t))))}},jt=class{signatureHelpTriggerCharacters;signatureHelpRetriggerCharacters;constructor(e,t){this._client=e,this._capabilities=t,this.signatureHelpTriggerCharacters=t.triggerCharacters,this.signatureHelpRetriggerCharacters=t.retriggerCharacters}async provideSignatureHelp(e,t,n,r){const i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentSignatureHelp({textDocument:i.textDocument,position:i.position,context:{triggerKind:Et(r.triggerKind),triggerCharacter:r.triggerCharacter,isRetrigger:r.isRetrigger}});return o?{value:{signatures:o.signatures.map(a=>({label:a.label,documentation:ve(a.documentation),parameters:a.parameters?.map(l=>({label:l.label,documentation:ve(l.documentation)}))||[],activeParameter:a.activeParameter})),activeSignature:o.activeSignature||0,activeParameter:o.activeParameter||0},dispose:()=>{}}:null}};function ve(e){if(e)return typeof e=="string"?e:{value:e.value,isTrusted:!0}}var Ut=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{definition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentDefinition,!0,t=>s.languages.registerDefinitionProvider(v(t.documentSelector),new Bt(this._connection,t))))}},Bt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDefinition(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},Vt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{declaration:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentDeclaration,!0,t=>s.languages.registerDeclarationProvider(v(t.documentSelector),new Jt(this._connection,t))))}},Jt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDeclaration(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDeclaration({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},Gt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{typeDefinition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentTypeDefinition,!0,t=>s.languages.registerTypeDefinitionProvider(v(t.documentSelector),new Qt(this._connection,t))))}},Qt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideTypeDefinition(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentTypeDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},Xt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{implementation:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentImplementation,!0,t=>s.languages.registerImplementationProvider(v(t.documentSelector),new Yt(this._connection,t))))}},Yt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideImplementation(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentImplementation({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},Zt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{references:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentReferences,!0,t=>s.languages.registerReferenceProvider(v(t.documentSelector),new Kt(this._connection,t))))}},Kt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideReferences(e,t,n,r){const i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentReferences({textDocument:i.textDocument,position:i.position,context:{includeDeclaration:n.includeDeclaration}});return o?o.map(a=>{const l=this._client.bridge.translateBackRange({uri:a.uri},a.range);return{uri:l.textModel.uri,range:l.range}}):null}},$t=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentHighlight:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentDocumentHighlight,!0,t=>s.languages.registerDocumentHighlightProvider(v(t.documentSelector),new en(this._connection,t))))}},en=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentHighlights(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDocumentHighlight({textDocument:r.textDocument,position:r.position});return i?i.map(o=>({range:this._client.bridge.translateBackRange(r.textDocument,o.range).range,kind:_t(o.kind)})):null}},tn=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentSymbol:{dynamicRegistration:!0,hierarchicalDocumentSymbolSupport:!0,symbolKind:{valueSet:Array.from(ge.keys())},tagSupport:{valueSet:[se.Deprecated]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentDocumentSymbol,!0,t=>s.languages.registerDocumentSymbolProvider(v(t.documentSelector),new nn(this._connection,t))))}},nn=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentSymbols(e,t){const n=this._client.bridge.translate(e,new s.Position(1,1)),r=await this._client.server.textDocumentDocumentSymbol({textDocument:n.textDocument});return r?Array.isArray(r)&&r.length>0?"location"in r[0]?r.map(i=>rn(i,this._client)):r.map(i=>we(i,this._client,n.textDocument)):[]:null}};function we(e,t,n){return{name:e.name,detail:e.detail||"",kind:he(e.kind),tags:e.tags?.map(r=>me(r)).filter(r=>r!==void 0)||[],range:t.bridge.translateBackRange(n,e.range).range,selectionRange:t.bridge.translateBackRange(n,e.selectionRange).range,children:e.children?.map(r=>we(r,t,n))||[]}}function rn(e,t){return{name:e.name,detail:"",kind:he(e.kind),tags:e.tags?.map(n=>me(n)).filter(n=>n!==void 0)||[],range:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,selectionRange:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,children:[]}}var on=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{rename:{dynamicRegistration:!0,prepareSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentRename,!0,t=>s.languages.registerRenameProvider(v(t.documentSelector),new sn(this._connection,t))))}},sn=class{constructor(e,t){this._client=e,this._capabilities=t}async provideRenameEdits(e,t,n,r){const i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentRename({textDocument:i.textDocument,position:i.position,newName:n});return o?an(o,this._client):null}async resolveRenameLocation(e,t,n){if(!this._capabilities.prepareProvider)return null;const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentPrepareRename({textDocument:r.textDocument,position:r.position});if(!i)return null;if("range"in i&&"placeholder"in i)return{range:this._client.bridge.translateBackRange(r.textDocument,i.range).range,text:i.placeholder};if("defaultBehavior"in i)return null;if("start"in i&&"end"in i){const o=this._client.bridge.translateBackRange(r.textDocument,i).range;return{range:o,text:e.getValueInRange(o)}}return null}};function an(e,t){const n=[];if(e.changes)for(const r in e.changes){const i=e.changes[r];for(const o of i){const a=t.bridge.translateBackRange({uri:r},o.range);n.push({resource:a.textModel.uri,versionId:void 0,textEdit:{range:a.range,text:o.newText}})}}if(e.documentChanges){for(const r of e.documentChanges)if("textDocument"in r){const i=r.textDocument.uri;for(const o of r.edits){const a=t.bridge.translateBackRange({uri:i},o.range);n.push({resource:a.textModel.uri,versionId:r.textDocument.version,textEdit:{range:a.range,text:o.newText}})}}}return{edits:n}}var cn=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{codeAction:{dynamicRegistration:!0,codeActionLiteralSupport:{codeActionKind:{valueSet:Array.from(le.keys())}},isPreferredSupport:!0,disabledSupport:!0,dataSupport:!0,resolveSupport:{properties:["edit"]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentCodeAction,!0,t=>s.languages.registerCodeActionProvider(v(t.documentSelector),new ln(this._connection,t))))}},ln=class{resolveCodeAction;constructor(e,t){this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCodeAction=async(n,r)=>{if(n._lspAction){const i=await this._client.server.codeActionResolve(n._lspAction);i.edit&&(n.edit=xe(i.edit,this._client)),i.command&&(n.command=T(i.command))}return n})}async provideCodeActions(e,t,n,r){const i=this._client.bridge.translate(e,t.getStartPosition()),o=await this._client.server.textDocumentCodeAction({textDocument:i.textDocument,range:this._client.bridge.translateRange(e,t),context:{diagnostics:n.markers.map(a=>({range:this._c