vue-api-request-builder 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1157,13 +1157,13 @@ ${e.toString()}`}}class gL{constructor(e=new x_,t=!1,i,n=kCe){this._services=e,t
1157
1157
  `));const m=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return ok.fromFn(async()=>{const _=await m.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},qe.None);if(!_.identical)return new qPe(Ue.fromRangeInclusive(d),h(u),_.changes)})}),this._fetchStore=this._register(new q),this._inlineEditsFetchResult=aC(this,void 0),this._inlineEdits=rr({owner:this,equalsFn:ik},l=>{var c;return((c=this._inlineEditsFetchResult.read(l))==null?void 0:c.completions.map(d=>new XPe(d)))??[]}),this._fetchInlineEditsPromise=Uz({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:Aa.Automatic}),handleChange:(l,c)=>(l.didChange(this._forceUpdateExplicitlySignal)&&(c.inlineCompletionTriggerKind=Aa.Explicit),!0)},async(l,c)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(l),this._textModelVersionId.read(l);function d(m,_){return _(m)}const u=this._pinnedRange.range.read(l)??d(this._selection.read(l),m=>m.isEmpty()?void 0:m);if(!u){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const h={triggerKind:c.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(l)},g=UN(this._fetchStore);await Fc(200,g);const f=await TX(this.languageFeaturesService.inlineCompletionsProvider,u,this.textModel,h,g);g.isCancellationRequested||this._inlineEditsFetchResult.set(f,void 0)}),this._filteredInlineEditItems=rr({owner:this,equalsFn:tk()},l=>this._inlineEdits.read(l)),this.selectedInlineCompletionIndex=Ce(this,l=>{const c=this._selectedInlineCompletionId.read(l),d=this._filteredInlineEditItems.read(l),u=this._selectedInlineCompletionId===void 0?-1:d.findIndex(h=>h.semanticId===c);return u===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):u}),this.selectedInlineEdit=Ce(this,l=>{const c=this._filteredInlineEditItems.read(l),d=this.selectedInlineCompletionIndex.read(l);return c[d]}),this._register(e_(this._fetchInlineEditsPromise))}async triggerExplicitly(e){xg(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){xg(e,t=>{this.userPrompt.set(void 0,t),this._isActive.set(!1,t),this._inlineEditsFetchResult.set(void 0,t),this._pinnedRange.setRange(void 0,t)})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineEditItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){if(e.getModel()!==this.textModel)throw new yt;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},ky=Pp,Pp._modelId=0,Pp);R8=ky=YPe([N8(4,me),N8(5,x1),N8(6,Gt)],R8);class XPe{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class QPe extends B{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Xe(this,[]),this.range=Ce(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(Se(()=>{this._textModel.deltaDecorations(this._decorations.get(),[])}))}setRange(e,t){this._decorations.set(this._textModel.deltaDecorations(this._decorations.get(),e?[{range:e,options:{description:"trackedRange"}}]:[]),t)}}var JPe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Ly=function(s,e){return function(t,i){e(t,i,s)}},A8;let Td=(Op=class extends B{static get(e){return e.getContribution(A8.ID)}constructor(e,t,i,n,o,r){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._debounceService=n,this._languageFeaturesService=o,this._configurationService=r,this._enabled=Cxe("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Ao(this.editor),this._selection=Ce(this,a=>this._editorObs.cursorSelection.read(a)??new ve(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=fs(this,a=>{if(!this._enabled.read(a)||this._editorObs.isReadonly.read(a))return;const l=this._editorObs.model.read(a);return l?this._instantiationService.createInstance(Ro(R8,a),l,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=uC(this,(a,l)=>{var c;return l||((c=this.model.read(a))==null?void 0:c.inlineEdit.read(a))!==void 0}),this._widget=fs(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(Ro(T8,a),this.editor,this.model.map((l,c)=>l==null?void 0:l.inlineEdit.read(c)),e2e(l=>{var c;return((c=this.model.read(l))==null?void 0:c.userPrompt)??Xe("empty","")}))}),this._register(al(Ab,this._contextKeyService,a=>{var l;return!!((l=this.model.read(a))!=null&&l.inlineEdit.read(a))})),this._register(al($Pe,this._contextKeyService,a=>{var l;return!!((l=this.model.read(a))!=null&&l.isPinned.read(a))})),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}},A8=Op,Op.ID="editor.contrib.inlineEditsController",Op);Td=A8=JPe([Ly(1,xe),Ly(2,Ae),Ly(3,tr),Ly(4,me),Ly(5,Ye)],Td);function e2e(s){return lC(void 0,e=>s(e).read(e),(e,t)=>{s(void 0).set(e,t)})}function Ey(s){return{label:s.value,alias:s.original}}const nN=class nN extends fe{constructor(){super({id:nN.ID,...Ey(Me("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:G.and(I.writable,Ab),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Td.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};nN.ID=VPe;let M8=nN;const sN=class sN extends fe{constructor(){super({id:sN.ID,...Ey(Me("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:G.and(I.writable,Ab),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Td.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};sN.ID=HPe;let P8=sN;class t2e extends fe{constructor(){super({id:"editor.action.inlineEdits.trigger",...Ey(Me("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:I.writable})}async run(e,t){const i=Td.get(t);await zz(async n=>{var o;await((o=i==null?void 0:i.model.get())==null?void 0:o.triggerExplicitly(n))})}}class i2e extends fe{constructor(){super({id:WPe,...Ey(Me("action.inlineEdits.accept","Accept Inline Edit")),precondition:Ab,menuOpts:{menuId:be.InlineEditsActions,title:p("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:se.check},kbOpts:{primary:2058,weight:2e4,kbExpr:Ab}})}async run(e,t){var n;t instanceof _a&&(t=t.getParentEditor());const i=Td.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const oN=class oN extends fe{constructor(){super({id:oN.ID,...Ey(Me("action.inlineEdits.hide","Hide Inline Edit")),precondition:Ab,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Td.get(t);_i(n=>{var o;(o=i==null?void 0:i.model.get())==null||o.stop(n)})}};oN.ID="editor.action.inlineEdits.hide";let O8=oN;ut(Td.ID,Td,3),J(t2e),J(M8),J(P8),J(i2e),J(O8);const Of={Visible:new he("parameterHintsVisible",!1),MultipleSignatures:new he("parameterHintsMultipleSignatures",!1)};async function SQ(s,e,t,i,n){const o=s.ordered(e);for(const r of o)try{const a=await r.provideSignatureHelp(e,t,n,i);if(a)return a}catch(a){Di(a)}}dt.registerCommand("_executeSignatureHelpProvider",async(s,...e)=>{const[t,i,n]=e;pt(Le.isUri(t)),pt(P.isIPosition(i)),pt(typeof n=="string"||!n);const o=s.get(me),r=await s.get(Zs).createModelReference(t);try{const a=await SQ(o.signatureHelpProvider,r.object.textEditorModel,P.lift(i),{triggerKind:El.Invoke,isRetrigger:!1,triggerCharacter:n},qe.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var rh;(function(s){s.Default={type:0};class e{constructor(n,o){this.request=n,this.previouslyActiveHints=o,this.type=2}}s.Pending=e;class t{constructor(n){this.hints=n,this.type=1}}s.Active=t})(rh||(rh={}));const rN=class rN extends B{constructor(e,t,i=rN.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new O),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=rh.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new sn),this.triggerChars=new j0,this.retriggerChars=new j0,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Ir(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(n=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(n=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(n=>this.onCursorChange(n))),this._register(this.editor.onDidChangeModelContent(n=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(n=>this.onDidType(n))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=rh.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const n=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(n),t).catch(Ve)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new rh.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=this.state.type===1||this.state.type===2,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const n=this._pendingTriggers.reduce(n2e);this._pendingTriggers=[];const o={triggerKind:n.triggerKind,triggerCharacter:n.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const r=this.editor.getModel(),a=this.editor.getPosition();this.state=new rh.Pending(rn(l=>SQ(this.providers,r,a,o,l)),i);try{const l=await this.state.request;return e!==this.triggerId?(l==null||l.dispose(),!1):!l||!l.value.signatures||l.value.signatures.length===0?(l==null||l.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new rh.Active(l.value),this._lastSignatureHelpResult.value=l,this._onChangedHints.fire(this.state.hints),!0)}catch(l){return e===this.triggerId&&(this.state=rh.Default),Ve(l),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const n=i.charCodeAt(0);this.triggerChars.add(n),this.retriggerChars.add(n)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:El.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:El.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:El.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};rN.DEFAULT_DELAY=120;let F8=rN;function n2e(s,e){switch(e.triggerKind){case El.Invoke:return e;case El.ContentChange:return s;case El.TriggerCharacter:default:return e}}var s2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},XI=function(s,e){return function(t,i){e(t,i,s)}},B8;const vr=re,o2e=Qt("parameter-hints-next",se.chevronDown,p("parameterHintsNextIcon","Icon for show next parameter hint.")),r2e=Qt("parameter-hints-previous",se.chevronUp,p("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let W8=(Fp=class extends B{constructor(e,t,i,n,o,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new q),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Qc({editor:e},o,n)),this.keyVisible=Of.Visible.bindTo(i),this.keyMultipleSignatures=Of.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=vr(".editor-widget.parameter-hints-widget"),t=X(e,vr(".phwrapper"));t.tabIndex=-1;const i=X(t,vr(".controls")),n=X(i,vr(".button"+Re.asCSSSelector(r2e))),o=X(i,vr(".overloads")),r=X(i,vr(".button"+Re.asCSSSelector(o2e)));this._register(U(n,"click",h=>{at.stop(h),this.previous()})),this._register(U(r,"click",h=>{at.stop(h),this.next()}));const a=vr(".body"),l=new jw(a,{alwaysConsumeMouseWheel:!0});this._register(l),t.appendChild(l.getDomNode());const c=X(a,vr(".signature")),d=X(a,vr(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:c,overloads:o,docs:d,scrollbar:l},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(h=>{this.visible&&this.editor.layoutContentWidget(this)}));const u=()=>{if(!this.domNodes)return;const h=this.editor.getOption(50),g=this.domNodes.element;g.style.fontSize=`${h.fontSize}px`,g.style.lineHeight=`${h.lineHeight/h.fontSize}`,g.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",h.fontFamily),g.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",ks.fontFamily)};u(),this._register(le.chain(this.editor.onDidChangeConfiguration.bind(this.editor),h=>h.filter(g=>g.hasChanged(50)))(u)),this._register(this.editor.onDidLayoutChange(h=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)==null||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)==null||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;const t=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const n=X(this.domNodes.signature,vr(".code")),o=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(o)this.renderParameters(n,i,r);else{const c=X(n,vr("span"));c.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const c=vr("span.documentation");if(typeof a.documentation=="string")c.textContent=a.documentation;else{const d=this.renderMarkdownDocs(a.documentation);c.appendChild(d.element)}X(this.domNodes.docs,vr("p",{},c))}if(i.documentation!==void 0)if(typeof i.documentation=="string")X(this.domNodes.docs,vr("p",{},i.documentation));else{const c=this.renderMarkdownDocs(i.documentation);X(this.domNodes.docs,c.element)}const l=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",l),this.domNodes.docs.classList.toggle("empty",!l),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let c="";const d=i.parameters[r];Array.isArray(d.label)?c=i.label.substring(d.label[0],d.label[1]):c=d.label,d.documentation&&(c+=typeof d.documentation=="string"?`, ${d.documentation}`:`, ${d.documentation.value}`),i.documentation&&(c+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==c&&(Rs(p("hint","{0}, hint",c)),this.announcedLabel=c)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new hn,i=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var o;(o=this.domNodes)==null||o.scrollbar.scanDomNode()}}));i.element.classList.add("markdown-docs");const n=t.elapsed();return n>300&&this.telemetryService.publicLog2("parameterHints.parseMarkdown",{renderDuration:n}),i}hasDocs(e,t){return!!(t&&typeof t.documentation=="string"&&Yd(t.documentation).length>0||t&&typeof t.documentation=="object"&&Yd(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&Yd(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&Yd(e.documentation.value).length>0)}renderParameters(e,t,i){const[n,o]=this.getParameterLabelOffsets(t,i),r=document.createElement("span");r.textContent=t.label.substring(0,n);const a=document.createElement("span");a.textContent=t.label.substring(n,o),a.className="parameter active";const l=document.createElement("span");l.textContent=t.label.substring(o),X(e,r,a,l)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const n=new RegExp(`(\\W|^)${Go(i.label)}(?=\\W|$)`,"g");n.test(e.label);const o=n.lastIndex-i.label.length;return o>=0?[o,n.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return B8.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}},B8=Fp,Fp.ID="editor.widget.parameterHintsWidget",Fp);W8=B8=s2e([XI(2,Ae),XI(3,eo),XI(4,li),XI(5,Jn)],W8),D("editorHoverWidget.highlightForeground",Fm,p("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var a2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},xQ=function(s,e){return function(t,i){e(t,i,s)}},H8;let Pb=(Bp=class extends B{static get(e){return e.getContribution(H8.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new F8(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(n=>{var o;n?(this.widget.value.show(),this.widget.value.render(n)):(o=this.widget.rawValue)==null||o.hide()})),this.widget=new Ma(()=>this._register(t.createInstance(W8,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){var e;(e=this.widget.rawValue)==null||e.previous()}next(){var e;(e=this.widget.rawValue)==null||e.next()}trigger(e){this.model.trigger(e,0)}},H8=Bp,Bp.ID="editor.controller.parameterHints",Bp);Pb=H8=a2e([xQ(1,xe),xQ(2,me)],Pb);class l2e extends fe{constructor(){super({id:"editor.action.triggerParameterHints",label:p("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:I.hasSignatureHelpProvider,kbOpts:{kbExpr:I.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Pb.get(t);i==null||i.trigger({triggerKind:El.Invoke})}}ut(Pb.ID,Pb,2),J(l2e);const V8=175,$8=Qi.bindToContribution(Pb.get);de(new $8({id:"closeParameterHints",precondition:Of.Visible,handler:s=>s.cancel(),kbOpts:{weight:V8,kbExpr:I.focus,primary:9,secondary:[1033]}})),de(new $8({id:"showPrevParameterHint",precondition:G.and(Of.Visible,Of.MultipleSignatures),handler:s=>s.previous(),kbOpts:{weight:V8,kbExpr:I.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),de(new $8({id:"showNextParameterHint",precondition:G.and(Of.Visible,Of.MultipleSignatures),handler:s=>s.next(),kbOpts:{weight:V8,kbExpr:I.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var c2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},d2e=function(s,e){return function(t,i){e(t,i,s)}};class u2e{constructor(e){this.instantiationService=e}init(...e){}}function h2e(s,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=to((n,o)=>{const r=Ro(s(),n);o.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function g2e(s){return eE()?h2e(s,z8):s()}let z8=class extends u2e{constructor(e,t){super(t),this.init(e)}};z8=c2e([d2e(1,xe)],z8),ut(xy.ID,g2e(()=>xy),0),D("editor.placeholder.foreground",u_e,p("placeholderForeground","Foreground color of the placeholder text in the editor."));var f2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},QI=function(s,e){return function(t,i){e(t,i,s)}};const Ob=new he("renameInputVisible",!1,p("renameInputVisible","Whether the rename input widget is visible"));new he("renameInputFocused",!1,p("renameInputFocused","Whether the rename input widget is focused"));let U8=class{constructor(e,t,i,n,o,r){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=n,this._logService=r,this.allowEditorOverflow=!0,this._disposables=new q,this._visibleContextKey=Ob.bindTo(o),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new hn,this._inputWithButton=new p2e,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(50)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new j8(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{var e,t,i;((e=this._renameCandidateListView)==null?void 0:e.focusedCandidate)!==void 0&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),((t=this._renameCandidateProvidersCts)==null?void 0:t.token.isCancellationRequested)===!1&&this._renameCandidateProvidersCts.cancel(),(i=this._renameCandidateListView)==null||i.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){if(!this._domNode)return;const t=e.getColor(Mm),i=e.getColor(C$);this._domNode.style.backgroundColor=String(e.getColor(ir)??""),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:"",this._domNode.style.border=i?`1px solid ${i}`:"",this._domNode.style.color=String(e.getColor(T$)??"");const n=e.getColor(N$);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(lP)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(lP)??""),this._inputWithButton.domNode.style.borderWidth=n?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=n?"solid":"none",this._inputWithButton.domNode.style.borderColor=(n==null?void 0:n.toString())??"none"}_updateFont(){if(this._domNode===void 0)return;pt(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=lu(this.getDomNode().ownerDocument.body),t=Ti(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const n=this._editor.getOption(67),{totalHeight:o}=Iy.getLayoutInfo({lineHeight:n}),r=this._nPxAvailableBelow>o*6?[2,1]:[1,2];return{position:this._position,preference:r}}beforeRender(){var i,n;const[e,t]=this._acceptKeybindings;return this._label.innerText=p({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(i=this._keybindingService.lookupKeybinding(e))==null?void 0:i.getLabel(),(n=this._keybindingService.lookupKeybinding(t))==null?void 0:n.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(e===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;pt(this._renameCandidateListView),pt(this._nPxAvailableAbove!==void 0),pt(this._nPxAvailableBelow!==void 0);const t=Wc(this._inputWithButton.domNode),i=Wc(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:wo(this._inputWithButton.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),(t=this._currentAcceptInput)==null||t.call(this,e)}cancelInput(e,t){var i;(i=this._currentCancelInput)==null||i.call(this,e)}focusNextRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,i,n,o){const{start:r,end:a}=this._getSelection(e,t);this._renameCts=o;const l=new q;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,n===void 0?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=n,this._requestRenameCandidates(t,!1),l.add(U(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),l.add(U(this._inputWithButton.button,oe.KEY_DOWN,d=>{const u=new $t(d);(u.equals(3)||u.equals(10))&&(u.stopPropagation(),u.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new P(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",r.toString()),this._inputWithButton.input.setAttribute("selectionEnd",a.toString()),this._inputWithButton.input.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),l.add(Se(()=>{this._renameCts=void 0,o.dispose(!0)})),l.add(Se(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),l.add(Se(()=>this._candidates.clear()));const c=new hm;return c.p.finally(()=>{l.dispose(),this._hide()}),this._currentCancelInput=d=>{var u;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(u=this._renameCandidateListView)==null||u.clearCandidates(),c.complete(d),!0},this._currentAcceptInput=d=>{this._trace("invoking _currentAcceptInput"),pt(this._renameCandidateListView!==void 0);const u=this._renameCandidateListView.nCandidates;let h,g;const f=this._renameCandidateListView.focusedCandidate;if(f!==void 0?(this._trace("using new name from renameSuggestion"),h=f,g={k:"renameSuggestion"}):(this._trace("using new name from inputField"),h=this._inputWithButton.input.value,g=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),h===t||h.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),c.complete({newName:h,wantsPreview:i&&d,stats:{source:g,nRenameSuggestions:u,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},l.add(o.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),l.add(this._editor.onDidBlurEditorWidget(()=>{var d;return this.cancelInput(!((d=this._domNode)!=null&&d.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),c.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),pt(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new hi;const i=t?Yv.Invoke:Yv.Automatic,n=this._requestRenameCandidatesOnce(i,this._renameCandidateProvidersCts.token);if(n.length===0){this._inputWithButton.setSparkleButton();return}t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(n,e,this._renameCts.token)}}_getSelection(e,t){pt(this._editor.hasModel());const i=this._editor.getSelection();let n=0,o=t.length;return!k.isEmpty(i)&&!k.spansMultipleLines(i)&&k.containsRange(e,i)&&(n=Math.max(0,i.startColumn-e.startColumn),o=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:n,end:o}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(e,t,i){const n=(...c)=>this._trace("_updateRenameCandidates",...c);n("start");const o=await sw(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),o===void 0){n("returning early - received updateRenameCandidates results - undefined");return}const r=o.flatMap(c=>c.status==="fulfilled"&&Sl(c.value)?c.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=Tc(r,c=>c.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const l=a.filter(({newSymbolName:c})=>c.trim().length>0&&c!==this._inputWithButton.input.value&&c!==t&&!this._candidates.has(c));if(n(`valid distinct candidates - ${r.length} candidates.`),l.forEach(c=>this._candidates.add(c.newSymbolName)),l.length<1){n("returning early - no valid distinct candidates");return}n("setting candidates"),this._renameCandidateListView.setCandidates(l),n("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};U8=f2e([QI(2,Ji),QI(3,kt),QI(4,Ae),QI(5,Mn)],U8);class j8{constructor(e,t){this._disposables=new q,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",e.appendChild(this._listContainer),this._listWidget=j8._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus(i=>{i.elements.length===1&&t.onFocusChange(i.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(i=>{i.elements.length===1&&t.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(i=>{this._listWidget.setFocus([])})),this._listWidget.style(Tg({listInactiveFocusForeground:$w,listInactiveFocusBackground:zw}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(this._listWidget.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${i}px`,Ul(p("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0){this._listWidget.focusLast();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}else{if(e[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=Iy.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map(n=>n.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const n=new class{getTemplateId(r){return"candidate"}getHeight(r){return t}},o=new class{constructor(){this.templateId="candidate"}renderTemplate(r){return new Iy(r,i)}renderElement(r,a,l){l.populate(r)}disposeTemplate(r){r.dispose()}};return new ar("NewSymbolNameCandidates",e,n,[o],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class p2e{constructor(){this._onDidInputChange=new O,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new q}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",p("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=p("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=p("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=Za().setupManagedHover(As("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(U(this.input,oe.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(U(this.input,oe.KEY_DOWN,e=>{const t=new $t(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(U(this.input,oe.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(U(this.input,oe.FOCUS,()=>{this.domNode.style.outlineWidth="1px",this.domNode.style.outlineStyle="solid",this.domNode.style.outlineOffset="-1px",this.domNode.style.outlineColor="var(--vscode-focusBorder)"})),this._disposables.add(U(this.input,oe.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return pt(this._inputNode),this._inputNode}get button(){return pt(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=bg(se.sparkle)),Cn(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){var e;this._buttonState="stop",this._stopIcon??(this._stopIcon=bg(se.primitiveSquare)),Cn(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}const yS=class yS{constructor(e,t){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${t.lineHeight}px`,this._domNode.style.padding=`${yS._PADDING}px`;const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height=`${t.lineHeight*.8}px`,this._domNode.appendChild(i),this._icon=bg(se.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),Sn(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){var i;const t=!!((i=e.tags)!=null&&i.includes(tR.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+yS._PADDING*2}}dispose(){}};yS._PADDING=2;let Iy=yS;var m2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},ah=function(s,e){return function(t,i){e(t,i,s)}},q8;class K8{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){const n=this._providers[this._providerRenameIdx];if(!n.resolveRenameLocation)break;const o=await n.resolveRenameLocation(this.model,this.position,e);if(o){if(o.rejectReason){t.push(o.rejectReason);continue}return o}}this._providerRenameIdx=0;const i=this.model.getWordAtPosition(this.position);return i?{range:new k(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
1158
1158
  `):void 0}:{range:k.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(`
1159
1159
  `):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,n){const o=this._providers[t];if(!o)return{edits:[],rejectReason:i.join(`
1160
- `)};const r=await o.provideRenameEdits(this.model,this.position,e,n);if(r){if(r.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(r.rejectReason),n)}else return this._provideRenameEdits(e,t+1,i.concat(p("no result","No result.")),n);return r}}async function _2e(s,e,t,i){const n=new K8(e,t,s),o=await n.resolveRenameLocation(qe.None);return o!=null&&o.rejectReason?{edits:[],rejectReason:o.rejectReason}:n.provideRenameEdits(i,qe.None)}let lh=(Wp=class{static get(e){return e.getContribution(q8.ID)}constructor(e,t,i,n,o,r,a,l,c){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=o,this._logService=r,this._configService=a,this._languageFeaturesService=l,this._telemetryService=c,this._disposableStore=new q,this._cts=new hi,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(U8,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var f,m;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new hi,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new K8(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new Zu(this.editor,5,void 0,this._cts.token);let o;try{e("resolving rename location");const _=i.resolveRenameLocation(n.token);this._progressService.showWhile(_,250),o=await _,e("resolved rename location")}catch(_){_ instanceof ea?e("resolve rename location cancelled",JSON.stringify(_,null," ")):(e("resolve rename location failed",_ instanceof Error?_:JSON.stringify(_,null," ")),(typeof _=="string"||Ka(_))&&((f=Mo.get(this.editor))==null||f.showMessage(_||p("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),t)));return}finally{n.dispose()}if(!o){e("returning early - no loc");return}if(o.rejectReason){e(`returning early - rejected with reason: ${o.rejectReason}`,o.rejectReason),(m=Mo.get(this.editor))==null||m.showMessage(o.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new Zu(this.editor,5,o.range,this._cts.token),a=this.editor.getModel(),l=this._languageFeaturesService.newSymbolNamesProvider.all(a),c=await Promise.all(l.map(async _=>[_,await _.supportsAutomaticNewSymbolNamesTriggerKind??!1])),d=(_,b)=>{let v=c.slice();return _===Yv.Automatic&&(v=v.filter(([w,C])=>C)),v.map(([w])=>w.provideNewSymbolNames(a,o.range,_,b))};e("creating rename input field and awaiting its result");const u=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),h=await this._renameWidget.getInput(o.range,o.text,u,l.length>0?d:void 0,r);if(e("received response from rename input field"),l.length>0&&this._reportTelemetry(l.length,a.getLanguageId(),h),typeof h=="boolean"){e(`returning early - rename input field response - ${h}`),h&&this.editor.focus(),r.dispose();return}this.editor.focus(),e("requesting rename edits");const g=sw(i.provideRenameEdits(h.newName,r.token),r.token).then(async _=>{if(!_){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(_.rejectReason){e(`returning early - rejected with reason: ${_.rejectReason}`),this._notificationService.info(_.rejectReason);return}this.editor.setSelection(k.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(_,{editor:this.editor,showPreview:h.wantsPreview,label:p("label","Renaming '{0}' to '{1}'",o==null?void 0:o.text,h.newName),code:"undoredo.rename",quotableLabel:p("quotableLabel","Renaming {0} to {1}",o==null?void 0:o.text,h.newName),respectAutoSaveConfig:!0}).then(b=>{e("edits applied"),b.ariaSummary&&Rs(p("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,h.newName,b.ariaSummary))}).catch(b=>{e(`error when applying edits ${JSON.stringify(b,null," ")}`),this._notificationService.error(p("rename.failedApply","Rename failed to apply edits")),this._logService.error(b)})},_=>{e("error when providing rename edits",JSON.stringify(_,null," ")),this._notificationService.error(p("rename.failed","Rename failed to compute edits")),this._logService.error(_)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(g,250),g}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const n=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",n)}},q8=Wp,Wp.ID="editor.contrib.renameController",Wp);lh=q8=m2e([ah(1,xe),ah(2,Pi),ah(3,eC),ah(4,xu),ah(5,Mn),ah(6,ex),ah(7,me),ah(8,Jn)],lh);class b2e extends fe{constructor(){super({id:"editor.action.rename",label:p("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:G.and(I.writable,I.hasRenameProvider),kbOpts:{kbExpr:I.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(_t),[n,o]=Array.isArray(t)&&t||[void 0,void 0];return Le.isUri(n)&&P.isIPosition(o)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(o),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},Ve):super.runCommand(e,t)}run(e,t){const i=e.get(Mn),n=lh.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}ut(lh.ID,lh,4),J(b2e);const G8=Qi.bindToContribution(lh.get);de(new G8({id:"acceptRenameInput",precondition:Ob,handler:s=>s.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:G.and(I.focus,G.not("isComposing")),primary:3}})),de(new G8({id:"acceptRenameInputWithPreview",precondition:G.and(Ob,G.has("config.editor.rename.enablePreview")),handler:s=>s.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:G.and(I.focus,G.not("isComposing")),primary:2051}})),de(new G8({id:"cancelRenameInput",precondition:Ob,handler:s=>s.cancelRenameInput(),kbOpts:{weight:199,kbExpr:I.focus,primary:9,secondary:[1033]}})),Ut(class extends Ds{constructor(){super({id:"focusNextRenameSuggestion",title:{...Me("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Ob,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(_t).getFocusedCodeEditor();if(!t)return;const i=lh.get(t);i&&i.focusNextRenameSuggestion()}}),Ut(class extends Ds{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Me("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Ob,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(_t).getFocusedCodeEditor();if(!t)return;const i=lh.get(t);i&&i.focusPreviousRenameSuggestion()}}),Qs("_executeDocumentRenameProvider",function(s,e,t,...i){const[n]=i;pt(typeof n=="string");const{renameProvider:o}=s.get(me);return _2e(o,e,t,n)}),Qs("_executePrepareRename",async function(s,e,t){const{renameProvider:i}=s.get(me),o=await new K8(e,t,i).resolveRenameLocation(qe.None);if(o!=null&&o.rejectReason)throw new Error(o.rejectReason);return o}),gi.as(ra.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:p("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var v2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},kQ=function(s,e){return function(t,i){e(t,i,s)}};let JI=(Tv=class extends B{constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(n=>{var r;const o=(r=this.editor.getModel())==null?void 0:r.getLanguageId();o&&n.affects(o)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(n=>{this.options&&!n.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(n=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(n=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new Pt(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,n=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(n!=null&&n.markers)))return{foldingRules:n,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var i,n;if(!this.editor.hasModel()||!((i=this.options)!=null&&i.findMarkSectionHeaders)&&!((n=this.options)!=null&&n.findRegionSectionHeaders))return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(o=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(o)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(o=>{if(!o.shouldBeInComments)return!0;const r=t.validateRange(o.range),a=t.tokenization.getLineTokens(r.startLineNumber),l=a.findTokenIndexAtOffset(r.startColumn-1),c=a.getStandardTokenType(l);return a.getLanguageId(l)===t.getLanguageId()&&c===1}));const i=Object.values(this.currentOccurrences).map(o=>o.decorationId),n=e.map(o=>w2e(o));this.editor.changeDecorations(o=>{const r=o.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,l=r.length;a<l;a++){const c={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[c.decorationId]=c}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},Tv.ID="editor.sectionHeaderDetector",Tv);JI=v2e([kQ(1,fi),kQ(2,no)],JI);function w2e(s){return{range:s.range,options:ze.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:s.hasSeparatorLine?2:1,sectionHeaderText:s.text}})}}ut(JI.ID,JI,1);function C2e(s){for(let e=0,t=s.length;e<t;e+=4){const i=s[e+0],n=s[e+1],o=s[e+2],r=s[e+3];s[e+0]=r,s[e+1]=o,s[e+2]=n,s[e+3]=i}}function y2e(s){const e=new Uint8Array(s.buffer,s.byteOffset,s.length*4);return B9()||C2e(e),O0.wrap(e)}function LQ(s){const e=new Uint32Array(S2e(s));let t=0;if(e[t++]=s.id,s.type==="full")e[t++]=1,e[t++]=s.data.length,e.set(s.data,t),t+=s.data.length;else{e[t++]=2,e[t++]=s.deltas.length;for(const i of s.deltas)e[t++]=i.start,e[t++]=i.deleteCount,i.data?(e[t++]=i.data.length,e.set(i.data,t),t+=i.data.length):e[t++]=0}return y2e(e)}function S2e(s){let e=0;if(e+=2,s.type==="full")e+=1+s.data.length;else{e+=1,e+=3*s.deltas.length;for(const t of s.deltas)t.data&&(e+=t.data.length)}return e}function eD(s){return s&&!!s.data}function EQ(s){return s&&Array.isArray(s.edits)}class x2e{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function IQ(s,e){return s.has(e)}function k2e(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:[]}async function DQ(s,e,t,i,n){const o=k2e(s,e),r=await Promise.all(o.map(async a=>{let l,c=null;try{l=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(d){c=d,l=null}return(!l||!eD(l)&&!EQ(l))&&(l=null),new x2e(a,l,c)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function L2e(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:null}class E2e{constructor(e,t){this.provider=e,this.tokens=t}}function I2e(s,e){return s.has(e)}function TQ(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:[]}async function Z8(s,e,t,i){const n=TQ(s,e),o=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(l){Di(l),a=null}return(!a||!eD(a))&&(a=null),new E2e(r,a)}));for(const r of o)if(r.tokens)return r;return o.length>0?o[0]:null}dt.registerCommand("_provideDocumentSemanticTokensLegend",async(s,...e)=>{const[t]=e;pt(t instanceof Le);const i=s.get(Gt).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=s.get(me),o=L2e(n,i);return o?o[0].getLegend():s.get(jt).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)}),dt.registerCommand("_provideDocumentSemanticTokens",async(s,...e)=>{const[t]=e;pt(t instanceof Le);const i=s.get(Gt).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=s.get(me);if(!IQ(n,i))return s.get(jt).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const o=await DQ(n,i,null,null,qe.None);if(!o)return;const{provider:r,tokens:a}=o;if(!a||!eD(a))return;const l=LQ({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),l}),dt.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(s,...e)=>{const[t,i]=e;pt(t instanceof Le);const n=s.get(Gt).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:o}=s.get(me),r=TQ(o,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!k.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const a=await Z8(o,n,k.lift(i),qe.None);if(a)return a.provider.getLegend()}),dt.registerCommand("_provideDocumentRangeSemanticTokens",async(s,...e)=>{const[t,i]=e;pt(t instanceof Le),pt(k.isIRange(i));const n=s.get(Gt).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:o}=s.get(me),r=await Z8(o,n,k.lift(i),qe.None);if(!(!r||!r.tokens))return LQ({id:0,type:"full",data:r.tokens.data})});const Y8="editor.semanticHighlighting";function tD(s,e,t){var n;const i=(n=t.getValue(Y8,{overrideIdentifier:s.getLanguageId(),resource:s.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var NQ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},pc=function(s,e){return function(t,i){e(t,i,s)}},ch;let X8=class extends B{constructor(e,t,i,n,o,r){super(),this._watchers=Object.create(null);const a=d=>{this._watchers[d.uri.toString()]=new Q8(d,e,i,o,r)},l=(d,u)=>{u.dispose(),delete this._watchers[d.uri.toString()]},c=()=>{for(const d of t.getModels()){const u=this._watchers[d.uri.toString()];tD(d,i,n)?u||a(d):u&&l(d,u)}};t.getModels().forEach(d=>{tD(d,i,n)&&a(d)}),this._register(t.onModelAdded(d=>{tD(d,i,n)&&a(d)})),this._register(t.onModelRemoved(d=>{const u=this._watchers[d.uri.toString()];u&&l(d,u)})),this._register(n.onDidChangeConfiguration(d=>{d.affectsConfiguration(Y8)&&c()})),this._register(i.onDidColorThemeChange(c))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};X8=NQ([pc(0,dx),pc(1,Gt),pc(2,Ji),pc(3,Ye),pc(4,tr),pc(5,me)],X8);let Q8=(Wh=class extends B{constructor(e,t,i,n,o){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=o.documentSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentSemanticTokens",{min:ch.REQUEST_MIN_DELAY,max:ch.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Pt(()=>this._fetchDocumentSemanticTokensNow(),ch.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const r=()=>{Ft(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const a of this._provider.all(e))typeof a.onDidChange=="function"&&this._documentProvidersChangeListeners.push(a.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};r(),this._register(this._provider.onDidChange(()=>{r(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(a=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),Ft(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!IQ(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new hi,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=DQ(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const o=[],r=this._model.onDidChangeContent(l=>{o.push(l)}),a=new hn(!1);n.then(l=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!l)this._setDocumentSemanticTokens(null,null,null,o);else{const{provider:c,tokens:d}=l,u=this._semanticTokensStylingService.getStyling(c);this._setDocumentSemanticTokens(c,d||null,u,o)}},l=>{l&&(kr(l)||typeof l.message=="string"&&l.message.indexOf("busy")!==-1)||Ve(l),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),(o.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,n,o){o=Math.min(o,i.length-n,e.length-t);for(let r=0;r<o;r++)i[n+r]=e[t+r]}_setDocumentSemanticTokens(e,t,i,n){const o=this._currentDocumentResponse,r=()=>{(n.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),r();return}if(EQ(t)){if(!o){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:o.data};else{let a=0;for(const h of t.edits)a+=(h.data?h.data.length:0)-h.deleteCount;const l=o.data,c=new Uint32Array(l.length+a);let d=l.length,u=c.length;for(let h=t.edits.length-1;h>=0;h--){const g=t.edits[h];if(g.start>l.length){i.warnInvalidEditStart(o.resultId,t.resultId,h,g.start,l.length),this._model.tokenization.setSemanticTokens(null,!0);return}const f=d-(g.start+g.deleteCount);f>0&&(ch._copy(l,d-f,c,u-f,f),u-=f),g.data&&(ch._copy(g.data,0,c,u-g.data.length,g.data.length),u-=g.data.length),d=g.start}d>0&&ch._copy(l,0,c,0,d),t={resultId:t.resultId,data:c}}}if(eD(t)){this._currentDocumentResponse=new D2e(e,t.resultId,t.data);const a=ZV(t,i,this._model.getLanguageId());if(n.length>0)for(const l of n)for(const c of a)for(const d of l.changes)c.applyEdit(d.range,d.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},ch=Wh,Wh.REQUEST_MIN_DELAY=300,Wh.REQUEST_MAX_DELAY=2e3,Wh);Q8=ch=NQ([pc(1,dx),pc(2,Ji),pc(3,tr),pc(4,me)],Q8);class D2e{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}k_(X8);var T2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Dy=function(s,e){return function(t,i){e(t,i,s)}};let iD=(Nv=class extends B{constructor(e,t,i,n,o,r){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=n,this._editor=e,this._provider=r.documentRangeSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new Pt(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(l=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(l=>{l.affectsConfiguration(Y8)&&(this._cancelAll(),a())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),a()})),a()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;t<i;t++)if(this._outstandingRequests[t]===e){this._outstandingRequests.splice(t,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;const e=this._editor.getModel();if(e.tokenization.hasCompleteSemanticTokens())return;if(!tD(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!I2e(this._provider,e)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}const t=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(t.map(i=>this._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),n=rn(r=>Promise.resolve(Z8(this._provider,e,t,r))),o=new hn(!1);return n.then(r=>{if(this._debounceInformation.update(e,o.elapsed()),!r||!r.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:a,tokens:l}=r,c=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,ZV(l,c,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},Nv.ID="editor.contrib.viewportSemanticTokens",Nv);iD=T2e([Dy(1,dx),Dy(2,Ji),Dy(3,Ye),Dy(4,tr),Dy(5,me)],iD),ut(iD.ID,iD,1);class N2e{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const n of t){const o=[];i.push(o),this.selectSubwords&&this._addInWordRanges(o,e,n),this._addWordRanges(o,e,n),this._addWhitespaceLine(o,e,n),o.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const n=t.getWordAtPosition(i);if(!n)return;const{word:o,startColumn:r}=n,a=i.column-r;let l=a,c=a,d=0;for(;l>=0;l--){const u=o.charCodeAt(l);if(l!==a&&(u===95||u===45))break;if(nu(u)&&Dl(d))break;d=u}for(l+=1;c<o.length;c++){const u=o.charCodeAt(c);if(Dl(u)&&nu(d))break;if(u===95||u===45)break;d=u}l<c&&e.push({range:new k(i.lineNumber,r+l,i.lineNumber,r+c)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new k(i.lineNumber,n.startColumn,i.lineNumber,n.endColumn)})}_addWhitespaceLine(e,t,i){t.getLineLength(i.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new k(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var R2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},A2e=function(s,e){return function(t,i){e(t,i,s)}},J8;class eW{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new eW(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let Ty=(Hp=class{static get(e){return e.getContribution(J8.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)==null||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await AQ(this._languageFeaturesService.selectionRangeProvider,i,t.map(o=>o.getPosition()),this._editor.getOption(114),qe.None).then(o=>{var r;if(!(!ls(o)||o.length!==t.length)&&!(!this._editor.hasModel()||!ai(this._editor.getSelections(),t,(a,l)=>a.equalsSelection(l)))){for(let a=0;a<o.length;a++)o[a]=o[a].filter(l=>l.containsPosition(t[a].getStartPosition())&&l.containsPosition(t[a].getEndPosition())),o[a].unshift(t[a]);this._state=o.map(a=>new eW(0,a)),(r=this._selectionListener)==null||r.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var a;this._ignoreSelection||((a=this._selectionListener)==null||a.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(o=>o.mov(e));const n=this._state.map(o=>ve.fromPositions(o.ranges[o.index].getStartPosition(),o.ranges[o.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},J8=Hp,Hp.ID="editor.contrib.smartSelectController",Hp);Ty=J8=R2e([A2e(1,me)],Ty);class RQ extends fe{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Ty.get(t);i&&await i.run(this._forward)}}class M2e extends RQ{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:p("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:be.MenubarSelectionMenu,group:"1_basic",title:p({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}dt.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class P2e extends RQ{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:p("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:be.MenubarSelectionMenu,group:"1_basic",title:p({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}ut(Ty.ID,Ty,4),J(M2e),J(P2e);async function AQ(s,e,t,i,n){const o=s.all(e).concat(new N2e(i.selectSubwords));o.length===1&&o.unshift(new yI);const r=[],a=[];for(const l of o)r.push(Promise.resolve(l.provideSelectionRanges(e,t,n)).then(c=>{if(ls(c)&&c.length===t.length)for(let d=0;d<t.length;d++){a[d]||(a[d]=[]);for(const u of c[d])k.isIRange(u.range)&&k.containsPosition(u.range,t[d])&&a[d].push(k.lift(u.range))}},Di));return await Promise.all(r),a.map(l=>{if(l.length===0)return[];l.sort((h,g)=>P.isBefore(h.getStartPosition(),g.getStartPosition())?1:P.isBefore(g.getStartPosition(),h.getStartPosition())||P.isBefore(h.getEndPosition(),g.getEndPosition())?-1:P.isBefore(g.getEndPosition(),h.getEndPosition())?1:0);const c=[];let d;for(const h of l)(!d||k.containsRange(h,d)&&!k.equalsRange(h,d))&&(c.push(h),d=h);if(!i.selectLeadingAndTrailingWhitespace)return c;const u=[c[0]];for(let h=1;h<c.length;h++){const g=c[h-1],f=c[h];if(f.startLineNumber!==g.startLineNumber||f.endLineNumber!==g.endLineNumber){const m=new k(g.startLineNumber,e.getLineFirstNonWhitespaceColumn(g.startLineNumber),g.endLineNumber,e.getLineLastNonWhitespaceColumn(g.endLineNumber));m.containsRange(g)&&!m.equalsRange(g)&&f.containsRange(m)&&!f.equalsRange(m)&&u.push(m);const _=new k(g.startLineNumber,1,g.endLineNumber,e.getLineMaxColumn(g.endLineNumber));_.containsRange(g)&&!_.equalsRange(m)&&f.containsRange(_)&&!f.equalsRange(_)&&u.push(_)}u.push(f)}return u})}dt.registerCommand("_executeSelectionRangeProvider",async function(s,...e){const[t,i]=e;pt(Le.isUri(t));const n=s.get(me).selectionRangeProvider,o=await s.get(Zs).createModelReference(t);try{return AQ(n,o.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},qe.None)}finally{o.dispose()}});const O2e=Object.freeze({View:Me("view","View"),Help:Me("help","Help"),Test:Me("test","Test"),File:Me("file","File"),Preferences:Me("preferences","Preferences"),Developer:Me({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class Ny{constructor(e,t,i,n=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=i,this.showEndForLine=n}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&ai(this.startLineNumbers,e.startLineNumbers)&&ai(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new Ny([],[],0)}}const MQ=jc("stickyScrollViewLayer",{createHTML:s=>s}),tW="data-sticky-line-index",PQ="data-sticky-is-line",F2e="data-sticky-is-line-number",OQ="data-sticky-is-folding-icon";class B2e extends B{constructor(e){super(),this._editor=e,this._foldingIconStore=new q,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof _a),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(116)&&t(),i.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(i===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const n=this._isWidgetHeightZero(e),o=n?void 0:e,r=n?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(o,t,r),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const i=[...e.startLineNumbers];e.showEndForLine!==null&&(i[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;const i=this._previousState,n=e.startLineNumbers.findIndex(o=>!i.startLineNumbers.includes(o));return n===-1?0:n}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;t<this._renderedStickyLines.length;t++){const i=this._renderedStickyLines[t];i.lineNumberDomNode.remove(),i.lineDomNode.remove()}this._renderedStickyLines=this._renderedStickyLines.slice(0,e),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(e){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${e?.5:0}s`)}_setFoldingIconsVisibility(e){for(const t of this._renderedStickyLines){const i=t.foldingIcon;i&&i.setVisible(e?!0:i.isCollapsed)}}async _renderRootNode(e,t,i){if(this._clearStickyLinesFromLine(i),!e)return;for(const a of this._renderedStickyLines)this._updateTopAndZIndexOfStickyLine(a);const n=this._editor.getLayoutInfo(),o=this._lineNumbers.slice(i);for(const[a,l]of o.entries()){const c=this._renderChildNode(a+i,l,t,n);c&&(this._linesDomNode.appendChild(c.lineDomNode),this._lineNumbersDomNode.appendChild(c.lineNumberDomNode),this._renderedStickyLines.push(c))}t&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const r=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${r}px`,this._linesDomNodeScrollable.style.height=`${r}px`,this._rootDomNode.style.height=`${r}px`,this._rootDomNode.style.marginLeft="0px",this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(a=>a.scrollWidth))+n.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(111)==="mouseover"&&(this._foldingIconStore.add(U(this._lineNumbersDomNode,oe.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(U(this._lineNumbersDomNode,oe.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,n){const o=this._editor._getViewModel();if(!o)return;const r=o.coordinatesConverter.convertModelPositionToViewPosition(new P(t,1)).lineNumber,a=o.getViewLineRenderingData(r),l=this._editor.getOption(68);let c;try{c=Ps.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{c=[]}const d=new Bu(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,c,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),u=new Cm(2e3),h=XC(d,u);let g;MQ?g=MQ.createHTML(u.build()):g=u.build();const f=document.createElement("span");f.setAttribute(tW,String(e)),f.setAttribute(PQ,""),f.setAttribute("role","listitem"),f.tabIndex=0,f.className="sticky-line-content",f.classList.add(`stickyLine${t}`),f.style.lineHeight=`${this._lineHeight}px`,f.innerHTML=g;const m=document.createElement("span");m.setAttribute(tW,String(e)),m.setAttribute(F2e,""),m.className="sticky-line-number",m.style.lineHeight=`${this._lineHeight}px`;const _=n.contentLeft;m.style.width=`${_}px`;const b=document.createElement("span");l.renderType===1||l.renderType===3&&t%10===0?b.innerText=t.toString():l.renderType===2&&(b.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),b.className="sticky-line-number-inner",b.style.lineHeight=`${this._lineHeight}px`,b.style.width=`${n.lineNumbersWidth}px`,b.style.paddingLeft=`${n.lineNumbersLeft}px`,m.appendChild(b);const v=this._renderFoldingIconForLine(i,t);v&&m.appendChild(v.domNode),this._editor.applyFontInfo(f),this._editor.applyFontInfo(b),m.style.lineHeight=`${this._lineHeight}px`,f.style.lineHeight=`${this._lineHeight}px`,m.style.height=`${this._lineHeight}px`,f.style.height=`${this._lineHeight}px`;const w=new W2e(e,t,f,m,v,h.characterMapping,f.scrollWidth);return this._updateTopAndZIndexOfStickyLine(w)}_updateTopAndZIndexOfStickyLine(e){var d;const t=e.index,i=e.lineDomNode,n=e.lineNumberDomNode,o=t===this._lineNumbers.length-1,r="0",a="1";i.style.zIndex=o?r:a,n.style.zIndex=o?r:a;const l=`${t*this._lineHeight+this._lastLineRelativePosition+((d=e.foldingIcon)!=null&&d.isCollapsed?1:0)}px`,c=`${t*this._lineHeight}px`;return i.style.top=o?l:c,n.style.top=o?l:c,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||i==="never")return;const n=e.regions,o=n.findRange(t),r=n.getStartLineNumber(o);if(!(t===r))return;const l=n.isCollapsed(o),c=new H2e(l,r,n.getEndLineNumber(o),this._lineHeight);return c.setVisible(this._isOnGlyphMargin?!0:l||i==="always"),c.domNode.setAttribute(OQ,""),c}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=$F(t.characterMapping,e,0);return new P(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t;return((t=this._getRenderedStickyLineFromChildDomNode(e))==null?void 0:t.lineNumber)??null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,tW);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,PQ)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,OQ)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class W2e{constructor(e,t,i,n,o,r,a){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=n,this.foldingIcon=o,this.characterMapping=r,this.scrollWidth=a}}class H2e{constructor(e,t,i,n){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=n,this.domNode=document.createElement("div"),this.domNode.style.width=`${n}px`,this.domNode.style.height=`${n}px`,this.domNode.className=Re.asClassName(e?aI:rI)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Ry{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class nD{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class FQ{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var sD=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Ay=function(s,e){return function(t,i){e(t,i,s)}},My;(function(s){s.OUTLINE_MODEL="outlineModel",s.FOLDING_PROVIDER_MODEL="foldingProviderModel",s.INDENTATION_MODEL="indentationModel"})(My||(My={}));var dh;(function(s){s[s.VALID=0]="VALID",s[s.INVALID=1]="INVALID",s[s.CANCELED=2]="CANCELED"})(dh||(dh={}));let iW=class extends B{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Ir(300)),this._updateOperation=this._register(new q),this._editor.getOption(116).defaultModel){case My.OUTLINE_MODEL:this._modelProviders.push(new nW(this._editor,n));case My.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new oW(this._editor,t,n));case My.INDENTATION_MODEL:this._modelProviders.push(new sW(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:n}=t.computeStickyModel(e);this._modelPromise=n;const o=await i;if(this._modelPromise!==n)return null;switch(o){case dh.CANCELED:return this._updateOperation.clear(),null;case dh.VALID:return t.stickyModel}}return null}).catch(t=>(Ve(t),null))}};iW=sD([Ay(2,xe),Ay(3,me)],iW);class BQ extends B{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,dh.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=rn(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?dh.CANCELED:(this._stickyModel=this.createStickyModel(e,i),dh.VALID):this._invalid()).then(void 0,i=>(Ve(i),dh.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let nW=class extends BQ{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return Ld.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var r;const{stickyOutlineElement:i,providerID:n}=this._stickyModelFromOutlineModel(t,(r=this._stickyModel)==null?void 0:r.outlineProviderId),o=this._editor.getModel();return new FQ(o.uri,o.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(ct.first(e.children.values())instanceof yX){const a=ct.find(e.children.values(),l=>l.id===t);if(a)i=a.children;else{let l="",c=-1,d;for(const[u,h]of e.children.entries()){const g=this._findSumOfRangesOfGroup(h);g>c&&(d=h,c=g,l=h.id)}t=l,i=d.children}}else i=e.children;const n=[],o=Array.from(i.values()).sort((a,l)=>{const c=new Ry(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),d=new Ry(l.symbol.range.startLineNumber,l.symbol.range.endLineNumber);return this._comparator(c,d)});for(const a of o)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new nD(void 0,n,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const o of e.children.values())if(o.symbol.selectionRange.startLineNumber!==o.symbol.range.endLineNumber)if(o.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(o,o.symbol.selectionRange.startLineNumber));else for(const r of o.children.values())i.push(this._stickyModelFromOutlineElement(r,o.symbol.selectionRange.startLineNumber));i.sort((o,r)=>this._comparator(o.range,r.range));const n=new Ry(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new nD(n,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof wB?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};nW=sD([Ay(1,me)],nW);class WQ extends BQ{constructor(e){super(e),this._foldingLimitReporter=new vX(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new FQ(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new nD(void 0,[],void 0);for(let o=0;o<t;o++){const r=e.getParentIndex(o);let a;r!==-1?a=i[r]:a=n;const l=new nD(new Ry(e.getStartLineNumber(o),e.getEndLineNumber(o)+1),[],a);a.children.push(l),i.push(l)}return n}}let sW=class extends WQ{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new pB(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};sW=sD([Ay(1,fi)],sW);let oW=class extends WQ{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=th.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new bB(e.getModel(),n,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t;return((t=this.provider)==null?void 0:t.compute(e))??null}};oW=sD([Ay(2,me)],oW);var V2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},HQ=function(s,e){return function(t,i){e(t,i,s)}};class $2e{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let rW=class extends B{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new O),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new q),this._updateSoon=this._register(new Pt(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(116)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(Se(()=>{var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return(e=this._model)==null?void 0:e.version}updateStickyModelProvider(){var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null;const e=this._editor;e.hasModel()&&(this._stickyModelProvider=new iW(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new hi,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,o){if(t.children.length===0)return;let r=o;const a=[];for(let d=0;d<t.children.length;d++){const u=t.children[d];u.range&&a.push(u.range.startLineNumber)}const l=this.updateIndex(Wv(a,e.startLineNumber,(d,u)=>d-u)),c=this.updateIndex(Wv(a,e.startLineNumber+n,(d,u)=>d-u));for(let d=l;d<=c;d++){const u=t.children[d];if(!u)return;if(u.range){const h=u.range.startLineNumber,g=u.range.endLineNumber;e.startLineNumber<=g+1&&h-1<=e.endLineNumber&&h!==r&&(r=h,i.push(new $2e(h,g-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,u,i,n+1,h))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,u,i,n,o)}}getCandidateStickyLinesIntersecting(e){var n,o;if(!((n=this._model)!=null&&n.element))return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=(o=this._editor._getViewModel())==null?void 0:o.getHiddenAreas();if(i)for(const r of i)t=t.filter(a=>!(a.startLineNumber>=r.startLineNumber&&a.endLineNumber<=r.endLineNumber+1));return t}};rW=V2e([HQ(1,me),HQ(2,fi)],rW);var z2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Fb=function(s,e){return function(t,i){e(t,i,s)}},aW;let Nd=(Vp=class extends B{constructor(e,t,i,n,o,r,a){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=n,this._contextKeyService=a,this._sessionStore=new q,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new B2e(this._editor),this._stickyLineCandidateProvider=new rW(this._editor,i,o),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Ny.Empty,this._onDidResize(),this._readConfiguration();const l=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(d=>{this._readConfigurationChange(d)})),this._register(U(l,oe.CONTEXT_MENU,async d=>{this._onContextMenu(Ee(l),d)})),this._stickyScrollFocusedContextKey=I.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=I.stickyScrollVisible.bindTo(this._contextKeyService);const c=this._register(Fa(l));this._register(c.onDidBlur(d=>{this._positionRevealed===!1&&l.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(c.onDidFocus(d=>{this.focus()})),this._registerMouseListeners(),this._register(U(l,oe.MOUSE_DOWN,d=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(aW.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)==null||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new q,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(k.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new q),t=this._register(new FE(this._editor,{extractLineNumberFromMouseEvent:o=>{const r=this._stickyScrollWidget.getEditorPositionFromNode(o.target.element);return r?r.lineNumber:0}})),i=o=>{if(!this._editor.hasModel()||o.target.type!==12||o.target.detail!==this._stickyScrollWidget.getId())return null;const r=o.target.element;if(!r||r.innerText!==r.innerHTML)return null;const a=this._stickyScrollWidget.getEditorPositionFromNode(r);return a?{range:new k(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(yi(n,oe.CLICK,o=>{if(o.ctrlKey||o.altKey||o.metaKey||!o.leftButton)return;if(o.shiftKey){const c=this._stickyScrollWidget.getLineIndexFromChildDomNode(o.target);if(c===null)return;const d=new P(this._endLineNumbers[c],1);this._revealLineInCenterIfOutsideViewport(d);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(o.target)){const c=this._stickyScrollWidget.getLineNumberFromChildDomNode(o.target);this._toggleFoldingRegionForLine(c);return}if(!this._stickyScrollWidget.isInStickyLine(o.target))return;let l=this._stickyScrollWidget.getEditorPositionFromNode(o.target);if(!l){const c=this._stickyScrollWidget.getLineNumberFromChildDomNode(o.target);if(c===null)return;l=new P(c,1)}this._revealPosition(l)})),this._register(yi(n,oe.MOUSE_MOVE,o=>{if(o.shiftKey){const r=this._stickyScrollWidget.getLineIndexFromChildDomNode(o.target);if(r===null||this._showEndForLine!==null&&this._showEndForLine===r)return;this._showEndForLine=r,this._renderStickyScroll();return}this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(U(n,oe.MOUSE_LEAVE,o=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([o,r])=>{const a=i(o);if(!a||!o.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}const{range:l,textElement:c}=a;if(!l.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=l,e.clear();else if(c.style.textDecoration==="underline")return;const d=new hi;e.add(Se(()=>d.dispose(!0)));let u;Q1(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new P(l.startLineNumber,l.startColumn+1),!1,d.token).then(h=>{if(!d.token.isCancellationRequested)if(h.length!==0){this._candidateDefinitionsLength=h.length;const g=c;u!==g?(e.clear(),u=g,u.style.textDecoration="underline",e.add(Se(()=>{u.style.textDecoration="none"}))):u||(u=g,u.style.textDecoration="underline",e.add(Se(()=>{u.style.textDecoration="none"})))}else e.clear()})})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async o=>{if(o.target.type!==12||o.target.detail!==this._stickyScrollWidget.getId())return;const r=this._stickyScrollWidget.getEditorPositionFromNode(o.target.element);r&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:r.lineNumber,column:1})),this._instaService.invokeFunction(PY,o,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new ia(e,t);this._contextMenuService.showContextMenu({menuId:be.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t==null?void 0:t.foldingIcon;if(!i)return;hB(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const n=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(n),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(116);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)}))}_readConfigurationChange(e){(e.hasChanged(116)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(111)||e.hasChanged(68))&&this._readConfiguration(),e.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const n of e.ranges)if(i>=n.fromLineNumber&&i<=n.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(t*.25)}async _renderStickyScroll(e){const t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}const i=this._updateAndGetMinRebuildFromLine(e),n=this._stickyLineCandidateProvider.getVersionId();if(n===void 0||n===t.getVersionId())if(!this._focused)await this._updateState(i);else if(this._focusedStickyElementIndex===-1)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const r=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(i),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(r)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){const t=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){var i;this._minRebuildFromLine=void 0,this._foldingModel=await((i=th.get(this._editor))==null?void 0:i.getFoldingModel())??void 0,this._widgetState=this.findScrollWidgetState();const t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=Ny.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let n=0;const o=[],r=[],a=this._editor.getVisibleRanges();if(a.length!==0){const l=new Ry(a[0].startLineNumber,a[a.length-1].endLineNumber),c=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(l);for(const d of c){const u=d.startLineNumber,h=d.endLineNumber,g=d.nestingDepth;if(h-u>0){const f=(g-1)*e,m=g*e,_=this._editor.getBottomForLineNumber(u)-i,b=this._editor.getTopForLineNumber(h)-i,v=this._editor.getBottomForLineNumber(h)-i;if(f>b&&f<=v){o.push(u),r.push(h+1),n=v-m;break}else m>_&&m<=v&&(o.push(u),r.push(h+1));if(o.length===t)break}}}return this._endLineNumbers=r,new Ny(o,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},aW=Vp,Vp.ID="store.contrib.stickyScrollController",Vp);Nd=aW=z2e([Fb(1,xo),Fb(2,me),Fb(3,xe),Fb(4,fi),Fb(5,tr),Fb(6,Ae)],Nd);class U2e extends Ds{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Me("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:p({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Me("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:O2e.View,toggled:{condition:G.equals("config.editor.stickyScroll.enabled",!0),title:p("stickyScroll","Sticky Scroll"),mnemonicTitle:p({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:be.CommandPalette},{id:be.MenubarAppearanceMenu,group:"4_editor",order:3},{id:be.StickyScrollContext}]})}async run(e){const t=e.get(Ye),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const oD=100;class j2e extends Ha{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Me("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:p({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:G.and(G.has("config.editor.stickyScroll.enabled"),I.stickyScrollVisible),menu:[{id:be.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Nd.get(t))==null||i.focus()}}class q2e extends Ha{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Me("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oD,primary:18}})}runEditorCommand(e,t){var i;(i=Nd.get(t))==null||i.focusNext()}}class K2e extends Ha{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Me("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oD,primary:16}})}runEditorCommand(e,t){var i;(i=Nd.get(t))==null||i.focusPrevious()}}class G2e extends Ha{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Me("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oD,primary:3}})}runEditorCommand(e,t){var i;(i=Nd.get(t))==null||i.goToFocused()}}class Z2e extends Ha{constructor(){super({id:"editor.action.selectEditor",title:Me("selectEditor.title","Select Editor"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oD,primary:9}})}runEditorCommand(e,t){var i;(i=Nd.get(t))==null||i.selectEditor()}}ut(Nd.ID,Nd,1),Ut(U2e),Ut(j2e),Ut(K2e),Ut(q2e),Ut(G2e),Ut(Z2e);var VQ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Py=function(s,e){return function(t,i){e(t,i,s)}};class Y2e{constructor(e,t,i,n,o,r){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=n,this.command=o,this.completion=r}}let lW=class extends Noe{constructor(e,t,i,n,o,r){super(o.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=n,this._suggestMemoryService=r}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn<i.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){const e=[],{items:t}=this.completionModel,i=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},t),n=ct.slice(t,i),o=ct.slice(t,0,i);let r=5;for(const a of ct.concat(n,o)){if(a.score===qa.Default)continue;const l=new k(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),c=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new Y2e(l,c,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(qe.None)}return e}};lW=VQ([Py(5,wI)],lW);let cW=class extends B{constructor(e,t,i,n){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=n,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,n){var g;if(i.selectedSuggestionInfo)return;let o;for(const f of this._editorService.listCodeEditors())if(f.getModel()===e){o=f;break}if(!o)return;const r=o.getOption(90);if(yb.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),l=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(yb.valueFor(r,l)!=="inline")return;let c=e.getWordAtPosition(t),d;if(c!=null&&c.word||(d=this._getTriggerCharacterInfo(e,t)),!(c!=null&&c.word)&&!d||(c||(c=e.getWordUntilPosition(t)),c.endColumn!==t.column))return;let u;const h=e.getValueInRange(new k(t.lineNumber,1,t.lineNumber,t.column));if(!d&&((g=this._lastResult)!=null&&g.canBeReused(e,t.lineNumber,c))){const f=new YX(h,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=f,this._lastResult.acquire(),u=this._lastResult}else{const f=await LB(this._languageFeatureService.completionProvider,e,t,new ly(void 0,xI.createSuggestFilter(o).itemKind,d==null?void 0:d.providers),d&&{triggerKind:1,triggerCharacter:d.ch},n);let m;f.needsClipboard&&(m=await this._clipboardService.readText());const _=new nh(f.items,t.column,new YX(h,0),SI.None,o.getOption(119),o.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},m);u=new lW(e,t.lineNumber,c,_,f,this._suggestMemoryService)}return this._lastResult=u,u}handleItemDidShow(e,t){t.completion.resolve(qe.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var o;const i=e.getValueInRange(k.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),n=new Set;for(const r of this._languageFeatureService.completionProvider.all(e))(o=r.triggerCharacters)!=null&&o.includes(i)&&n.add(r);if(n.size!==0)return{providers:n,ch:i}}};cW=VQ([Py(0,me),Py(1,hd),Py(2,wI),Py(3,_t)],cW),k_(cW);class X2e extends fe{constructor(){super({id:"editor.action.forceRetokenize",label:p("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const n=new hn;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}J(X2e);const aN=class aN extends Ds{constructor(){super({id:aN.ID,title:Me({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:Me("tabMovesFocusDescriptions","Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.")},f1:!0})}run(){const t=!D_.getTabFocusMode();D_.setTabFocusMode(t),Rs(t?p("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element"):p("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};aN.ID="editor.action.toggleTabFocusMode";let dW=aN;Ut(dW);var Q2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},$Q=function(s,e){return function(t,i){e(t,i,s)}};let uW=class extends B{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},n,o){super(),this._link=t,this._hoverService=n,this._enabled=!0,this.el=X(e,re("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??As("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new rt(this.el,"click")),a=this._register(new rt(this.el,"keypress")),l=le.chain(a.event,u=>u.map(h=>new $t(h)).filter(h=>h.keyCode===3)),c=this._register(new rt(this.el,qt.Tap)).event;this._register(es.addTarget(this.el));const d=le.any(r.event,l,c);this._register(d(u=>{this.enabled&&(at.stop(u,!0),i!=null&&i.opener?i.opener(this._link.href):o.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};uW=Q2e([$Q(3,Vl),$Q(4,eo)],uW);var zQ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},UQ=function(s,e){return function(t,i){e(t,i,s)}};const J2e=26;let hW=class extends B{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(gW))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),(t=e.onClose)==null||t.call(e)}}),this._editor.setBanner(this.banner.element,J2e)}};hW=zQ([UQ(1,xe)],hW);let gW=class extends B{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Qc,{}),this.element=re("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=re("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Cn(this.element)}show(e){Cn(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=X(this.element,re("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(re(`div${Re.asCSSSelector(e.icon)}`));const n=X(this.element,re("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=X(this.element,re("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(uW,this.messageActionsContainer,{...r,tabIndex:-1},{}));const o=X(this.element,re("div.action-container"));this.actionBar=this._register(new lr(o)),this.actionBar.push(this._register(new yo("banner.close","Close Banner",Re.asClassName(yq),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};gW=zQ([UQ(0,xe)],gW);var fW=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Bb=function(s,e){return function(t,i){e(t,i,s)}};const eOe=Qt("extensions-warning-message",se.warning,p("warningIcon","Icon shown with a warning message in the extensions editor."));let Oy=(Rv=class extends B{constructor(e,t,i,n){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=o=>{if(o&&o.hasMore){if(this._bannerClosed)return;const r=Math.max(o.ambiguousCharacterCount,o.nonBasicAsciiCharacterCount,o.invisibleCharacterCount);let a;if(o.nonBasicAsciiCharacterCount>=r)a={message:p("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new By};else if(o.ambiguousCharacterCount>=r)a={message:p("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Ff};else if(o.invisibleCharacterCount>=r)a={message:p("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Fy};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:eOe,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(hW,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(126),this._register(i.onDidChangeTrust(o=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(o=>{o.hasChanged(126)&&(this._options=e.getOption(126),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=tOe(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?Rse:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new pW(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new iOe(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},Rv.ID="editor.contrib.unicodeHighlighter",Rv);Oy=fW([Bb(1,no),Bb(2,Rz),Bb(3,xe)],Oy);function tOe(s,e){return{nonBasicASCII:e.nonBasicASCII===qo?!s:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===qo?!s:e.includeComments,includeStrings:e.includeStrings===qo?!s:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let pW=class extends B{constructor(e,t,i,n){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Pt(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const n of t.ranges)i.push({range:n,options:rD.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!A4(t,e))return null;const i=t.getValueInRange(e.range);return{reason:qQ(i,this._options),inComment:M4(t,e),inString:P4(t,e)}}};pW=fW([Bb(3,no)],pW);class iOe extends B{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Pt(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const n of e){const o=pM.computeUnicodeHighlights(this._model,this._options,n);for(const r of o.ranges)i.ranges.push(r);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||o.hasMore}if(!i.hasMore)for(const n of i.ranges)t.push({range:n,options:rD.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return A4(t,e)?{reason:qQ(i,this._options),inComment:M4(t,e),inString:P4(t,e)}:null}}const jQ=p("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let mW=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),n=this._editor.getContribution(Oy.ID);if(!n)return[];const o=[],r=new Set;let a=300;for(const l of t){const c=n.getDecorationInfo(l);if(!c)continue;const u=i.getValueInRange(l.range).codePointAt(0),h=bW(u);let g;switch(c.reason.kind){case 0:{tw(c.reason.confusableWith)?g=p("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",h,bW(c.reason.confusableWith.codePointAt(0))):g=p("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",h,bW(c.reason.confusableWith.codePointAt(0)));break}case 1:g=p("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",h);break;case 2:g=p("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",h);break}if(r.has(g))continue;r.add(g);const f={codePoint:u,reason:c.reason,inComment:c.inComment,inString:c.inString},m=p("unicodeHighlight.adjustSettings","Adjust settings"),_=`command:${aD.ID}?${encodeURIComponent(JSON.stringify(f))}`,b=new ts("",!0).appendMarkdown(g).appendText(" ").appendLink(_,m,jQ);o.push(new ma(this,l.range,[b],!1,a++))}return o}renderHoverParts(e,t){return ADe(e,t,this._editor,this._languageService,this._openerService)}};mW=fW([Bb(1,li),Bb(2,eo)],mW);function _W(s){return`U+${s.toString(16).padStart(4,"0")}`}function bW(s){let e=`\`${_W(s)}\``;return Yh.isInvisibleCharacter(s)||(e+=` "${`${nOe(s)}`}"`),e}function nOe(s){return s===96?"`` ` ``":"`"+String.fromCodePoint(s)+"`"}function qQ(s,e){return pM.computeUnicodeHighlightReason(s,e)}const lN=class lN{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let n=this.map.get(i);return n||(n=ze.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,n)),n}};lN.instance=new lN;let rD=lN;class sOe extends fe{constructor(){super({id:Ff.ID,label:p("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=p("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(Ye);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ks.includeComments,!1,2)}}class oOe extends fe{constructor(){super({id:Ff.ID,label:p("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=p("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(Ye);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ks.includeStrings,!1,2)}}const cN=class cN extends fe{constructor(){super({id:cN.ID,label:p("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=p("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Ye);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ks.ambiguousCharacters,!1,2)}};cN.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Ff=cN;const dN=class dN extends fe{constructor(){super({id:dN.ID,label:p("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=p("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Ye);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ks.invisibleCharacters,!1,2)}};dN.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let Fy=dN;const uN=class uN extends fe{constructor(){super({id:uN.ID,label:p("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=p("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Ye);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ks.nonBasicASCII,!1,2)}};uN.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let By=uN;const hN=class hN extends fe{constructor(){super({id:hN.ID,label:p("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:n,reason:o,inString:r,inComment:a}=i,l=String.fromCodePoint(n),c=e.get(Wr),d=e.get(Ye);function u(f){return Yh.isInvisibleCharacter(f)?p("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",_W(f)):p("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${_W(f)} "${l}"`)}const h=[];if(o.kind===0)for(const f of o.notAmbiguousInLocales)h.push({label:p("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',f),run:async()=>{aOe(d,[f])}});if(h.push({label:u(n),run:()=>rOe(d,[n])}),a){const f=new sOe;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(r){const f=new oOe;h.push({label:f.label,run:async()=>f.runAction(d)})}if(o.kind===0){const f=new Ff;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(o.kind===1){const f=new Fy;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(o.kind===2){const f=new By;h.push({label:f.label,run:async()=>f.runAction(d)})}else lOe(o);const g=await c.pick(h,{title:jQ});g&&await g.run()}};hN.ID="editor.action.unicodeHighlight.showExcludeOptions";let aD=hN;async function rOe(s,e){const t=s.getValue(Ks.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await s.updateValue(Ks.allowedCharacters,i,2)}async function aOe(s,e){var n;const t=(n=s.inspect(Ks.allowedLocales).user)==null?void 0:n.value;let i;typeof t=="object"&&t?i=Object.assign({},t):i={};for(const o of e)i[o]=!0;await s.updateValue(Ks.allowedLocales,i,2)}function lOe(s){throw new Error(`Unexpected value: ${s}`)}J(Ff),J(Fy),J(By),J(aD),ut(Oy.ID,Oy,1),yf.register(mW);var cOe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},KQ=function(s,e){return function(t,i){e(t,i,s)}};const GQ="ignoreUnusualLineTerminators";function dOe(s,e,t){s.setModelProperty(e.uri,GQ,t)}function uOe(s,e){return s.getModelProperty(e.uri,GQ)}let lD=(Av=class extends B{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(127),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(n=>{n.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||uOe(this._codeEditorService,e)===!0||this._editor.getOption(92))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:p("unusualLineTerminators.title","Unusual Line Terminators"),message:p("unusualLineTerminators.message","Detected unusual line terminators"),detail:p("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",Or(e.uri)),primaryButton:p({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:p("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){dOe(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},Av.ID="editor.contrib.unusualLineTerminatorsDetector",Av);lD=cOe([KQ(1,Rw),KQ(2,_t)],lD),ut(lD.ID,lD,1);var hOe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},gOe=function(s,e){return function(t,i){e(t,i,s)}};class ZQ{constructor(){this.selector={language:"*"}}provideDocumentHighlights(e,t,i){const n=[],o=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return o?e.isDisposed()?void 0:e.findMatches(o.word,!0,!1,!0,HS,!1).map(a=>({range:a.range,kind:am.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const o=new pn,r=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!r)return Promise.resolve(o);for(const a of[e,...i]){if(a.isDisposed())continue;const c=a.findMatches(r.word,!0,!1,!0,HS,!1).map(d=>({range:d.range,kind:am.Text}));c&&o.set(a.uri,c)}return o}}let vW=class extends B{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new ZQ)),this._register(e.multiDocumentHighlightProvider.register("*",new ZQ))}};vW=hOe([gOe(0,me)],vW);var YQ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},cD=function(s,e){return function(t,i){e(t,i,s)}},Fi,wW;const CW=new he("hasWordHighlights",!1);function XQ(s,e,t,i){const n=s.ordered(e);return uA(n.map(o=>()=>Promise.resolve(o.provideDocumentHighlights(e,t,i)).then(void 0,Di)),o=>o!=null).then(o=>{if(o){const r=new pn;return r.set(e.uri,o),r}return new pn})}function fOe(s,e,t,i,n,o){const r=s.ordered(e);return uA(r.map(a=>()=>{const l=o.filter(c=>iV(c)).filter(c=>KM(a.selector,c.uri,c.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,l,n)).then(void 0,Di)}),a=>a!=null)}class QQ{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=rn(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new k(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const n=t.startLineNumber,o=t.startColumn,r=t.endColumn,a=this._getCurrentWordRange(e,t);let l=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let c=0,d=i.length;!l&&c<d;c++){const u=i.getRange(c);u&&u.startLineNumber===n&&u.startColumn<=o&&u.endColumn>=r&&(l=!0)}return l}cancel(){this.result.cancel()}}class pOe extends QQ{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return XQ(this._providers,e,t.getPosition(),n).then(o=>o||new pn)}}class mOe extends QQ{constructor(e,t,i,n,o){super(e,t,i),this._providers=n,this._otherModels=o}_compute(e,t,i,n){return fOe(this._providers,e,t.getPosition(),i,n,this._otherModels).then(o=>o||new pn)}}function _Oe(s,e,t,i,n){return new pOe(e,t,n,s)}function bOe(s,e,t,i,n,o){return new mOe(e,t,n,s,o)}Qs("_executeDocumentHighlights",async(s,e,t)=>{const i=s.get(me),n=await XQ(i.documentHighlightProvider,e,t,qe.None);return n==null?void 0:n.get(e.uri)});let yW=(Hh=class{constructor(e,t,i,n,o){this.toUnhook=new q,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new pn,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Ir(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=o,this._hasWordHighlights=CW.bindTo(n),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(r=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!=="off"&&this.runDelayer.trigger(()=>{this._onPositionChanged(r)})})),this.toUnhook.add(e.onDidFocusEditorText(r=>{this.occurrencesHighlight!=="off"&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}))})),this.toUnhook.add(e.onDidChangeModelContent(r=>{h0(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():Fi.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var l,c;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((c=(l=Fi.query)==null?void 0:l.modelInfo)==null?void 0:c.model);break;case"multiFile":Fi.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",a);break}})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,Fi.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(k.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(o=>o.containsPosition(this.editor.getPosition()))+1)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const o=this._getWord();if(o){const r=this.editor.getModel().getLineContent(n.startLineNumber);Rs(`${r}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(o=>o.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const o=this._getWord();if(o){const r=this.editor.getModel().getLineContent(n.startLineNumber);Rs(`${r}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=Fi.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),Fi.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){const t=this.codeEditorService.listCodeEditors(),i=[];for(const n of t){if(!n.hasModel()||Yw(n.getModel().uri,e==null?void 0:e.uri))continue;const o=Fi.storedDecorationIDs.get(n.getModel().uri);if(!o)continue;n.removeDecorations(o),i.push(n.getModel().uri);const r=uh.get(n);r!=null&&r.wordHighlighter&&r.wordHighlighter.decorations.length>0&&(r.wordHighlighter.decorations.clear(),r.wordHighlighter.workerRequest=null,r.wordHighlighter._hasWordHighlights.set(!1))}for(const n of i)Fi.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==$e.vscodeNotebookCell&&((i=(t=Fi.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==$e.vscodeNotebookCell?(Fi.query=null,this._run()):(n=Fi.query)!=null&&n.modelInfo&&(Fi.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(e){this._removeAllDecorations(e),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;if(this.occurrencesHighlight==="off"){this._stopAll();return}if(e.reason!==3&&((t=this.editor.getModel())==null?void 0:t.uri.scheme)!==$e.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===$e.vscodeNotebookCell){const o=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const l=a.getModel();l&&l!==e&&l.uri.scheme===$e.vscodeNotebookCell&&o.push(l)}return o}const i=[],n=this.codeEditorService.listCodeEditors();for(const o of n){if(!x5(o))continue;const r=o.getModel();r&&e===r.modified&&i.push(r.modified)}if(i.length)return i;if(this.occurrencesHighlight==="singleFile")return[];for(const o of n){const r=o.getModel();r&&r!==e&&i.push(r)}return i}_run(e){var n,o;let t;if(this.editor.hasTextFocus()){const r=this.editor.getSelection();if(!r||r.startLineNumber!==r.endLineNumber){Fi.query=null,this._stopAll();return}const a=r.startColumn,l=r.endColumn,c=this._getWord();if(!c||c.startColumn>a||c.endColumn<l){Fi.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),Fi.query={modelInfo:{model:this.model,selection:r},word:c}}else if(!Fi.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),t)this.workerRequestCompleted&&this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else if(Yw(this.editor.getModel().uri,(n=Fi.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const l=this.decorations.getRanges();for(const c of l)if(c.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model:void 0);const r=++this.workerRequestTokenId;this.workerRequestCompleted=!1;const a=this.getOtherModelsToHighlight(this.editor.getModel());if(!Fi.query||!Fi.query.modelInfo||Fi.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(Fi.query.modelInfo.model,Fi.query.modelInfo.selection,Fi.query.word,a),(o=this.workerRequest)==null||o.result.then(l=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=l||[],this._beginRenderDecorations())},Ve)}}computeWithModel(e,t,i,n){return n.length?bOe(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):_Oe(this.providers,e,t,i,this.editor.getOption(132))}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){var t,i,n;this.renderDecorationsTimer=-1;const e=this.codeEditorService.listCodeEditors();for(const o of e){const r=uh.get(o);if(!r)continue;const a=[],l=(t=o.getModel())==null?void 0:t.uri;if(l&&this.workerRequestValue.has(l)){const c=Fi.storedDecorationIDs.get(l),d=this.workerRequestValue.get(l);if(d)for(const h of d)h.range&&a.push({range:h.range,options:rPe(h.kind)});let u=[];o.changeDecorations(h=>{u=h.deltaDecorations(c??[],a)}),Fi.storedDecorationIDs=Fi.storedDecorationIDs.set(l,u),a.length>0&&((i=r.wordHighlighter)==null||i.decorations.set(a),(n=r.wordHighlighter)==null||n._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}},Fi=Hh,Hh.storedDecorationIDs=new pn,Hh.query=null,Hh);yW=Fi=YQ([cD(4,_t)],yW);let uh=($p=class extends B{static get(e){return e.getContribution(wW.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const o=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new yW(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,n))};this._register(e.onDidChangeModel(r=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),o()})),o()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)==null||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)==null||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}},wW=$p,$p.ID="editor.contrib.wordHighlighter",$p);uh=wW=YQ([cD(1,Ae),cD(2,me),cD(3,_t)],uh);class JQ extends fe{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=uh.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class vOe extends JQ{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:p("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:CW,kbOpts:{kbExpr:I.editorTextFocus,primary:65,weight:100}})}}class wOe extends JQ{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:p("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:CW,kbOpts:{kbExpr:I.editorTextFocus,primary:1089,weight:100}})}}class COe extends fe{constructor(){super({id:"editor.action.wordHighlight.trigger",label:p("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=uh.get(t);n&&n.restoreViewState(!0)}}ut(uh.ID,uh,0),J(vOe),J(wOe),J(COe),k_(vW);class dD extends Qi{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Rr(t.getOption(132),t.getOption(131)),o=t.getModel(),r=t.getSelections(),a=r.length>1,l=r.map(c=>{const d=new P(c.positionLineNumber,c.positionColumn),u=this._move(n,o,d,this._wordNavigationType,a);return this._moveTo(c,u,this._inSelectionMode)});if(o.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,l.map(c=>bt.fromModelSelection(c))),l.length===1){const c=new P(l[0].positionLineNumber,l[0].positionColumn);t.revealPosition(c,0)}}_moveTo(e,t,i){return i?new ve(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new ve(t.lineNumber,t.column,t.lineNumber,t.column)}}class hh extends dD{_move(e,t,i,n,o){return Lt.moveWordLeft(e,t,i,n,o)}}class gh extends dD{_move(e,t,i,n,o){return Lt.moveWordRight(e,t,i,n)}}class yOe extends hh{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class SOe extends hh{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class xOe extends hh{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:G.and(I.textInputFocus,(e=G.and(Xw,jk))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class kOe extends hh{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class LOe extends hh{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class EOe extends hh{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:G.and(I.textInputFocus,(e=G.and(Xw,jk))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class IOe extends hh{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,o){return super._move(Rr(Ta.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class DOe extends hh{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,o){return super._move(Rr(Ta.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class TOe extends gh{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class NOe extends gh{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:G.and(I.textInputFocus,(e=G.and(Xw,jk))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class ROe extends gh{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class AOe extends gh{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class MOe extends gh{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:G.and(I.textInputFocus,(e=G.and(Xw,jk))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class POe extends gh{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class OOe extends gh{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,o){return super._move(Rr(Ta.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class FOe extends gh{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,o){return super._move(Rr(Ta.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class uD extends Qi{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(fi);if(!t.hasModel())return;const o=Rr(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),l=t.getOption(6),c=t.getOption(11),d=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),u=t._getViewModel(),h=a.map(g=>{const f=this._delete({wordSeparators:o,model:r,selection:g,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:l,autoClosingQuotes:c,autoClosingPairs:d,autoClosedCharacters:u.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Hn(f,"")});t.pushUndoStop(),t.executeCommands(this.id,h),t.pushUndoStop()}}class SW extends uD{_delete(e,t){const i=Lt.deleteWordLeft(e,t);return i||new k(1,1,1,1)}}class xW extends uD{_delete(e,t){const i=Lt.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),o=e.model.getLineMaxColumn(n);return new k(n,o,n,o)}}class BOe extends SW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:I.writable})}}class WOe extends SW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:I.writable})}}class HOe extends SW{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class VOe extends xW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:I.writable})}}class $Oe extends xW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:I.writable})}}class zOe extends xW{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class UOe extends fe{constructor(){super({id:"deleteInsideWord",precondition:I.writable,label:p("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Rr(t.getOption(132),t.getOption(131)),o=t.getModel(),a=t.getSelections().map(l=>{const c=Lt.deleteInsideWord(n,o,l);return new Hn(c,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}de(new yOe),de(new SOe),de(new xOe),de(new kOe),de(new LOe),de(new EOe),de(new TOe),de(new NOe),de(new ROe),de(new AOe),de(new MOe),de(new POe),de(new IOe),de(new DOe),de(new OOe),de(new FOe),de(new BOe),de(new WOe),de(new HOe),de(new VOe),de(new $Oe),de(new zOe),J(UOe);class jOe extends uD{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=NL.deleteWordPartLeft(e);return i||new k(1,1,1,1)}}class qOe extends uD{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=NL.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),o=e.model.getLineMaxColumn(n);return new k(n,o,n,o)}}class eJ extends dD{_move(e,t,i,n,o){return NL.moveWordPartLeft(e,t,i,o)}}class KOe extends eJ{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}dt.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class GOe extends eJ{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}dt.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class tJ extends dD{_move(e,t,i,n,o){return NL.moveWordPartRight(e,t,i)}}class ZOe extends tJ{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class YOe extends tJ{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}de(new jOe),de(new qOe),de(new KOe),de(new GOe),de(new ZOe),de(new YOe);const a9=class a9 extends B{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Mo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new ts(p("editor.simple.readonly","Cannot edit in read-only input")):t=new ts(p("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};a9.ID="editor.contrib.readOnlyMessageController";let hD=a9;ut(hD.ID,hD,2);var XOe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},iJ=function(s,e){return function(t,i){e(t,i,s)}};let kW=class extends B{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Xe(this,void 0);const n=On("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),o=On("_textModel.onDidChangeContent",le.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(to(async(r,a)=>{n.read(r),o.read(r);const l=a.add(new W0e),c=await this._outlineModelService.getOrCreate(this._textModel,l.token);a.isDisposed||this._currentModel.set(c,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const n=i.asListOfDocumentSymbols().filter(o=>e.contains(o.range.startLineNumber)&&!e.contains(o.range.endLineNumber));return n.sort(x9(Cs(o=>o.range.endLineNumber-o.range.startLineNumber,Qr))),n.map(o=>({name:o.name,kind:o.kind,startLineNumber:o.range.startLineNumber}))}};kW=XOe([iJ(1,me),iJ(2,ry)],kW),rE.setBreadcrumbsSourceFactory((s,e)=>e.createInstance(kW,s));const l9=class l9 extends B{constructor(e){super(),this.editor=e,this.widget=null,Da&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new LW(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};l9.ID="editor.contrib.iPadShowKeyboard";let gD=l9;const gN=class gN extends B{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(U(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(U(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return gN.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};gN.ID="editor.contrib.ShowKeyboardWidget";let LW=gN;ut(gD.ID,gD,3);var QOe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},nJ=function(s,e){return function(t,i){e(t,i,s)}},EW;let Wy=(zp=class extends B{static get(e){return e.getContribution(EW.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(n=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(n=>this.stop())),this._register(ki.onDidChange(n=>this.stop())),this._register(this._editor.onKeyUp(n=>n.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new IW(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},EW=zp,zp.ID="editor.contrib.inspectTokens",zp);Wy=EW=QOe([nJ(1,gr),nJ(2,li)],Wy);class JOe extends fe{constructor(){super({id:"editor.action.inspectTokens",label:n2.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=Wy.get(t);i==null||i.launch()}}function eFe(s){let e="";for(let t=0,i=s.length;t<i;t++){const n=s.charCodeAt(t);switch(n){case 9:e+="→";break;case 32:e+="·";break;default:e+=String.fromCharCode(n)}}return e}function tFe(s,e){const t=ki.get(e);if(t)return t;const i=s.encodeLanguageId(e);return{getInitialState:()=>Um,tokenize:(n,o,r)=>UP(e,r),tokenizeEncoded:(n,o,r)=>Wx(i,r)}}const fN=class fN extends B{constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=tFe(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(i=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return fN._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let l=t.tokens1.length-1;l>=0;l--){const c=t.tokens1[l];if(e.column-1>=c.offset){i=l;break}}let n=0;for(let l=t.tokens2.length>>>1;l>=0;l--)if(e.column-1>=t.tokens2[l<<1]){n=l;break}const o=this._model.getLineContent(e.lineNumber);let r="";if(i<t.tokens1.length){const l=t.tokens1[i].offset,c=i+1<t.tokens1.length?t.tokens1[i+1].offset:o.length;r=o.substring(l,c)}yn(this._domNode,re("h2.tm-token",void 0,eFe(r),re("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),X(this._domNode,re("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;X(this._domNode,re("table.tm-metadata-table",void 0,re("tbody",void 0,re("tr",void 0,re("td.tm-metadata-key",void 0,"language"),re("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),re("tr",void 0,re("td.tm-metadata-key",void 0,"token type"),re("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),re("tr",void 0,re("td.tm-metadata-key",void 0,"font style"),re("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),re("tr",void 0,re("td.tm-metadata-key",void 0,"foreground"),re("td.tm-metadata-value",void 0,`${a?Z.Format.CSS.formatHex(a.foreground):"-?-"}`)),re("tr",void 0,re("td.tm-metadata-key",void 0,"background"),re("td.tm-metadata-value",void 0,`${a?Z.Format.CSS.formatHex(a.background):"-?-"}`))))),X(this._domNode,re("hr.tokens-inspect-separator")),i<t.tokens1.length&&X(this._domNode,re("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=ki.getColorMap(),i=Js.getLanguageId(e),n=Js.getTokenType(e),o=Js.getFontStyle(e),r=Js.getForeground(e),a=Js.getBackground(e);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(i),tokenType:n,fontStyle:o,foreground:t[r],background:t[a]}}_tokenTypeToString(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(e){let t="";return e&1&&(t+="italic "),e&2&&(t+="bold "),e&4&&(t+="underline "),e&8&&(t+="strikethrough "),t.length===0&&(t="---"),t}_getTokensAtLine(e){const t=this._getStateBeforeLine(e),i=this._tokenizationSupport.tokenize(this._model.getLineContent(e),!0,t),n=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(e),!0,t);return{startState:t,tokens1:i.tokens,tokens2:n.tokens,endState:i.endState}}_getStateBeforeLine(e){let t=this._tokenizationSupport.getInitialState();for(let i=1;i<e;i++)t=this._tokenizationSupport.tokenize(this._model.getLineContent(i),!0,t).endState;return t}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}};fN._ID="editor.contrib.inspectTokensWidget";let IW=fN;ut(Wy.ID,Wy,4),J(JOe);var iFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},sJ=function(s,e){return function(t,i){e(t,i,s)}},Hy;let DW=(Up=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=gi.as(Wg.Quickaccess)}provide(e){const t=new q;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const n=this.registry.getQuickAccessProvider(i.substr(Hy.PREFIX.length));n&&n.prefix&&n.prefix!==Hy.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Hy.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,n=i||"…";return{prefix:i,label:n,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:p("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},Hy=Up,Up.PREFIX="?",Up);DW=Hy=iFe([sJ(0,Wr),sJ(1,kt)],DW),gi.as(Wg.Quickaccess).registerQuickAccessProvider({ctor:DW,prefix:"",helpEntries:[{description:s2.helpQuickAccessActionLabel}]});class oJ{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new q;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const o=n.add(new sn);return o.value=this.doProvide(e,t,i),n.add(this.onDidActiveTextEditorControlChange(()=>{o.value=void 0,o.value=this.doProvide(e,t)})),n}doProvide(e,t,i){const n=new q,o=this.activeTextEditorControl;if(o&&this.canProvideWithTextEditor(o)){const r={editor:o},a=NG(o);if(a){let l=o.saveViewState()??void 0;n.add(a.onDidChangeCursorPosition(()=>{l=o.saveViewState()??void 0})),r.restoreViewState=()=>{l&&o===this.activeTextEditorControl&&o.restoreViewState(l)},n.add(Qd(t.onCancellationRequested)(()=>{var c;return(c=r.restoreViewState)==null?void 0:c.call(r)}))}n.add(Se(()=>this.clearDecorations(o))),n.add(this.provideWithTextEditor(r,e,t,i))}else n.add(this.provideWithoutTextEditor(e,t));return n}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const i=e.getModel();i&&"getLineContent"in i&&Ul(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return x5(e)?(t=e.getModel())==null?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(i=>{const n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),n.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const o=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:Li(vU),position:Qo.Full}}}],[r,a]=i.deltaDecorations(n,o);this.rangeHighlightDecorationId={rangeHighlightId:r,overviewRulerDecorationId:a}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}const pN=class pN extends oJ{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=p("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,B.None}provideWithTextEditor(e,t,i){const n=e.editor,o=new q;o.add(t.onDidAccept(l=>{const[c]=t.selectedItems;if(c){if(!this.isValidLineNumber(n,c.lineNumber))return;this.gotoLocation(e,{range:this.toRange(c.lineNumber,c.column),keyMods:t.keyMods,preserveFocus:l.inBackground}),l.inBackground||t.hide()}}));const r=()=>{const l=this.parsePosition(n,t.value.trim().substr(pN.PREFIX.length)),c=this.getPickLabel(n,l.lineNumber,l.column);if(t.items=[{lineNumber:l.lineNumber,column:l.column,label:c}],t.ariaLabel=c,!this.isValidLineNumber(n,l.lineNumber)){this.clearDecorations(n);return}const d=this.toRange(l.lineNumber,l.column);n.revealRangeInCenter(d,0),this.addDecorations(n,d)};r(),o.add(t.onDidChangeValue(()=>r()));const a=NG(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),o.add(Se(()=>a.updateOptions({lineNumbers:"relative"})))),o}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(o=>parseInt(o,10)).filter(o=>!isNaN(o)),n=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:n+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?p("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):p("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},o=this.lineCount(e);return o>1?p("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,o):p("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",n.lineNumber,n.column)}isValidLineNumber(e,t){return!t||typeof t!="number"?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,i){if(!i||typeof i!="number")return!1;const n=this.getModel(e);if(!n)return!1;const o={lineNumber:t,column:i};return n.validatePosition(o).equals(o)}lineCount(e){var t;return((t=this.getModel(e))==null?void 0:t.getLineCount())??0}};pN.PREFIX=":";let TW=pN;var nFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},sFe=function(s,e){return function(t,i){e(t,i,s)}};let Vy=class extends TW{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=le.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Vy=nFe([sFe(0,_t)],Vy);let rJ=(jp=class extends fe{constructor(){super({id:jp.ID,label:Xx.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:I.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Wr).quickAccess.show(Vy.PREFIX)}},jp.ID="editor.action.gotoLine",jp);J(rJ),gi.as(Wg.Quickaccess).registerQuickAccessProvider({ctor:Vy,prefix:Vy.PREFIX,helpEntries:[{description:Xx.gotoLineActionLabel,commandId:rJ.ID}]});const aJ=[void 0,[]];function NW(s,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?oFe(s,n.values,t,i):lJ(s,e,t,i)}function oFe(s,e,t,i){let n=0;const o=[];for(const r of e){const[a,l]=lJ(s,r,t,i);if(typeof a!="number")return aJ;n+=a,o.push(...l)}return[n,rFe(o)]}function lJ(s,e,t,i){const n=Cg(e.original,e.originalLowercase,t,s,s.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],Kw(n)]:aJ}function rFe(s){const e=s.sort((n,o)=>n.start-o.start),t=[];let i;for(const n of e)!i||!aFe(i,n)?(i=n,t.push(n)):(i.start=Math.min(i.start,n.start),i.end=Math.max(i.end,n.end));return t}function aFe(s,e){return!(s.end<e.start||e.end<s.start)}function cJ(s){return s.startsWith('"')&&s.endsWith('"')}const dJ=" ";function RW(s){typeof s!="string"&&(s="");const e=s.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=uJ(s),o=t.indexOf(Na)>=0,r=cJ(s);let a;const l=s.split(dJ);if(l.length>1)for(const c of l){const d=cJ(c),{pathNormalized:u,normalized:h,normalizedLowercase:g}=uJ(c);h&&(a||(a=[]),a.push({original:c,originalLowercase:c.toLowerCase(),pathNormalized:u,normalized:h,normalizedLowercase:g,expectContiguousMatch:d}))}return{original:s,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:o,expectContiguousMatch:r}}function uJ(s){let e;Rn?e=s.replace(/\//g,Na):e=s.replace(/\\/g,Na);const t=xre(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function hJ(s){return Array.isArray(s)?RW(s.map(e=>e.original).join(dJ)):RW(s.original)}var lFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},gJ=function(s,e){return function(t,i){e(t,i,s)}},fD;let Bf=(wl=class extends oJ{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,p("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),B.None}provideWithTextEditor(e,t,i,n){const o=e.editor,r=this.getModel(o);return r?this._languageFeaturesService.documentSymbolProvider.has(r)?this.doProvideWithEditorSymbols(e,r,t,i,n):this.doProvideWithoutEditorSymbols(e,r,t,i):B.None}doProvideWithoutEditorSymbols(e,t,i,n){const o=new q;return this.provideLabelPick(i,p("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(t,o)||n.isCancellationRequested||o.add(this.doProvideWithEditorSymbols(e,t,i,n)))(),o}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new hm,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(Se(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,o){var u;const r=e.editor,a=new q;a.add(i.onDidAccept(h=>{var f;const[g]=i.selectedItems;g&&g.range&&(this.gotoLocation(e,{range:g.range.selection,keyMods:i.keyMods,preserveFocus:h.inBackground}),(f=o==null?void 0:o.handleAccept)==null||f.call(o,g),h.inBackground||i.hide())})),a.add(i.onDidTriggerItemButton(({item:h})=>{h&&h.range&&(this.gotoLocation(e,{range:h.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const l=this.getDocumentSymbols(t,n);let c;const d=async h=>{c==null||c.dispose(!0),i.busy=!1,c=new hi(n),i.busy=!0;try{const g=RW(i.value.substr(fD.PREFIX.length).trim()),f=await this.doGetSymbolPicks(l,g,void 0,c.token,t);if(n.isCancellationRequested)return;if(f.length>0){if(i.items=f,h&&g.original.length===0){const m=xw(f,_=>!!(_.type!=="separator"&&_.range&&k.containsPosition(_.range.decoration,h)));m&&(i.activeItems=[m])}}else g.original.length>0?this.provideLabelPick(i,p("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,p("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>d(void 0))),d((u=r.getSelection())==null?void 0:u.getPosition()),a.add(i.onDidChangeActive(()=>{const[h]=i.activeItems;h&&h.range&&(r.revealRangeInCenter(h.range.selection,0),this.addDecorations(r,h.range.decoration))})),a}async doGetSymbolPicks(e,t,i,n,o){var _,b;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(fD.SCOPE_PREFIX)===0,l=a?1:0;let c,d;t.values&&t.values.length>1?(c=hJ(t.values[0]),d=hJ(t.values.slice(1))):c=t;let u;const h=(b=(_=this.options)==null?void 0:_.openSideBySideDirection)==null?void 0:b.call(_);h&&(u=[{iconClass:h==="right"?Re.asClassName(se.splitHorizontal):Re.asClassName(se.splitVertical),tooltip:h==="right"?p("openToSide","Open to the Side"):p("openToBottom","Open to the Bottom")}]);const g=[];for(let v=0;v<r.length;v++){const w=r[v],C=yre(w.name),y=`$(${JS.toIcon(w.kind).id}) ${C}`,x=y.length-C.length;let L=w.containerName;i!=null&&i.extraContainerLabel&&(L?L=`${i.extraContainerLabel} • ${L}`:L=i.extraContainerLabel);let E,N,H,A;if(t.original.length>l){let j=!1;if(c!==t&&([E,N]=NW(y,{...t,values:void 0},l,x),typeof E=="number"&&(j=!0)),typeof E!="number"&&([E,N]=NW(y,c,l,x),typeof E!="number"))continue;if(!j&&d){if(L&&d.original.length>0&&([H,A]=NW(L,d)),typeof H!="number")continue;typeof E=="number"&&(E+=H)}}const $=w.tags&&w.tags.indexOf(1)>=0;g.push({index:v,kind:w.kind,score:E,label:y,ariaLabel:pre(w.name,w.kind),description:L,highlights:$?void 0:{label:N,description:A},range:{selection:k.collapseToStart(w.selectionRange),decoration:w.range},uri:o.uri,symbolName:C,strikethrough:$,buttons:u})}const f=g.sort((v,w)=>a?this.compareByKindAndScore(v,w):this.compareByScore(v,w));let m=[];if(a){let y=function(){w&&typeof v=="number"&&C>0&&(w.label=Gh(MW[v]||AW,C))},v,w,C=0;for(const x of f)v!==x.kind?(y(),v=x.kind,C=1,w={type:"separator"},m.push(w)):C++,m.push(x);y()}else f.length>0&&(m=[{label:p("symbols","symbols ({0})",g.length),type:"separator"},...f]);return m}compareByScore(e,t){if(typeof e.score!="number"&&typeof t.score=="number")return 1;if(typeof e.score=="number"&&typeof t.score!="number")return-1;if(typeof e.score=="number"&&typeof t.score=="number"){if(e.score>t.score)return-1;if(e.score<t.score)return 1}return e.index<t.index?-1:e.index>t.index?1:0}compareByKindAndScore(e,t){const i=MW[e.kind]||AW,n=MW[t.kind]||AW,o=i.localeCompare(n);return o===0?this.compareByScore(e,t):o}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}},fD=wl,wl.PREFIX="@",wl.SCOPE_PREFIX=":",wl.PREFIX_BY_CATEGORY=`${wl.PREFIX}${wl.SCOPE_PREFIX}`,wl);Bf=fD=lFe([gJ(0,me),gJ(1,ry)],Bf);const AW=p("property","properties ({0})"),MW={5:p("method","methods ({0})"),11:p("function","functions ({0})"),8:p("_constructor","constructors ({0})"),12:p("variable","variables ({0})"),4:p("class","classes ({0})"),22:p("struct","structs ({0})"),23:p("event","events ({0})"),24:p("operator","operators ({0})"),10:p("interface","interfaces ({0})"),2:p("namespace","namespaces ({0})"),3:p("package","packages ({0})"),25:p("typeParameter","type parameters ({0})"),1:p("modules","modules ({0})"),6:p("property","properties ({0})"),9:p("enum","enumerations ({0})"),21:p("enumMember","enumeration members ({0})"),14:p("string","strings ({0})"),0:p("file","files ({0})"),17:p("array","arrays ({0})"),15:p("number","numbers ({0})"),16:p("boolean","booleans ({0})"),18:p("object","objects ({0})"),19:p("key","keys ({0})"),7:p("field","fields ({0})"),13:p("constant","constants ({0})")};var cFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},PW=function(s,e){return function(t,i){e(t,i,s)}};let OW=class extends Bf{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=le.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};OW=cFe([PW(0,_t),PW(1,me),PW(2,ry)],OW);const mN=class mN extends fe{constructor(){super({id:mN.ID,label:oC.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:I.hasDocumentSymbolProvider,kbOpts:{kbExpr:I.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Wr).quickAccess.show(Bf.PREFIX,{itemActivation:Ja.NONE})}};mN.ID="editor.action.quickOutline";let pD=mN;J(pD),gi.as(Wg.Quickaccess).registerQuickAccessProvider({ctor:OW,prefix:Bf.PREFIX,helpEntries:[{description:oC.quickOutlineActionLabel,prefix:Bf.PREFIX,commandId:pD.ID},{description:oC.quickOutlineByCategoryActionLabel,prefix:Bf.PREFIX_BY_CATEGORY}]});function dFe(s){const e=new Map;for(const t of s)e.set(t,(e.get(t)??0)+1);return e}class $y{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),n=new Map,o=[];for(const[r,a]of this.documents){if(t.isCancellationRequested)return[];for(const l of a.chunks){const c=this.computeSimilarityScore(l,i,n);c>0&&o.push({key:r,score:c})}}return o}static termFrequencies(e){return dFe($y.splitTerms(e))}static*splitTerms(e){const t=i=>i.toLowerCase();for(const[i]of e.matchAll(new RegExp("\\b\\p{Letter}[\\p{Letter}\\d]{2,}\\b","gu"))){yield t(i);const n=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(n.length>1)for(const o of n)o.length>2&&new RegExp("\\p{Letter}{3,}","gu").test(o)&&(yield t(o))}}updateDocuments(e){for(const{key:t}of e)this.deleteDocument(t);for(const t of e){const i=[];for(const n of t.textChunks){const o=$y.termFrequencies(n);for(const r of o.keys())this.chunkOccurrences.set(r,(this.chunkOccurrences.get(r)??0)+1);i.push({text:n,tf:o})}this.chunkCount+=i.length,this.documents.set(t.key,{chunks:i})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const i of t.chunks)for(const n of i.tf.keys()){const o=this.chunkOccurrences.get(n);if(typeof o=="number"){const r=o-1;r<=0?this.chunkOccurrences.delete(n):this.chunkOccurrences.set(n,r)}}}}computeSimilarityScore(e,t,i){let n=0;for(const[o,r]of Object.entries(t)){const a=e.tf.get(o);if(!a)continue;let l=i.get(o);typeof l!="number"&&(l=this.computeIdf(o),i.set(o,l));const c=a*l;n+=c*r}return n}computeEmbedding(e){const t=$y.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){const t=this.chunkOccurrences.get(e)??0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){const t=Object.create(null);for(const[i,n]of e){const o=this.computeIdf(i);o>0&&(t[i]=n*o)}return t}}function uFe(s){var i;const e=s.slice(0);e.sort((n,o)=>o.score-n.score);const t=((i=e[0])==null?void 0:i.score)??0;if(t>0)for(const n of e)n.score/=t;return e}var Wb;(function(s){s[s.NO_ACTION=0]="NO_ACTION",s[s.CLOSE_PICKER=1]="CLOSE_PICKER",s[s.REFRESH_PICKER=2]="REFRESH_PICKER",s[s.REMOVE_ITEM=3]="REMOVE_ITEM"})(Wb||(Wb={}));function FW(s){const e=s;return Array.isArray(e.items)}function fJ(s){const e=s;return!!e.picks&&e.additionalPicks instanceof Promise}class hFe extends B{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var c;const n=new q;e.canAcceptInBackground=!!((c=this.options)!=null&&c.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let o;const r=n.add(new sn),a=async()=>{var _;const d=r.value=new q;o==null||o.dispose(!0),e.busy=!1,o=new hi(t);const u=o.token;let h=e.value.substring(this.prefix.length);(_=this.options)!=null&&_.shouldSkipTrimPickFilter||(h=h.trim());const g=this._getPicks(h,d,u,i),f=(b,v)=>{var y;let w,C;if(FW(b)?(w=b.items,C=b.active):w=b,w.length===0){if(v)return!1;(h.length>0||e.hideInput)&&((y=this.options)!=null&&y.noResultsPick)&&(Vv(this.options.noResultsPick)?w=[this.options.noResultsPick(h)]:w=[this.options.noResultsPick])}return e.items=w,C&&(e.activeItems=[C]),!0},m=async b=>{let v=!1,w=!1;await Promise.all([(async()=>{typeof b.mergeDelay=="number"&&(await Fc(b.mergeDelay),u.isCancellationRequested)||w||(v=f(b.picks,!0))})(),(async()=>{e.busy=!0;try{const C=await b.additionalPicks;if(u.isCancellationRequested)return;let y,x;FW(b.picks)?(y=b.picks.items,x=b.picks.active):y=b.picks;let L,E;if(FW(C)?(L=C.items,E=C.active):L=C,L.length>0||!v){let N;if(!x&&!E){const H=e.activeItems[0];H&&y.indexOf(H)!==-1&&(N=H)}f({items:[...y,...L],active:x||E||N})}}finally{u.isCancellationRequested||(e.busy=!1),w=!0}})()])};if(g!==null)if(fJ(g))await m(g);else if(!(g instanceof Promise))f(g);else{e.busy=!0;try{const b=await g;if(u.isCancellationRequested)return;fJ(b)?await m(b):f(b)}finally{u.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(d=>{var h;if(i!=null&&i.handleAccept){d.inBackground||e.hide(),(h=i.handleAccept)==null||h.call(i,e.activeItems[0]);return}const[u]=e.selectedItems;typeof(u==null?void 0:u.accept)=="function"&&(d.inBackground||e.hide(),u.accept(e.keyMods,d))}));const l=async(d,u)=>{var g;if(typeof u.trigger!="function")return;const h=((g=u.buttons)==null?void 0:g.indexOf(d))??-1;if(h>=0){const f=u.trigger(h,e.keyMods),m=typeof f=="number"?f:await f;if(t.isCancellationRequested)return;switch(m){case Wb.NO_ACTION:break;case Wb.CLOSE_PICKER:e.hide();break;case Wb.REFRESH_PICKER:a();break;case Wb.REMOVE_ITEM:{const _=e.items.indexOf(u);if(_!==-1){const b=e.items.slice(),v=b.splice(_,1),w=e.activeItems.filter(y=>y!==v[0]),C=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=b,w&&(e.activeItems=w),e.keepScrollPosition=C}break}}}};return n.add(e.onDidTriggerItemButton(({button:d,item:u})=>l(d,u))),n.add(e.onDidTriggerSeparatorButton(({button:d,separator:u})=>l(d,u))),n}}var pJ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},fh=function(s,e){return function(t,i){e(t,i,s)}},Wf,Xi;let BW=(Lc=class extends hFe{constructor(e,t,i,n,o,r){super(Wf.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=o,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(WW)),this.options=e}async _getPicks(e,t,i,n){var g,f;const o=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=Qd(()=>{const m=new $y;m.updateDocuments(o.map(b=>({key:b.commandId,textChunks:[this.getTfIdfChunk(b)]})));const _=m.calculateScores(e,i);return uFe(_).filter(b=>b.score>Wf.TFIDF_THRESHOLD).slice(0,Wf.TFIDF_MAX_RESULTS)}),a=[];for(const m of o){const _=Wf.WORD_FILTER(e,m.label)??void 0,b=m.commandAlias?Wf.WORD_FILTER(e,m.commandAlias)??void 0:void 0;if(_||b)m.highlights={label:_,detail:this.options.showAlias?b:void 0},a.push(m);else if(e===m.commandId)a.push(m);else if(e.length>=3){const v=r();if(i.isCancellationRequested)return[];const w=v.find(C=>C.key===m.commandId);w&&(m.tfIdfScore=w.score,a.push(m))}}const l=new Map;for(const m of a){const _=l.get(m.label);_?(m.description=m.commandId,_.description=_.commandId):l.set(m.label,m)}a.sort((m,_)=>{if(m.tfIdfScore&&_.tfIdfScore)return m.tfIdfScore===_.tfIdfScore?m.label.localeCompare(_.label):_.tfIdfScore-m.tfIdfScore;if(m.tfIdfScore)return 1;if(_.tfIdfScore)return-1;const b=this.commandsHistory.peek(m.commandId),v=this.commandsHistory.peek(_.commandId);if(b&&v)return b>v?-1:1;if(b)return-1;if(v)return 1;if(this.options.suggestedCommandIds){const w=this.options.suggestedCommandIds.has(m.commandId),C=this.options.suggestedCommandIds.has(_.commandId);if(w&&C)return 0;if(w)return-1;if(C)return 1}return m.label.localeCompare(_.label)});const c=[];let d=!1,u=!0,h=!!this.options.suggestedCommandIds;for(let m=0;m<a.length;m++){const _=a[m];m===0&&this.commandsHistory.peek(_.commandId)&&(c.push({type:"separator",label:p("recentlyUsed","recently used")}),d=!0),u&&_.tfIdfScore!==void 0&&(c.push({type:"separator",label:p("suggested","similar commands")}),u=!1),h&&_.tfIdfScore===void 0&&!this.commandsHistory.peek(_.commandId)&&((g=this.options.suggestedCommandIds)!=null&&g.has(_.commandId))&&(c.push({type:"separator",label:p("commonlyUsed","commonly used")}),d=!0,h=!1),d&&_.tfIdfScore===void 0&&!this.commandsHistory.peek(_.commandId)&&!((f=this.options.suggestedCommandIds)!=null&&f.has(_.commandId))&&(c.push({type:"separator",label:p("morecCommands","other commands")}),d=!1),c.push(this.toCommandPick(_,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:c,additionalPicks:(async()=>{var b;const m=await this.getAdditionalCommandPicks(o,a,e,i);if(i.isCancellationRequested)return[];const _=m.map(v=>this.toCommandPick(v,n));return u&&((b=_[0])==null?void 0:b.type)!=="separator"&&_.unshift({type:"separator",label:p("suggested","similar commands")}),_})()}:c}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?p("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:n,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{var o;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:(t==null?void 0:t.from)??"quick open"});try{(o=e.args)!=null&&o.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(r){kr(r)||this.dialogService.error(p("canNotRun","Command '{0}' resulted in an error",e.label),xE(r))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let n=e;return t&&t!==e&&(n+=` - ${t}`),i&&i.value!==e&&(n+=` - ${i.value===i.original?i.value:`${i.value} (${i.original})`}`),n}},Wf=Lc,Lc.PREFIX=">",Lc.TFIDF_THRESHOLD=.5,Lc.TFIDF_MAX_RESULTS=5,Lc.WORD_FILTER=CP(qw,Age,Y$),Lc);BW=Wf=pJ([fh(1,xe),fh(2,kt),fh(3,jt),fh(4,Jn),fh(5,Rw)],BW);let WW=(Cl=class extends B{constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===vC.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Xi.getConfiguredCommandHistoryLength(this.configurationService),Xi.cache&&Xi.cache.limit!==this.configuredCommandsHistoryLength&&(Xi.cache.limit=this.configuredCommandsHistoryLength,Xi.hasChanges=!0))}load(){const e=this.storageService.get(Xi.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Xi.cache=new Ml(this.configuredCommandsHistoryLength,1);if(t){let n;t.usesLRU?n=t.entries:n=t.entries.sort((o,r)=>o.value-r.value),n.forEach(o=>i.set(o.key,o.value))}Xi.counter=this.storageService.getNumber(Xi.PREF_KEY_COUNTER,0,Xi.counter)}push(e){Xi.cache&&(Xi.cache.set(e,Xi.counter++),Xi.hasChanges=!0)}peek(e){var t;return(t=Xi.cache)==null?void 0:t.peek(e)}saveState(){if(!Xi.cache||!Xi.hasChanges)return;const e={usesLRU:!0,entries:[]};Xi.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(Xi.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Xi.PREF_KEY_COUNTER,Xi.counter,0,0),Xi.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var n,o;const i=(o=(n=e.getValue().workbench)==null?void 0:n.commandPalette)==null?void 0:o.history;return typeof i=="number"?i:Xi.DEFAULT_COMMANDS_HISTORY_LENGTH}},Xi=Cl,Cl.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Cl.PREF_KEY_CACHE="commandPalette.mru.cache",Cl.PREF_KEY_COUNTER="commandPalette.mru.counter",Cl.counter=1,Cl.hasChanges=!1,Cl);WW=Xi=pJ([fh(0,ga),fh(1,Ye),fh(2,Mn)],WW);class gFe extends BW{constructor(e,t,i,n,o,r){super(e,t,i,n,o,r)}getCodeEditorCommandPicks(){var i;const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const n of e.getSupportedActions()){let o;(i=n.metadata)!=null&&i.description&&(Dme(n.metadata.description)?o=n.metadata.description:o={original:n.metadata.description,value:n.metadata.description}),t.push({commandId:n.id,commandAlias:n.alias,commandDescription:o,label:RP(n.label)||n.id})}return t}}var fFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Hb=function(s,e){return function(t,i){e(t,i,s)}};let zy=class extends gFe{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,i,n,o,r){super({showAlias:!1},e,i,n,o,r),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};zy=fFe([Hb(0,xe),Hb(1,_t),Hb(2,kt),Hb(3,jt),Hb(4,Jn),Hb(5,Rw)],zy);const _N=class _N extends fe{constructor(){super({id:_N.ID,label:Qx.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:I.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Wr).quickAccess.show(zy.PREFIX)}};_N.ID="editor.action.quickCommand";let mD=_N;J(mD),gi.as(Wg.Quickaccess).registerQuickAccessProvider({ctor:zy,prefix:zy.PREFIX,helpEntries:[{description:Qx.quickCommandHelp,commandId:mD.ID}]});var pFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Vb=function(s,e){return function(t,i){e(t,i,s)}};let HW=class extends kf{constructor(e,t,i,n,o,r,a){super(!0,e,t,i,n,o,r,a)}};HW=pFe([Vb(1,Ae),Vb(2,_t),Vb(3,Pi),Vb(4,xe),Vb(5,ga),Vb(6,Ye)],HW),ut(kf.ID,HW,4);class mFe extends fe{constructor(){super({id:"editor.action.toggleHighContrast",label:r2.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(gr),n=i.getColorTheme();za(n.type)?(i.setTheme(this._originalThemeName||(Am(n.type)?C_:ud)),this._originalThemeName=null):(i.setTheme(Am(n.type)?Kg:Gg),this._originalThemeName=n.themeName)}}J(mFe);function _Fe(s){return new Worker("/assets/editor.worker-BKD3YLiN.js",{name:s==null?void 0:s.name})}function bFe(s){return new Worker("/assets/json.worker-td2JV8fN.js",{name:s==null?void 0:s.name})}function vFe(s){return new Worker("/assets/css.worker-DNgQEC96.js",{name:s==null?void 0:s.name})}function wFe(s){return new Worker("/assets/html.worker-B7xpmB-M.js",{name:s==null?void 0:s.name})}function CFe(s){return new Worker("/assets/ts.worker-CqZGdM85.js",{name:s==null?void 0:s.name})}const yFe={class:"w-400px h-400px data-transform-container"},VW="function transformData(data) {",$W="}",SFe=IS(W.defineComponent({__name:"index",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(s){const e=W.useModel(s,"modelValue"),t=W.ref(null);let i=null;const n=r=>r?r.startsWith(VW)&&r.endsWith($W)?r.substring(VW.length,r.length-$W.length).trim():r:"return data",o=r=>{const a=r.split(`
1160
+ `)};const r=await o.provideRenameEdits(this.model,this.position,e,n);if(r){if(r.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(r.rejectReason),n)}else return this._provideRenameEdits(e,t+1,i.concat(p("no result","No result.")),n);return r}}async function _2e(s,e,t,i){const n=new K8(e,t,s),o=await n.resolveRenameLocation(qe.None);return o!=null&&o.rejectReason?{edits:[],rejectReason:o.rejectReason}:n.provideRenameEdits(i,qe.None)}let lh=(Wp=class{static get(e){return e.getContribution(q8.ID)}constructor(e,t,i,n,o,r,a,l,c){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=o,this._logService=r,this._configService=a,this._languageFeaturesService=l,this._telemetryService=c,this._disposableStore=new q,this._cts=new hi,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(U8,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var f,m;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new hi,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new K8(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new Zu(this.editor,5,void 0,this._cts.token);let o;try{e("resolving rename location");const _=i.resolveRenameLocation(n.token);this._progressService.showWhile(_,250),o=await _,e("resolved rename location")}catch(_){_ instanceof ea?e("resolve rename location cancelled",JSON.stringify(_,null," ")):(e("resolve rename location failed",_ instanceof Error?_:JSON.stringify(_,null," ")),(typeof _=="string"||Ka(_))&&((f=Mo.get(this.editor))==null||f.showMessage(_||p("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),t)));return}finally{n.dispose()}if(!o){e("returning early - no loc");return}if(o.rejectReason){e(`returning early - rejected with reason: ${o.rejectReason}`,o.rejectReason),(m=Mo.get(this.editor))==null||m.showMessage(o.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new Zu(this.editor,5,o.range,this._cts.token),a=this.editor.getModel(),l=this._languageFeaturesService.newSymbolNamesProvider.all(a),c=await Promise.all(l.map(async _=>[_,await _.supportsAutomaticNewSymbolNamesTriggerKind??!1])),d=(_,b)=>{let v=c.slice();return _===Yv.Automatic&&(v=v.filter(([w,C])=>C)),v.map(([w])=>w.provideNewSymbolNames(a,o.range,_,b))};e("creating rename input field and awaiting its result");const u=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),h=await this._renameWidget.getInput(o.range,o.text,u,l.length>0?d:void 0,r);if(e("received response from rename input field"),l.length>0&&this._reportTelemetry(l.length,a.getLanguageId(),h),typeof h=="boolean"){e(`returning early - rename input field response - ${h}`),h&&this.editor.focus(),r.dispose();return}this.editor.focus(),e("requesting rename edits");const g=sw(i.provideRenameEdits(h.newName,r.token),r.token).then(async _=>{if(!_){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(_.rejectReason){e(`returning early - rejected with reason: ${_.rejectReason}`),this._notificationService.info(_.rejectReason);return}this.editor.setSelection(k.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(_,{editor:this.editor,showPreview:h.wantsPreview,label:p("label","Renaming '{0}' to '{1}'",o==null?void 0:o.text,h.newName),code:"undoredo.rename",quotableLabel:p("quotableLabel","Renaming {0} to {1}",o==null?void 0:o.text,h.newName),respectAutoSaveConfig:!0}).then(b=>{e("edits applied"),b.ariaSummary&&Rs(p("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,h.newName,b.ariaSummary))}).catch(b=>{e(`error when applying edits ${JSON.stringify(b,null," ")}`),this._notificationService.error(p("rename.failedApply","Rename failed to apply edits")),this._logService.error(b)})},_=>{e("error when providing rename edits",JSON.stringify(_,null," ")),this._notificationService.error(p("rename.failed","Rename failed to compute edits")),this._logService.error(_)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(g,250),g}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const n=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",n)}},q8=Wp,Wp.ID="editor.contrib.renameController",Wp);lh=q8=m2e([ah(1,xe),ah(2,Pi),ah(3,eC),ah(4,xu),ah(5,Mn),ah(6,ex),ah(7,me),ah(8,Jn)],lh);class b2e extends fe{constructor(){super({id:"editor.action.rename",label:p("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:G.and(I.writable,I.hasRenameProvider),kbOpts:{kbExpr:I.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(_t),[n,o]=Array.isArray(t)&&t||[void 0,void 0];return Le.isUri(n)&&P.isIPosition(o)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(o),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},Ve):super.runCommand(e,t)}run(e,t){const i=e.get(Mn),n=lh.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}ut(lh.ID,lh,4),J(b2e);const G8=Qi.bindToContribution(lh.get);de(new G8({id:"acceptRenameInput",precondition:Ob,handler:s=>s.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:G.and(I.focus,G.not("isComposing")),primary:3}})),de(new G8({id:"acceptRenameInputWithPreview",precondition:G.and(Ob,G.has("config.editor.rename.enablePreview")),handler:s=>s.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:G.and(I.focus,G.not("isComposing")),primary:2051}})),de(new G8({id:"cancelRenameInput",precondition:Ob,handler:s=>s.cancelRenameInput(),kbOpts:{weight:199,kbExpr:I.focus,primary:9,secondary:[1033]}})),Ut(class extends Ds{constructor(){super({id:"focusNextRenameSuggestion",title:{...Me("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Ob,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(_t).getFocusedCodeEditor();if(!t)return;const i=lh.get(t);i&&i.focusNextRenameSuggestion()}}),Ut(class extends Ds{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Me("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Ob,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(_t).getFocusedCodeEditor();if(!t)return;const i=lh.get(t);i&&i.focusPreviousRenameSuggestion()}}),Qs("_executeDocumentRenameProvider",function(s,e,t,...i){const[n]=i;pt(typeof n=="string");const{renameProvider:o}=s.get(me);return _2e(o,e,t,n)}),Qs("_executePrepareRename",async function(s,e,t){const{renameProvider:i}=s.get(me),o=await new K8(e,t,i).resolveRenameLocation(qe.None);if(o!=null&&o.rejectReason)throw new Error(o.rejectReason);return o}),gi.as(ra.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:p("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var v2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},kQ=function(s,e){return function(t,i){e(t,i,s)}};let JI=(Tv=class extends B{constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(n=>{var r;const o=(r=this.editor.getModel())==null?void 0:r.getLanguageId();o&&n.affects(o)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(n=>{this.options&&!n.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(n=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(n=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new Pt(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,n=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(n!=null&&n.markers)))return{foldingRules:n,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var i,n;if(!this.editor.hasModel()||!((i=this.options)!=null&&i.findMarkSectionHeaders)&&!((n=this.options)!=null&&n.findRegionSectionHeaders))return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(o=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(o)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(o=>{if(!o.shouldBeInComments)return!0;const r=t.validateRange(o.range),a=t.tokenization.getLineTokens(r.startLineNumber),l=a.findTokenIndexAtOffset(r.startColumn-1),c=a.getStandardTokenType(l);return a.getLanguageId(l)===t.getLanguageId()&&c===1}));const i=Object.values(this.currentOccurrences).map(o=>o.decorationId),n=e.map(o=>w2e(o));this.editor.changeDecorations(o=>{const r=o.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,l=r.length;a<l;a++){const c={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[c.decorationId]=c}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},Tv.ID="editor.sectionHeaderDetector",Tv);JI=v2e([kQ(1,fi),kQ(2,no)],JI);function w2e(s){return{range:s.range,options:ze.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:s.hasSeparatorLine?2:1,sectionHeaderText:s.text}})}}ut(JI.ID,JI,1);function C2e(s){for(let e=0,t=s.length;e<t;e+=4){const i=s[e+0],n=s[e+1],o=s[e+2],r=s[e+3];s[e+0]=r,s[e+1]=o,s[e+2]=n,s[e+3]=i}}function y2e(s){const e=new Uint8Array(s.buffer,s.byteOffset,s.length*4);return B9()||C2e(e),O0.wrap(e)}function LQ(s){const e=new Uint32Array(S2e(s));let t=0;if(e[t++]=s.id,s.type==="full")e[t++]=1,e[t++]=s.data.length,e.set(s.data,t),t+=s.data.length;else{e[t++]=2,e[t++]=s.deltas.length;for(const i of s.deltas)e[t++]=i.start,e[t++]=i.deleteCount,i.data?(e[t++]=i.data.length,e.set(i.data,t),t+=i.data.length):e[t++]=0}return y2e(e)}function S2e(s){let e=0;if(e+=2,s.type==="full")e+=1+s.data.length;else{e+=1,e+=3*s.deltas.length;for(const t of s.deltas)t.data&&(e+=t.data.length)}return e}function eD(s){return s&&!!s.data}function EQ(s){return s&&Array.isArray(s.edits)}class x2e{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function IQ(s,e){return s.has(e)}function k2e(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:[]}async function DQ(s,e,t,i,n){const o=k2e(s,e),r=await Promise.all(o.map(async a=>{let l,c=null;try{l=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(d){c=d,l=null}return(!l||!eD(l)&&!EQ(l))&&(l=null),new x2e(a,l,c)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function L2e(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:null}class E2e{constructor(e,t){this.provider=e,this.tokens=t}}function I2e(s,e){return s.has(e)}function TQ(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:[]}async function Z8(s,e,t,i){const n=TQ(s,e),o=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(l){Di(l),a=null}return(!a||!eD(a))&&(a=null),new E2e(r,a)}));for(const r of o)if(r.tokens)return r;return o.length>0?o[0]:null}dt.registerCommand("_provideDocumentSemanticTokensLegend",async(s,...e)=>{const[t]=e;pt(t instanceof Le);const i=s.get(Gt).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=s.get(me),o=L2e(n,i);return o?o[0].getLegend():s.get(jt).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)}),dt.registerCommand("_provideDocumentSemanticTokens",async(s,...e)=>{const[t]=e;pt(t instanceof Le);const i=s.get(Gt).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=s.get(me);if(!IQ(n,i))return s.get(jt).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const o=await DQ(n,i,null,null,qe.None);if(!o)return;const{provider:r,tokens:a}=o;if(!a||!eD(a))return;const l=LQ({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),l}),dt.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(s,...e)=>{const[t,i]=e;pt(t instanceof Le);const n=s.get(Gt).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:o}=s.get(me),r=TQ(o,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!k.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const a=await Z8(o,n,k.lift(i),qe.None);if(a)return a.provider.getLegend()}),dt.registerCommand("_provideDocumentRangeSemanticTokens",async(s,...e)=>{const[t,i]=e;pt(t instanceof Le),pt(k.isIRange(i));const n=s.get(Gt).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:o}=s.get(me),r=await Z8(o,n,k.lift(i),qe.None);if(!(!r||!r.tokens))return LQ({id:0,type:"full",data:r.tokens.data})});const Y8="editor.semanticHighlighting";function tD(s,e,t){var n;const i=(n=t.getValue(Y8,{overrideIdentifier:s.getLanguageId(),resource:s.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var NQ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},pc=function(s,e){return function(t,i){e(t,i,s)}},ch;let X8=class extends B{constructor(e,t,i,n,o,r){super(),this._watchers=Object.create(null);const a=d=>{this._watchers[d.uri.toString()]=new Q8(d,e,i,o,r)},l=(d,u)=>{u.dispose(),delete this._watchers[d.uri.toString()]},c=()=>{for(const d of t.getModels()){const u=this._watchers[d.uri.toString()];tD(d,i,n)?u||a(d):u&&l(d,u)}};t.getModels().forEach(d=>{tD(d,i,n)&&a(d)}),this._register(t.onModelAdded(d=>{tD(d,i,n)&&a(d)})),this._register(t.onModelRemoved(d=>{const u=this._watchers[d.uri.toString()];u&&l(d,u)})),this._register(n.onDidChangeConfiguration(d=>{d.affectsConfiguration(Y8)&&c()})),this._register(i.onDidColorThemeChange(c))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};X8=NQ([pc(0,dx),pc(1,Gt),pc(2,Ji),pc(3,Ye),pc(4,tr),pc(5,me)],X8);let Q8=(Wh=class extends B{constructor(e,t,i,n,o){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=o.documentSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentSemanticTokens",{min:ch.REQUEST_MIN_DELAY,max:ch.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Pt(()=>this._fetchDocumentSemanticTokensNow(),ch.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const r=()=>{Ft(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const a of this._provider.all(e))typeof a.onDidChange=="function"&&this._documentProvidersChangeListeners.push(a.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};r(),this._register(this._provider.onDidChange(()=>{r(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(a=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),Ft(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!IQ(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new hi,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=DQ(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const o=[],r=this._model.onDidChangeContent(l=>{o.push(l)}),a=new hn(!1);n.then(l=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!l)this._setDocumentSemanticTokens(null,null,null,o);else{const{provider:c,tokens:d}=l,u=this._semanticTokensStylingService.getStyling(c);this._setDocumentSemanticTokens(c,d||null,u,o)}},l=>{l&&(kr(l)||typeof l.message=="string"&&l.message.indexOf("busy")!==-1)||Ve(l),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),(o.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,n,o){o=Math.min(o,i.length-n,e.length-t);for(let r=0;r<o;r++)i[n+r]=e[t+r]}_setDocumentSemanticTokens(e,t,i,n){const o=this._currentDocumentResponse,r=()=>{(n.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),r();return}if(EQ(t)){if(!o){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:o.data};else{let a=0;for(const h of t.edits)a+=(h.data?h.data.length:0)-h.deleteCount;const l=o.data,c=new Uint32Array(l.length+a);let d=l.length,u=c.length;for(let h=t.edits.length-1;h>=0;h--){const g=t.edits[h];if(g.start>l.length){i.warnInvalidEditStart(o.resultId,t.resultId,h,g.start,l.length),this._model.tokenization.setSemanticTokens(null,!0);return}const f=d-(g.start+g.deleteCount);f>0&&(ch._copy(l,d-f,c,u-f,f),u-=f),g.data&&(ch._copy(g.data,0,c,u-g.data.length,g.data.length),u-=g.data.length),d=g.start}d>0&&ch._copy(l,0,c,0,d),t={resultId:t.resultId,data:c}}}if(eD(t)){this._currentDocumentResponse=new D2e(e,t.resultId,t.data);const a=ZV(t,i,this._model.getLanguageId());if(n.length>0)for(const l of n)for(const c of a)for(const d of l.changes)c.applyEdit(d.range,d.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},ch=Wh,Wh.REQUEST_MIN_DELAY=300,Wh.REQUEST_MAX_DELAY=2e3,Wh);Q8=ch=NQ([pc(1,dx),pc(2,Ji),pc(3,tr),pc(4,me)],Q8);class D2e{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}k_(X8);var T2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Dy=function(s,e){return function(t,i){e(t,i,s)}};let iD=(Nv=class extends B{constructor(e,t,i,n,o,r){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=n,this._editor=e,this._provider=r.documentRangeSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new Pt(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(l=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(l=>{l.affectsConfiguration(Y8)&&(this._cancelAll(),a())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),a()})),a()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;t<i;t++)if(this._outstandingRequests[t]===e){this._outstandingRequests.splice(t,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;const e=this._editor.getModel();if(e.tokenization.hasCompleteSemanticTokens())return;if(!tD(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!I2e(this._provider,e)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}const t=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(t.map(i=>this._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),n=rn(r=>Promise.resolve(Z8(this._provider,e,t,r))),o=new hn(!1);return n.then(r=>{if(this._debounceInformation.update(e,o.elapsed()),!r||!r.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:a,tokens:l}=r,c=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,ZV(l,c,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},Nv.ID="editor.contrib.viewportSemanticTokens",Nv);iD=T2e([Dy(1,dx),Dy(2,Ji),Dy(3,Ye),Dy(4,tr),Dy(5,me)],iD),ut(iD.ID,iD,1);class N2e{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const n of t){const o=[];i.push(o),this.selectSubwords&&this._addInWordRanges(o,e,n),this._addWordRanges(o,e,n),this._addWhitespaceLine(o,e,n),o.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const n=t.getWordAtPosition(i);if(!n)return;const{word:o,startColumn:r}=n,a=i.column-r;let l=a,c=a,d=0;for(;l>=0;l--){const u=o.charCodeAt(l);if(l!==a&&(u===95||u===45))break;if(nu(u)&&Dl(d))break;d=u}for(l+=1;c<o.length;c++){const u=o.charCodeAt(c);if(Dl(u)&&nu(d))break;if(u===95||u===45)break;d=u}l<c&&e.push({range:new k(i.lineNumber,r+l,i.lineNumber,r+c)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new k(i.lineNumber,n.startColumn,i.lineNumber,n.endColumn)})}_addWhitespaceLine(e,t,i){t.getLineLength(i.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new k(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var R2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},A2e=function(s,e){return function(t,i){e(t,i,s)}},J8;class eW{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new eW(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let Ty=(Hp=class{static get(e){return e.getContribution(J8.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)==null||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await AQ(this._languageFeaturesService.selectionRangeProvider,i,t.map(o=>o.getPosition()),this._editor.getOption(114),qe.None).then(o=>{var r;if(!(!ls(o)||o.length!==t.length)&&!(!this._editor.hasModel()||!ai(this._editor.getSelections(),t,(a,l)=>a.equalsSelection(l)))){for(let a=0;a<o.length;a++)o[a]=o[a].filter(l=>l.containsPosition(t[a].getStartPosition())&&l.containsPosition(t[a].getEndPosition())),o[a].unshift(t[a]);this._state=o.map(a=>new eW(0,a)),(r=this._selectionListener)==null||r.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var a;this._ignoreSelection||((a=this._selectionListener)==null||a.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(o=>o.mov(e));const n=this._state.map(o=>ve.fromPositions(o.ranges[o.index].getStartPosition(),o.ranges[o.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},J8=Hp,Hp.ID="editor.contrib.smartSelectController",Hp);Ty=J8=R2e([A2e(1,me)],Ty);class RQ extends fe{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Ty.get(t);i&&await i.run(this._forward)}}class M2e extends RQ{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:p("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:be.MenubarSelectionMenu,group:"1_basic",title:p({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}dt.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class P2e extends RQ{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:p("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:be.MenubarSelectionMenu,group:"1_basic",title:p({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}ut(Ty.ID,Ty,4),J(M2e),J(P2e);async function AQ(s,e,t,i,n){const o=s.all(e).concat(new N2e(i.selectSubwords));o.length===1&&o.unshift(new yI);const r=[],a=[];for(const l of o)r.push(Promise.resolve(l.provideSelectionRanges(e,t,n)).then(c=>{if(ls(c)&&c.length===t.length)for(let d=0;d<t.length;d++){a[d]||(a[d]=[]);for(const u of c[d])k.isIRange(u.range)&&k.containsPosition(u.range,t[d])&&a[d].push(k.lift(u.range))}},Di));return await Promise.all(r),a.map(l=>{if(l.length===0)return[];l.sort((h,g)=>P.isBefore(h.getStartPosition(),g.getStartPosition())?1:P.isBefore(g.getStartPosition(),h.getStartPosition())||P.isBefore(h.getEndPosition(),g.getEndPosition())?-1:P.isBefore(g.getEndPosition(),h.getEndPosition())?1:0);const c=[];let d;for(const h of l)(!d||k.containsRange(h,d)&&!k.equalsRange(h,d))&&(c.push(h),d=h);if(!i.selectLeadingAndTrailingWhitespace)return c;const u=[c[0]];for(let h=1;h<c.length;h++){const g=c[h-1],f=c[h];if(f.startLineNumber!==g.startLineNumber||f.endLineNumber!==g.endLineNumber){const m=new k(g.startLineNumber,e.getLineFirstNonWhitespaceColumn(g.startLineNumber),g.endLineNumber,e.getLineLastNonWhitespaceColumn(g.endLineNumber));m.containsRange(g)&&!m.equalsRange(g)&&f.containsRange(m)&&!f.equalsRange(m)&&u.push(m);const _=new k(g.startLineNumber,1,g.endLineNumber,e.getLineMaxColumn(g.endLineNumber));_.containsRange(g)&&!_.equalsRange(m)&&f.containsRange(_)&&!f.equalsRange(_)&&u.push(_)}u.push(f)}return u})}dt.registerCommand("_executeSelectionRangeProvider",async function(s,...e){const[t,i]=e;pt(Le.isUri(t));const n=s.get(me).selectionRangeProvider,o=await s.get(Zs).createModelReference(t);try{return AQ(n,o.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},qe.None)}finally{o.dispose()}});const O2e=Object.freeze({View:Me("view","View"),Help:Me("help","Help"),Test:Me("test","Test"),File:Me("file","File"),Preferences:Me("preferences","Preferences"),Developer:Me({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class Ny{constructor(e,t,i,n=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=i,this.showEndForLine=n}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&ai(this.startLineNumbers,e.startLineNumbers)&&ai(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new Ny([],[],0)}}const MQ=jc("stickyScrollViewLayer",{createHTML:s=>s}),tW="data-sticky-line-index",PQ="data-sticky-is-line",F2e="data-sticky-is-line-number",OQ="data-sticky-is-folding-icon";class B2e extends B{constructor(e){super(),this._editor=e,this._foldingIconStore=new q,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof _a),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(116)&&t(),i.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(i===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const n=this._isWidgetHeightZero(e),o=n?void 0:e,r=n?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(o,t,r),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const i=[...e.startLineNumbers];e.showEndForLine!==null&&(i[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;const i=this._previousState,n=e.startLineNumbers.findIndex(o=>!i.startLineNumbers.includes(o));return n===-1?0:n}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;t<this._renderedStickyLines.length;t++){const i=this._renderedStickyLines[t];i.lineNumberDomNode.remove(),i.lineDomNode.remove()}this._renderedStickyLines=this._renderedStickyLines.slice(0,e),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(e){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${e?.5:0}s`)}_setFoldingIconsVisibility(e){for(const t of this._renderedStickyLines){const i=t.foldingIcon;i&&i.setVisible(e?!0:i.isCollapsed)}}async _renderRootNode(e,t,i){if(this._clearStickyLinesFromLine(i),!e)return;for(const a of this._renderedStickyLines)this._updateTopAndZIndexOfStickyLine(a);const n=this._editor.getLayoutInfo(),o=this._lineNumbers.slice(i);for(const[a,l]of o.entries()){const c=this._renderChildNode(a+i,l,t,n);c&&(this._linesDomNode.appendChild(c.lineDomNode),this._lineNumbersDomNode.appendChild(c.lineNumberDomNode),this._renderedStickyLines.push(c))}t&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const r=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${r}px`,this._linesDomNodeScrollable.style.height=`${r}px`,this._rootDomNode.style.height=`${r}px`,this._rootDomNode.style.marginLeft="0px",this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(a=>a.scrollWidth))+n.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(111)==="mouseover"&&(this._foldingIconStore.add(U(this._lineNumbersDomNode,oe.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(U(this._lineNumbersDomNode,oe.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,n){const o=this._editor._getViewModel();if(!o)return;const r=o.coordinatesConverter.convertModelPositionToViewPosition(new P(t,1)).lineNumber,a=o.getViewLineRenderingData(r),l=this._editor.getOption(68);let c;try{c=Ps.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{c=[]}const d=new Bu(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,c,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),u=new Cm(2e3),h=XC(d,u);let g;MQ?g=MQ.createHTML(u.build()):g=u.build();const f=document.createElement("span");f.setAttribute(tW,String(e)),f.setAttribute(PQ,""),f.setAttribute("role","listitem"),f.tabIndex=0,f.className="sticky-line-content",f.classList.add(`stickyLine${t}`),f.style.lineHeight=`${this._lineHeight}px`,f.innerHTML=g;const m=document.createElement("span");m.setAttribute(tW,String(e)),m.setAttribute(F2e,""),m.className="sticky-line-number",m.style.lineHeight=`${this._lineHeight}px`;const _=n.contentLeft;m.style.width=`${_}px`;const b=document.createElement("span");l.renderType===1||l.renderType===3&&t%10===0?b.innerText=t.toString():l.renderType===2&&(b.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),b.className="sticky-line-number-inner",b.style.lineHeight=`${this._lineHeight}px`,b.style.width=`${n.lineNumbersWidth}px`,b.style.paddingLeft=`${n.lineNumbersLeft}px`,m.appendChild(b);const v=this._renderFoldingIconForLine(i,t);v&&m.appendChild(v.domNode),this._editor.applyFontInfo(f),this._editor.applyFontInfo(b),m.style.lineHeight=`${this._lineHeight}px`,f.style.lineHeight=`${this._lineHeight}px`,m.style.height=`${this._lineHeight}px`,f.style.height=`${this._lineHeight}px`;const w=new W2e(e,t,f,m,v,h.characterMapping,f.scrollWidth);return this._updateTopAndZIndexOfStickyLine(w)}_updateTopAndZIndexOfStickyLine(e){var d;const t=e.index,i=e.lineDomNode,n=e.lineNumberDomNode,o=t===this._lineNumbers.length-1,r="0",a="1";i.style.zIndex=o?r:a,n.style.zIndex=o?r:a;const l=`${t*this._lineHeight+this._lastLineRelativePosition+((d=e.foldingIcon)!=null&&d.isCollapsed?1:0)}px`,c=`${t*this._lineHeight}px`;return i.style.top=o?l:c,n.style.top=o?l:c,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||i==="never")return;const n=e.regions,o=n.findRange(t),r=n.getStartLineNumber(o);if(!(t===r))return;const l=n.isCollapsed(o),c=new H2e(l,r,n.getEndLineNumber(o),this._lineHeight);return c.setVisible(this._isOnGlyphMargin?!0:l||i==="always"),c.domNode.setAttribute(OQ,""),c}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=$F(t.characterMapping,e,0);return new P(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t;return((t=this._getRenderedStickyLineFromChildDomNode(e))==null?void 0:t.lineNumber)??null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,tW);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,PQ)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,OQ)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class W2e{constructor(e,t,i,n,o,r,a){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=n,this.foldingIcon=o,this.characterMapping=r,this.scrollWidth=a}}class H2e{constructor(e,t,i,n){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=n,this.domNode=document.createElement("div"),this.domNode.style.width=`${n}px`,this.domNode.style.height=`${n}px`,this.domNode.className=Re.asClassName(e?aI:rI)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Ry{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class nD{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class FQ{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var sD=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Ay=function(s,e){return function(t,i){e(t,i,s)}},My;(function(s){s.OUTLINE_MODEL="outlineModel",s.FOLDING_PROVIDER_MODEL="foldingProviderModel",s.INDENTATION_MODEL="indentationModel"})(My||(My={}));var dh;(function(s){s[s.VALID=0]="VALID",s[s.INVALID=1]="INVALID",s[s.CANCELED=2]="CANCELED"})(dh||(dh={}));let iW=class extends B{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Ir(300)),this._updateOperation=this._register(new q),this._editor.getOption(116).defaultModel){case My.OUTLINE_MODEL:this._modelProviders.push(new nW(this._editor,n));case My.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new oW(this._editor,t,n));case My.INDENTATION_MODEL:this._modelProviders.push(new sW(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:n}=t.computeStickyModel(e);this._modelPromise=n;const o=await i;if(this._modelPromise!==n)return null;switch(o){case dh.CANCELED:return this._updateOperation.clear(),null;case dh.VALID:return t.stickyModel}}return null}).catch(t=>(Ve(t),null))}};iW=sD([Ay(2,xe),Ay(3,me)],iW);class BQ extends B{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,dh.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=rn(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?dh.CANCELED:(this._stickyModel=this.createStickyModel(e,i),dh.VALID):this._invalid()).then(void 0,i=>(Ve(i),dh.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let nW=class extends BQ{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return Ld.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var r;const{stickyOutlineElement:i,providerID:n}=this._stickyModelFromOutlineModel(t,(r=this._stickyModel)==null?void 0:r.outlineProviderId),o=this._editor.getModel();return new FQ(o.uri,o.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(ct.first(e.children.values())instanceof yX){const a=ct.find(e.children.values(),l=>l.id===t);if(a)i=a.children;else{let l="",c=-1,d;for(const[u,h]of e.children.entries()){const g=this._findSumOfRangesOfGroup(h);g>c&&(d=h,c=g,l=h.id)}t=l,i=d.children}}else i=e.children;const n=[],o=Array.from(i.values()).sort((a,l)=>{const c=new Ry(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),d=new Ry(l.symbol.range.startLineNumber,l.symbol.range.endLineNumber);return this._comparator(c,d)});for(const a of o)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new nD(void 0,n,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const o of e.children.values())if(o.symbol.selectionRange.startLineNumber!==o.symbol.range.endLineNumber)if(o.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(o,o.symbol.selectionRange.startLineNumber));else for(const r of o.children.values())i.push(this._stickyModelFromOutlineElement(r,o.symbol.selectionRange.startLineNumber));i.sort((o,r)=>this._comparator(o.range,r.range));const n=new Ry(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new nD(n,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof wB?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};nW=sD([Ay(1,me)],nW);class WQ extends BQ{constructor(e){super(e),this._foldingLimitReporter=new vX(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new FQ(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new nD(void 0,[],void 0);for(let o=0;o<t;o++){const r=e.getParentIndex(o);let a;r!==-1?a=i[r]:a=n;const l=new nD(new Ry(e.getStartLineNumber(o),e.getEndLineNumber(o)+1),[],a);a.children.push(l),i.push(l)}return n}}let sW=class extends WQ{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new pB(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};sW=sD([Ay(1,fi)],sW);let oW=class extends WQ{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=th.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new bB(e.getModel(),n,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t;return((t=this.provider)==null?void 0:t.compute(e))??null}};oW=sD([Ay(2,me)],oW);var V2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},HQ=function(s,e){return function(t,i){e(t,i,s)}};class $2e{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let rW=class extends B{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new O),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new q),this._updateSoon=this._register(new Pt(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(116)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(Se(()=>{var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return(e=this._model)==null?void 0:e.version}updateStickyModelProvider(){var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null;const e=this._editor;e.hasModel()&&(this._stickyModelProvider=new iW(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new hi,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,o){if(t.children.length===0)return;let r=o;const a=[];for(let d=0;d<t.children.length;d++){const u=t.children[d];u.range&&a.push(u.range.startLineNumber)}const l=this.updateIndex(Wv(a,e.startLineNumber,(d,u)=>d-u)),c=this.updateIndex(Wv(a,e.startLineNumber+n,(d,u)=>d-u));for(let d=l;d<=c;d++){const u=t.children[d];if(!u)return;if(u.range){const h=u.range.startLineNumber,g=u.range.endLineNumber;e.startLineNumber<=g+1&&h-1<=e.endLineNumber&&h!==r&&(r=h,i.push(new $2e(h,g-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,u,i,n+1,h))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,u,i,n,o)}}getCandidateStickyLinesIntersecting(e){var n,o;if(!((n=this._model)!=null&&n.element))return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=(o=this._editor._getViewModel())==null?void 0:o.getHiddenAreas();if(i)for(const r of i)t=t.filter(a=>!(a.startLineNumber>=r.startLineNumber&&a.endLineNumber<=r.endLineNumber+1));return t}};rW=V2e([HQ(1,me),HQ(2,fi)],rW);var z2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Fb=function(s,e){return function(t,i){e(t,i,s)}},aW;let Nd=(Vp=class extends B{constructor(e,t,i,n,o,r,a){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=n,this._contextKeyService=a,this._sessionStore=new q,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new B2e(this._editor),this._stickyLineCandidateProvider=new rW(this._editor,i,o),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Ny.Empty,this._onDidResize(),this._readConfiguration();const l=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(d=>{this._readConfigurationChange(d)})),this._register(U(l,oe.CONTEXT_MENU,async d=>{this._onContextMenu(Ee(l),d)})),this._stickyScrollFocusedContextKey=I.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=I.stickyScrollVisible.bindTo(this._contextKeyService);const c=this._register(Fa(l));this._register(c.onDidBlur(d=>{this._positionRevealed===!1&&l.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(c.onDidFocus(d=>{this.focus()})),this._registerMouseListeners(),this._register(U(l,oe.MOUSE_DOWN,d=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(aW.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)==null||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new q,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(k.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new q),t=this._register(new FE(this._editor,{extractLineNumberFromMouseEvent:o=>{const r=this._stickyScrollWidget.getEditorPositionFromNode(o.target.element);return r?r.lineNumber:0}})),i=o=>{if(!this._editor.hasModel()||o.target.type!==12||o.target.detail!==this._stickyScrollWidget.getId())return null;const r=o.target.element;if(!r||r.innerText!==r.innerHTML)return null;const a=this._stickyScrollWidget.getEditorPositionFromNode(r);return a?{range:new k(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(yi(n,oe.CLICK,o=>{if(o.ctrlKey||o.altKey||o.metaKey||!o.leftButton)return;if(o.shiftKey){const c=this._stickyScrollWidget.getLineIndexFromChildDomNode(o.target);if(c===null)return;const d=new P(this._endLineNumbers[c],1);this._revealLineInCenterIfOutsideViewport(d);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(o.target)){const c=this._stickyScrollWidget.getLineNumberFromChildDomNode(o.target);this._toggleFoldingRegionForLine(c);return}if(!this._stickyScrollWidget.isInStickyLine(o.target))return;let l=this._stickyScrollWidget.getEditorPositionFromNode(o.target);if(!l){const c=this._stickyScrollWidget.getLineNumberFromChildDomNode(o.target);if(c===null)return;l=new P(c,1)}this._revealPosition(l)})),this._register(yi(n,oe.MOUSE_MOVE,o=>{if(o.shiftKey){const r=this._stickyScrollWidget.getLineIndexFromChildDomNode(o.target);if(r===null||this._showEndForLine!==null&&this._showEndForLine===r)return;this._showEndForLine=r,this._renderStickyScroll();return}this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(U(n,oe.MOUSE_LEAVE,o=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([o,r])=>{const a=i(o);if(!a||!o.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}const{range:l,textElement:c}=a;if(!l.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=l,e.clear();else if(c.style.textDecoration==="underline")return;const d=new hi;e.add(Se(()=>d.dispose(!0)));let u;Q1(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new P(l.startLineNumber,l.startColumn+1),!1,d.token).then(h=>{if(!d.token.isCancellationRequested)if(h.length!==0){this._candidateDefinitionsLength=h.length;const g=c;u!==g?(e.clear(),u=g,u.style.textDecoration="underline",e.add(Se(()=>{u.style.textDecoration="none"}))):u||(u=g,u.style.textDecoration="underline",e.add(Se(()=>{u.style.textDecoration="none"})))}else e.clear()})})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async o=>{if(o.target.type!==12||o.target.detail!==this._stickyScrollWidget.getId())return;const r=this._stickyScrollWidget.getEditorPositionFromNode(o.target.element);r&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:r.lineNumber,column:1})),this._instaService.invokeFunction(PY,o,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new ia(e,t);this._contextMenuService.showContextMenu({menuId:be.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t==null?void 0:t.foldingIcon;if(!i)return;hB(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const n=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(n),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(116);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)}))}_readConfigurationChange(e){(e.hasChanged(116)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(111)||e.hasChanged(68))&&this._readConfiguration(),e.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const n of e.ranges)if(i>=n.fromLineNumber&&i<=n.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(t*.25)}async _renderStickyScroll(e){const t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}const i=this._updateAndGetMinRebuildFromLine(e),n=this._stickyLineCandidateProvider.getVersionId();if(n===void 0||n===t.getVersionId())if(!this._focused)await this._updateState(i);else if(this._focusedStickyElementIndex===-1)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const r=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(i),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(r)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){const t=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){var i;this._minRebuildFromLine=void 0,this._foldingModel=await((i=th.get(this._editor))==null?void 0:i.getFoldingModel())??void 0,this._widgetState=this.findScrollWidgetState();const t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=Ny.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let n=0;const o=[],r=[],a=this._editor.getVisibleRanges();if(a.length!==0){const l=new Ry(a[0].startLineNumber,a[a.length-1].endLineNumber),c=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(l);for(const d of c){const u=d.startLineNumber,h=d.endLineNumber,g=d.nestingDepth;if(h-u>0){const f=(g-1)*e,m=g*e,_=this._editor.getBottomForLineNumber(u)-i,b=this._editor.getTopForLineNumber(h)-i,v=this._editor.getBottomForLineNumber(h)-i;if(f>b&&f<=v){o.push(u),r.push(h+1),n=v-m;break}else m>_&&m<=v&&(o.push(u),r.push(h+1));if(o.length===t)break}}}return this._endLineNumbers=r,new Ny(o,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},aW=Vp,Vp.ID="store.contrib.stickyScrollController",Vp);Nd=aW=z2e([Fb(1,xo),Fb(2,me),Fb(3,xe),Fb(4,fi),Fb(5,tr),Fb(6,Ae)],Nd);class U2e extends Ds{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Me("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:p({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Me("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:O2e.View,toggled:{condition:G.equals("config.editor.stickyScroll.enabled",!0),title:p("stickyScroll","Sticky Scroll"),mnemonicTitle:p({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:be.CommandPalette},{id:be.MenubarAppearanceMenu,group:"4_editor",order:3},{id:be.StickyScrollContext}]})}async run(e){const t=e.get(Ye),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const oD=100;class j2e extends Ha{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Me("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:p({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:G.and(G.has("config.editor.stickyScroll.enabled"),I.stickyScrollVisible),menu:[{id:be.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Nd.get(t))==null||i.focus()}}class q2e extends Ha{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Me("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oD,primary:18}})}runEditorCommand(e,t){var i;(i=Nd.get(t))==null||i.focusNext()}}class K2e extends Ha{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Me("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oD,primary:16}})}runEditorCommand(e,t){var i;(i=Nd.get(t))==null||i.focusPrevious()}}class G2e extends Ha{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Me("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oD,primary:3}})}runEditorCommand(e,t){var i;(i=Nd.get(t))==null||i.goToFocused()}}class Z2e extends Ha{constructor(){super({id:"editor.action.selectEditor",title:Me("selectEditor.title","Select Editor"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oD,primary:9}})}runEditorCommand(e,t){var i;(i=Nd.get(t))==null||i.selectEditor()}}ut(Nd.ID,Nd,1),Ut(U2e),Ut(j2e),Ut(K2e),Ut(q2e),Ut(G2e),Ut(Z2e);var VQ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Py=function(s,e){return function(t,i){e(t,i,s)}};class Y2e{constructor(e,t,i,n,o,r){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=n,this.command=o,this.completion=r}}let lW=class extends Noe{constructor(e,t,i,n,o,r){super(o.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=n,this._suggestMemoryService=r}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn<i.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){const e=[],{items:t}=this.completionModel,i=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},t),n=ct.slice(t,i),o=ct.slice(t,0,i);let r=5;for(const a of ct.concat(n,o)){if(a.score===qa.Default)continue;const l=new k(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),c=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new Y2e(l,c,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(qe.None)}return e}};lW=VQ([Py(5,wI)],lW);let cW=class extends B{constructor(e,t,i,n){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=n,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,n){var g;if(i.selectedSuggestionInfo)return;let o;for(const f of this._editorService.listCodeEditors())if(f.getModel()===e){o=f;break}if(!o)return;const r=o.getOption(90);if(yb.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),l=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(yb.valueFor(r,l)!=="inline")return;let c=e.getWordAtPosition(t),d;if(c!=null&&c.word||(d=this._getTriggerCharacterInfo(e,t)),!(c!=null&&c.word)&&!d||(c||(c=e.getWordUntilPosition(t)),c.endColumn!==t.column))return;let u;const h=e.getValueInRange(new k(t.lineNumber,1,t.lineNumber,t.column));if(!d&&((g=this._lastResult)!=null&&g.canBeReused(e,t.lineNumber,c))){const f=new YX(h,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=f,this._lastResult.acquire(),u=this._lastResult}else{const f=await LB(this._languageFeatureService.completionProvider,e,t,new ly(void 0,xI.createSuggestFilter(o).itemKind,d==null?void 0:d.providers),d&&{triggerKind:1,triggerCharacter:d.ch},n);let m;f.needsClipboard&&(m=await this._clipboardService.readText());const _=new nh(f.items,t.column,new YX(h,0),SI.None,o.getOption(119),o.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},m);u=new lW(e,t.lineNumber,c,_,f,this._suggestMemoryService)}return this._lastResult=u,u}handleItemDidShow(e,t){t.completion.resolve(qe.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var o;const i=e.getValueInRange(k.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),n=new Set;for(const r of this._languageFeatureService.completionProvider.all(e))(o=r.triggerCharacters)!=null&&o.includes(i)&&n.add(r);if(n.size!==0)return{providers:n,ch:i}}};cW=VQ([Py(0,me),Py(1,hd),Py(2,wI),Py(3,_t)],cW),k_(cW);class X2e extends fe{constructor(){super({id:"editor.action.forceRetokenize",label:p("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const n=new hn;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}J(X2e);const aN=class aN extends Ds{constructor(){super({id:aN.ID,title:Me({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:Me("tabMovesFocusDescriptions","Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.")},f1:!0})}run(){const t=!D_.getTabFocusMode();D_.setTabFocusMode(t),Rs(t?p("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element"):p("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};aN.ID="editor.action.toggleTabFocusMode";let dW=aN;Ut(dW);var Q2e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},$Q=function(s,e){return function(t,i){e(t,i,s)}};let uW=class extends B{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},n,o){super(),this._link=t,this._hoverService=n,this._enabled=!0,this.el=X(e,re("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??As("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new rt(this.el,"click")),a=this._register(new rt(this.el,"keypress")),l=le.chain(a.event,u=>u.map(h=>new $t(h)).filter(h=>h.keyCode===3)),c=this._register(new rt(this.el,qt.Tap)).event;this._register(es.addTarget(this.el));const d=le.any(r.event,l,c);this._register(d(u=>{this.enabled&&(at.stop(u,!0),i!=null&&i.opener?i.opener(this._link.href):o.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};uW=Q2e([$Q(3,Vl),$Q(4,eo)],uW);var zQ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},UQ=function(s,e){return function(t,i){e(t,i,s)}};const J2e=26;let hW=class extends B{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(gW))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),(t=e.onClose)==null||t.call(e)}}),this._editor.setBanner(this.banner.element,J2e)}};hW=zQ([UQ(1,xe)],hW);let gW=class extends B{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Qc,{}),this.element=re("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=re("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Cn(this.element)}show(e){Cn(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=X(this.element,re("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(re(`div${Re.asCSSSelector(e.icon)}`));const n=X(this.element,re("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=X(this.element,re("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(uW,this.messageActionsContainer,{...r,tabIndex:-1},{}));const o=X(this.element,re("div.action-container"));this.actionBar=this._register(new lr(o)),this.actionBar.push(this._register(new yo("banner.close","Close Banner",Re.asClassName(yq),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};gW=zQ([UQ(0,xe)],gW);var fW=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Bb=function(s,e){return function(t,i){e(t,i,s)}};const eOe=Qt("extensions-warning-message",se.warning,p("warningIcon","Icon shown with a warning message in the extensions editor."));let Oy=(Rv=class extends B{constructor(e,t,i,n){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=o=>{if(o&&o.hasMore){if(this._bannerClosed)return;const r=Math.max(o.ambiguousCharacterCount,o.nonBasicAsciiCharacterCount,o.invisibleCharacterCount);let a;if(o.nonBasicAsciiCharacterCount>=r)a={message:p("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new By};else if(o.ambiguousCharacterCount>=r)a={message:p("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Ff};else if(o.invisibleCharacterCount>=r)a={message:p("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Fy};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:eOe,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(hW,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(126),this._register(i.onDidChangeTrust(o=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(o=>{o.hasChanged(126)&&(this._options=e.getOption(126),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=tOe(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?Rse:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new pW(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new iOe(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},Rv.ID="editor.contrib.unicodeHighlighter",Rv);Oy=fW([Bb(1,no),Bb(2,Rz),Bb(3,xe)],Oy);function tOe(s,e){return{nonBasicASCII:e.nonBasicASCII===qo?!s:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===qo?!s:e.includeComments,includeStrings:e.includeStrings===qo?!s:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let pW=class extends B{constructor(e,t,i,n){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Pt(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const n of t.ranges)i.push({range:n,options:rD.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!A4(t,e))return null;const i=t.getValueInRange(e.range);return{reason:qQ(i,this._options),inComment:M4(t,e),inString:P4(t,e)}}};pW=fW([Bb(3,no)],pW);class iOe extends B{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Pt(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const n of e){const o=pM.computeUnicodeHighlights(this._model,this._options,n);for(const r of o.ranges)i.ranges.push(r);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||o.hasMore}if(!i.hasMore)for(const n of i.ranges)t.push({range:n,options:rD.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return A4(t,e)?{reason:qQ(i,this._options),inComment:M4(t,e),inString:P4(t,e)}:null}}const jQ=p("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let mW=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),n=this._editor.getContribution(Oy.ID);if(!n)return[];const o=[],r=new Set;let a=300;for(const l of t){const c=n.getDecorationInfo(l);if(!c)continue;const u=i.getValueInRange(l.range).codePointAt(0),h=bW(u);let g;switch(c.reason.kind){case 0:{tw(c.reason.confusableWith)?g=p("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",h,bW(c.reason.confusableWith.codePointAt(0))):g=p("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",h,bW(c.reason.confusableWith.codePointAt(0)));break}case 1:g=p("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",h);break;case 2:g=p("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",h);break}if(r.has(g))continue;r.add(g);const f={codePoint:u,reason:c.reason,inComment:c.inComment,inString:c.inString},m=p("unicodeHighlight.adjustSettings","Adjust settings"),_=`command:${aD.ID}?${encodeURIComponent(JSON.stringify(f))}`,b=new ts("",!0).appendMarkdown(g).appendText(" ").appendLink(_,m,jQ);o.push(new ma(this,l.range,[b],!1,a++))}return o}renderHoverParts(e,t){return ADe(e,t,this._editor,this._languageService,this._openerService)}};mW=fW([Bb(1,li),Bb(2,eo)],mW);function _W(s){return`U+${s.toString(16).padStart(4,"0")}`}function bW(s){let e=`\`${_W(s)}\``;return Yh.isInvisibleCharacter(s)||(e+=` "${`${nOe(s)}`}"`),e}function nOe(s){return s===96?"`` ` ``":"`"+String.fromCodePoint(s)+"`"}function qQ(s,e){return pM.computeUnicodeHighlightReason(s,e)}const lN=class lN{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let n=this.map.get(i);return n||(n=ze.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,n)),n}};lN.instance=new lN;let rD=lN;class sOe extends fe{constructor(){super({id:Ff.ID,label:p("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=p("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(Ye);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ks.includeComments,!1,2)}}class oOe extends fe{constructor(){super({id:Ff.ID,label:p("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=p("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(Ye);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ks.includeStrings,!1,2)}}const cN=class cN extends fe{constructor(){super({id:cN.ID,label:p("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=p("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Ye);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ks.ambiguousCharacters,!1,2)}};cN.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Ff=cN;const dN=class dN extends fe{constructor(){super({id:dN.ID,label:p("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=p("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Ye);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ks.invisibleCharacters,!1,2)}};dN.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let Fy=dN;const uN=class uN extends fe{constructor(){super({id:uN.ID,label:p("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=p("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Ye);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ks.nonBasicASCII,!1,2)}};uN.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let By=uN;const hN=class hN extends fe{constructor(){super({id:hN.ID,label:p("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:n,reason:o,inString:r,inComment:a}=i,l=String.fromCodePoint(n),c=e.get(Wr),d=e.get(Ye);function u(f){return Yh.isInvisibleCharacter(f)?p("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",_W(f)):p("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${_W(f)} "${l}"`)}const h=[];if(o.kind===0)for(const f of o.notAmbiguousInLocales)h.push({label:p("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',f),run:async()=>{aOe(d,[f])}});if(h.push({label:u(n),run:()=>rOe(d,[n])}),a){const f=new sOe;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(r){const f=new oOe;h.push({label:f.label,run:async()=>f.runAction(d)})}if(o.kind===0){const f=new Ff;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(o.kind===1){const f=new Fy;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(o.kind===2){const f=new By;h.push({label:f.label,run:async()=>f.runAction(d)})}else lOe(o);const g=await c.pick(h,{title:jQ});g&&await g.run()}};hN.ID="editor.action.unicodeHighlight.showExcludeOptions";let aD=hN;async function rOe(s,e){const t=s.getValue(Ks.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await s.updateValue(Ks.allowedCharacters,i,2)}async function aOe(s,e){var n;const t=(n=s.inspect(Ks.allowedLocales).user)==null?void 0:n.value;let i;typeof t=="object"&&t?i=Object.assign({},t):i={};for(const o of e)i[o]=!0;await s.updateValue(Ks.allowedLocales,i,2)}function lOe(s){throw new Error(`Unexpected value: ${s}`)}J(Ff),J(Fy),J(By),J(aD),ut(Oy.ID,Oy,1),yf.register(mW);var cOe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},KQ=function(s,e){return function(t,i){e(t,i,s)}};const GQ="ignoreUnusualLineTerminators";function dOe(s,e,t){s.setModelProperty(e.uri,GQ,t)}function uOe(s,e){return s.getModelProperty(e.uri,GQ)}let lD=(Av=class extends B{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(127),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(n=>{n.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||uOe(this._codeEditorService,e)===!0||this._editor.getOption(92))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:p("unusualLineTerminators.title","Unusual Line Terminators"),message:p("unusualLineTerminators.message","Detected unusual line terminators"),detail:p("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",Or(e.uri)),primaryButton:p({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:p("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){dOe(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},Av.ID="editor.contrib.unusualLineTerminatorsDetector",Av);lD=cOe([KQ(1,Rw),KQ(2,_t)],lD),ut(lD.ID,lD,1);var hOe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},gOe=function(s,e){return function(t,i){e(t,i,s)}};class ZQ{constructor(){this.selector={language:"*"}}provideDocumentHighlights(e,t,i){const n=[],o=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return o?e.isDisposed()?void 0:e.findMatches(o.word,!0,!1,!0,HS,!1).map(a=>({range:a.range,kind:am.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const o=new pn,r=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!r)return Promise.resolve(o);for(const a of[e,...i]){if(a.isDisposed())continue;const c=a.findMatches(r.word,!0,!1,!0,HS,!1).map(d=>({range:d.range,kind:am.Text}));c&&o.set(a.uri,c)}return o}}let vW=class extends B{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new ZQ)),this._register(e.multiDocumentHighlightProvider.register("*",new ZQ))}};vW=hOe([gOe(0,me)],vW);var YQ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},cD=function(s,e){return function(t,i){e(t,i,s)}},Fi,wW;const CW=new he("hasWordHighlights",!1);function XQ(s,e,t,i){const n=s.ordered(e);return uA(n.map(o=>()=>Promise.resolve(o.provideDocumentHighlights(e,t,i)).then(void 0,Di)),o=>o!=null).then(o=>{if(o){const r=new pn;return r.set(e.uri,o),r}return new pn})}function fOe(s,e,t,i,n,o){const r=s.ordered(e);return uA(r.map(a=>()=>{const l=o.filter(c=>iV(c)).filter(c=>KM(a.selector,c.uri,c.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,l,n)).then(void 0,Di)}),a=>a!=null)}class QQ{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=rn(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new k(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const n=t.startLineNumber,o=t.startColumn,r=t.endColumn,a=this._getCurrentWordRange(e,t);let l=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let c=0,d=i.length;!l&&c<d;c++){const u=i.getRange(c);u&&u.startLineNumber===n&&u.startColumn<=o&&u.endColumn>=r&&(l=!0)}return l}cancel(){this.result.cancel()}}class pOe extends QQ{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return XQ(this._providers,e,t.getPosition(),n).then(o=>o||new pn)}}class mOe extends QQ{constructor(e,t,i,n,o){super(e,t,i),this._providers=n,this._otherModels=o}_compute(e,t,i,n){return fOe(this._providers,e,t.getPosition(),i,n,this._otherModels).then(o=>o||new pn)}}function _Oe(s,e,t,i,n){return new pOe(e,t,n,s)}function bOe(s,e,t,i,n,o){return new mOe(e,t,n,s,o)}Qs("_executeDocumentHighlights",async(s,e,t)=>{const i=s.get(me),n=await XQ(i.documentHighlightProvider,e,t,qe.None);return n==null?void 0:n.get(e.uri)});let yW=(Hh=class{constructor(e,t,i,n,o){this.toUnhook=new q,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new pn,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Ir(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=o,this._hasWordHighlights=CW.bindTo(n),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(r=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!=="off"&&this.runDelayer.trigger(()=>{this._onPositionChanged(r)})})),this.toUnhook.add(e.onDidFocusEditorText(r=>{this.occurrencesHighlight!=="off"&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}))})),this.toUnhook.add(e.onDidChangeModelContent(r=>{h0(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():Fi.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var l,c;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((c=(l=Fi.query)==null?void 0:l.modelInfo)==null?void 0:c.model);break;case"multiFile":Fi.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",a);break}})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,Fi.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(k.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(o=>o.containsPosition(this.editor.getPosition()))+1)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const o=this._getWord();if(o){const r=this.editor.getModel().getLineContent(n.startLineNumber);Rs(`${r}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(o=>o.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const o=this._getWord();if(o){const r=this.editor.getModel().getLineContent(n.startLineNumber);Rs(`${r}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=Fi.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),Fi.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){const t=this.codeEditorService.listCodeEditors(),i=[];for(const n of t){if(!n.hasModel()||Yw(n.getModel().uri,e==null?void 0:e.uri))continue;const o=Fi.storedDecorationIDs.get(n.getModel().uri);if(!o)continue;n.removeDecorations(o),i.push(n.getModel().uri);const r=uh.get(n);r!=null&&r.wordHighlighter&&r.wordHighlighter.decorations.length>0&&(r.wordHighlighter.decorations.clear(),r.wordHighlighter.workerRequest=null,r.wordHighlighter._hasWordHighlights.set(!1))}for(const n of i)Fi.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==$e.vscodeNotebookCell&&((i=(t=Fi.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==$e.vscodeNotebookCell?(Fi.query=null,this._run()):(n=Fi.query)!=null&&n.modelInfo&&(Fi.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(e){this._removeAllDecorations(e),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;if(this.occurrencesHighlight==="off"){this._stopAll();return}if(e.reason!==3&&((t=this.editor.getModel())==null?void 0:t.uri.scheme)!==$e.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===$e.vscodeNotebookCell){const o=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const l=a.getModel();l&&l!==e&&l.uri.scheme===$e.vscodeNotebookCell&&o.push(l)}return o}const i=[],n=this.codeEditorService.listCodeEditors();for(const o of n){if(!x5(o))continue;const r=o.getModel();r&&e===r.modified&&i.push(r.modified)}if(i.length)return i;if(this.occurrencesHighlight==="singleFile")return[];for(const o of n){const r=o.getModel();r&&r!==e&&i.push(r)}return i}_run(e){var n,o;let t;if(this.editor.hasTextFocus()){const r=this.editor.getSelection();if(!r||r.startLineNumber!==r.endLineNumber){Fi.query=null,this._stopAll();return}const a=r.startColumn,l=r.endColumn,c=this._getWord();if(!c||c.startColumn>a||c.endColumn<l){Fi.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),Fi.query={modelInfo:{model:this.model,selection:r},word:c}}else if(!Fi.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),t)this.workerRequestCompleted&&this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else if(Yw(this.editor.getModel().uri,(n=Fi.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const l=this.decorations.getRanges();for(const c of l)if(c.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model:void 0);const r=++this.workerRequestTokenId;this.workerRequestCompleted=!1;const a=this.getOtherModelsToHighlight(this.editor.getModel());if(!Fi.query||!Fi.query.modelInfo||Fi.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(Fi.query.modelInfo.model,Fi.query.modelInfo.selection,Fi.query.word,a),(o=this.workerRequest)==null||o.result.then(l=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=l||[],this._beginRenderDecorations())},Ve)}}computeWithModel(e,t,i,n){return n.length?bOe(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):_Oe(this.providers,e,t,i,this.editor.getOption(132))}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){var t,i,n;this.renderDecorationsTimer=-1;const e=this.codeEditorService.listCodeEditors();for(const o of e){const r=uh.get(o);if(!r)continue;const a=[],l=(t=o.getModel())==null?void 0:t.uri;if(l&&this.workerRequestValue.has(l)){const c=Fi.storedDecorationIDs.get(l),d=this.workerRequestValue.get(l);if(d)for(const h of d)h.range&&a.push({range:h.range,options:rPe(h.kind)});let u=[];o.changeDecorations(h=>{u=h.deltaDecorations(c??[],a)}),Fi.storedDecorationIDs=Fi.storedDecorationIDs.set(l,u),a.length>0&&((i=r.wordHighlighter)==null||i.decorations.set(a),(n=r.wordHighlighter)==null||n._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}},Fi=Hh,Hh.storedDecorationIDs=new pn,Hh.query=null,Hh);yW=Fi=YQ([cD(4,_t)],yW);let uh=($p=class extends B{static get(e){return e.getContribution(wW.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const o=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new yW(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,n))};this._register(e.onDidChangeModel(r=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),o()})),o()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)==null||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)==null||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}},wW=$p,$p.ID="editor.contrib.wordHighlighter",$p);uh=wW=YQ([cD(1,Ae),cD(2,me),cD(3,_t)],uh);class JQ extends fe{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=uh.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class vOe extends JQ{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:p("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:CW,kbOpts:{kbExpr:I.editorTextFocus,primary:65,weight:100}})}}class wOe extends JQ{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:p("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:CW,kbOpts:{kbExpr:I.editorTextFocus,primary:1089,weight:100}})}}class COe extends fe{constructor(){super({id:"editor.action.wordHighlight.trigger",label:p("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=uh.get(t);n&&n.restoreViewState(!0)}}ut(uh.ID,uh,0),J(vOe),J(wOe),J(COe),k_(vW);class dD extends Qi{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Rr(t.getOption(132),t.getOption(131)),o=t.getModel(),r=t.getSelections(),a=r.length>1,l=r.map(c=>{const d=new P(c.positionLineNumber,c.positionColumn),u=this._move(n,o,d,this._wordNavigationType,a);return this._moveTo(c,u,this._inSelectionMode)});if(o.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,l.map(c=>bt.fromModelSelection(c))),l.length===1){const c=new P(l[0].positionLineNumber,l[0].positionColumn);t.revealPosition(c,0)}}_moveTo(e,t,i){return i?new ve(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new ve(t.lineNumber,t.column,t.lineNumber,t.column)}}class hh extends dD{_move(e,t,i,n,o){return Lt.moveWordLeft(e,t,i,n,o)}}class gh extends dD{_move(e,t,i,n,o){return Lt.moveWordRight(e,t,i,n)}}class yOe extends hh{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class SOe extends hh{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class xOe extends hh{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:G.and(I.textInputFocus,(e=G.and(Xw,jk))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class kOe extends hh{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class LOe extends hh{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class EOe extends hh{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:G.and(I.textInputFocus,(e=G.and(Xw,jk))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class IOe extends hh{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,o){return super._move(Rr(Ta.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class DOe extends hh{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,o){return super._move(Rr(Ta.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class TOe extends gh{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class NOe extends gh{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:G.and(I.textInputFocus,(e=G.and(Xw,jk))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class ROe extends gh{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class AOe extends gh{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class MOe extends gh{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:G.and(I.textInputFocus,(e=G.and(Xw,jk))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class POe extends gh{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class OOe extends gh{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,o){return super._move(Rr(Ta.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class FOe extends gh{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,o){return super._move(Rr(Ta.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class uD extends Qi{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(fi);if(!t.hasModel())return;const o=Rr(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),l=t.getOption(6),c=t.getOption(11),d=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),u=t._getViewModel(),h=a.map(g=>{const f=this._delete({wordSeparators:o,model:r,selection:g,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:l,autoClosingQuotes:c,autoClosingPairs:d,autoClosedCharacters:u.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Hn(f,"")});t.pushUndoStop(),t.executeCommands(this.id,h),t.pushUndoStop()}}class SW extends uD{_delete(e,t){const i=Lt.deleteWordLeft(e,t);return i||new k(1,1,1,1)}}class xW extends uD{_delete(e,t){const i=Lt.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),o=e.model.getLineMaxColumn(n);return new k(n,o,n,o)}}class BOe extends SW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:I.writable})}}class WOe extends SW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:I.writable})}}class HOe extends SW{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class VOe extends xW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:I.writable})}}class $Oe extends xW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:I.writable})}}class zOe extends xW{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class UOe extends fe{constructor(){super({id:"deleteInsideWord",precondition:I.writable,label:p("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Rr(t.getOption(132),t.getOption(131)),o=t.getModel(),a=t.getSelections().map(l=>{const c=Lt.deleteInsideWord(n,o,l);return new Hn(c,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}de(new yOe),de(new SOe),de(new xOe),de(new kOe),de(new LOe),de(new EOe),de(new TOe),de(new NOe),de(new ROe),de(new AOe),de(new MOe),de(new POe),de(new IOe),de(new DOe),de(new OOe),de(new FOe),de(new BOe),de(new WOe),de(new HOe),de(new VOe),de(new $Oe),de(new zOe),J(UOe);class jOe extends uD{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=NL.deleteWordPartLeft(e);return i||new k(1,1,1,1)}}class qOe extends uD{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=NL.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),o=e.model.getLineMaxColumn(n);return new k(n,o,n,o)}}class eJ extends dD{_move(e,t,i,n,o){return NL.moveWordPartLeft(e,t,i,o)}}class KOe extends eJ{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}dt.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class GOe extends eJ{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}dt.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class tJ extends dD{_move(e,t,i,n,o){return NL.moveWordPartRight(e,t,i)}}class ZOe extends tJ{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class YOe extends tJ{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}de(new jOe),de(new qOe),de(new KOe),de(new GOe),de(new ZOe),de(new YOe);const a9=class a9 extends B{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Mo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new ts(p("editor.simple.readonly","Cannot edit in read-only input")):t=new ts(p("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};a9.ID="editor.contrib.readOnlyMessageController";let hD=a9;ut(hD.ID,hD,2);var XOe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},iJ=function(s,e){return function(t,i){e(t,i,s)}};let kW=class extends B{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Xe(this,void 0);const n=On("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),o=On("_textModel.onDidChangeContent",le.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(to(async(r,a)=>{n.read(r),o.read(r);const l=a.add(new W0e),c=await this._outlineModelService.getOrCreate(this._textModel,l.token);a.isDisposed||this._currentModel.set(c,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const n=i.asListOfDocumentSymbols().filter(o=>e.contains(o.range.startLineNumber)&&!e.contains(o.range.endLineNumber));return n.sort(x9(Cs(o=>o.range.endLineNumber-o.range.startLineNumber,Qr))),n.map(o=>({name:o.name,kind:o.kind,startLineNumber:o.range.startLineNumber}))}};kW=XOe([iJ(1,me),iJ(2,ry)],kW),rE.setBreadcrumbsSourceFactory((s,e)=>e.createInstance(kW,s));const l9=class l9 extends B{constructor(e){super(),this.editor=e,this.widget=null,Da&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new LW(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};l9.ID="editor.contrib.iPadShowKeyboard";let gD=l9;const gN=class gN extends B{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(U(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(U(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return gN.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};gN.ID="editor.contrib.ShowKeyboardWidget";let LW=gN;ut(gD.ID,gD,3);var QOe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},nJ=function(s,e){return function(t,i){e(t,i,s)}},EW;let Wy=(zp=class extends B{static get(e){return e.getContribution(EW.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(n=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(n=>this.stop())),this._register(ki.onDidChange(n=>this.stop())),this._register(this._editor.onKeyUp(n=>n.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new IW(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},EW=zp,zp.ID="editor.contrib.inspectTokens",zp);Wy=EW=QOe([nJ(1,gr),nJ(2,li)],Wy);class JOe extends fe{constructor(){super({id:"editor.action.inspectTokens",label:n2.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=Wy.get(t);i==null||i.launch()}}function eFe(s){let e="";for(let t=0,i=s.length;t<i;t++){const n=s.charCodeAt(t);switch(n){case 9:e+="→";break;case 32:e+="·";break;default:e+=String.fromCharCode(n)}}return e}function tFe(s,e){const t=ki.get(e);if(t)return t;const i=s.encodeLanguageId(e);return{getInitialState:()=>Um,tokenize:(n,o,r)=>UP(e,r),tokenizeEncoded:(n,o,r)=>Wx(i,r)}}const fN=class fN extends B{constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=tFe(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(i=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return fN._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let l=t.tokens1.length-1;l>=0;l--){const c=t.tokens1[l];if(e.column-1>=c.offset){i=l;break}}let n=0;for(let l=t.tokens2.length>>>1;l>=0;l--)if(e.column-1>=t.tokens2[l<<1]){n=l;break}const o=this._model.getLineContent(e.lineNumber);let r="";if(i<t.tokens1.length){const l=t.tokens1[i].offset,c=i+1<t.tokens1.length?t.tokens1[i+1].offset:o.length;r=o.substring(l,c)}yn(this._domNode,re("h2.tm-token",void 0,eFe(r),re("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),X(this._domNode,re("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;X(this._domNode,re("table.tm-metadata-table",void 0,re("tbody",void 0,re("tr",void 0,re("td.tm-metadata-key",void 0,"language"),re("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),re("tr",void 0,re("td.tm-metadata-key",void 0,"token type"),re("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),re("tr",void 0,re("td.tm-metadata-key",void 0,"font style"),re("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),re("tr",void 0,re("td.tm-metadata-key",void 0,"foreground"),re("td.tm-metadata-value",void 0,`${a?Z.Format.CSS.formatHex(a.foreground):"-?-"}`)),re("tr",void 0,re("td.tm-metadata-key",void 0,"background"),re("td.tm-metadata-value",void 0,`${a?Z.Format.CSS.formatHex(a.background):"-?-"}`))))),X(this._domNode,re("hr.tokens-inspect-separator")),i<t.tokens1.length&&X(this._domNode,re("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=ki.getColorMap(),i=Js.getLanguageId(e),n=Js.getTokenType(e),o=Js.getFontStyle(e),r=Js.getForeground(e),a=Js.getBackground(e);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(i),tokenType:n,fontStyle:o,foreground:t[r],background:t[a]}}_tokenTypeToString(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(e){let t="";return e&1&&(t+="italic "),e&2&&(t+="bold "),e&4&&(t+="underline "),e&8&&(t+="strikethrough "),t.length===0&&(t="---"),t}_getTokensAtLine(e){const t=this._getStateBeforeLine(e),i=this._tokenizationSupport.tokenize(this._model.getLineContent(e),!0,t),n=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(e),!0,t);return{startState:t,tokens1:i.tokens,tokens2:n.tokens,endState:i.endState}}_getStateBeforeLine(e){let t=this._tokenizationSupport.getInitialState();for(let i=1;i<e;i++)t=this._tokenizationSupport.tokenize(this._model.getLineContent(i),!0,t).endState;return t}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}};fN._ID="editor.contrib.inspectTokensWidget";let IW=fN;ut(Wy.ID,Wy,4),J(JOe);var iFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},sJ=function(s,e){return function(t,i){e(t,i,s)}},Hy;let DW=(Up=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=gi.as(Wg.Quickaccess)}provide(e){const t=new q;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const n=this.registry.getQuickAccessProvider(i.substr(Hy.PREFIX.length));n&&n.prefix&&n.prefix!==Hy.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Hy.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,n=i||"…";return{prefix:i,label:n,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:p("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},Hy=Up,Up.PREFIX="?",Up);DW=Hy=iFe([sJ(0,Wr),sJ(1,kt)],DW),gi.as(Wg.Quickaccess).registerQuickAccessProvider({ctor:DW,prefix:"",helpEntries:[{description:s2.helpQuickAccessActionLabel}]});class oJ{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new q;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const o=n.add(new sn);return o.value=this.doProvide(e,t,i),n.add(this.onDidActiveTextEditorControlChange(()=>{o.value=void 0,o.value=this.doProvide(e,t)})),n}doProvide(e,t,i){const n=new q,o=this.activeTextEditorControl;if(o&&this.canProvideWithTextEditor(o)){const r={editor:o},a=NG(o);if(a){let l=o.saveViewState()??void 0;n.add(a.onDidChangeCursorPosition(()=>{l=o.saveViewState()??void 0})),r.restoreViewState=()=>{l&&o===this.activeTextEditorControl&&o.restoreViewState(l)},n.add(Qd(t.onCancellationRequested)(()=>{var c;return(c=r.restoreViewState)==null?void 0:c.call(r)}))}n.add(Se(()=>this.clearDecorations(o))),n.add(this.provideWithTextEditor(r,e,t,i))}else n.add(this.provideWithoutTextEditor(e,t));return n}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const i=e.getModel();i&&"getLineContent"in i&&Ul(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return x5(e)?(t=e.getModel())==null?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(i=>{const n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),n.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const o=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:Li(vU),position:Qo.Full}}}],[r,a]=i.deltaDecorations(n,o);this.rangeHighlightDecorationId={rangeHighlightId:r,overviewRulerDecorationId:a}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}const pN=class pN extends oJ{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=p("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,B.None}provideWithTextEditor(e,t,i){const n=e.editor,o=new q;o.add(t.onDidAccept(l=>{const[c]=t.selectedItems;if(c){if(!this.isValidLineNumber(n,c.lineNumber))return;this.gotoLocation(e,{range:this.toRange(c.lineNumber,c.column),keyMods:t.keyMods,preserveFocus:l.inBackground}),l.inBackground||t.hide()}}));const r=()=>{const l=this.parsePosition(n,t.value.trim().substr(pN.PREFIX.length)),c=this.getPickLabel(n,l.lineNumber,l.column);if(t.items=[{lineNumber:l.lineNumber,column:l.column,label:c}],t.ariaLabel=c,!this.isValidLineNumber(n,l.lineNumber)){this.clearDecorations(n);return}const d=this.toRange(l.lineNumber,l.column);n.revealRangeInCenter(d,0),this.addDecorations(n,d)};r(),o.add(t.onDidChangeValue(()=>r()));const a=NG(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),o.add(Se(()=>a.updateOptions({lineNumbers:"relative"})))),o}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(o=>parseInt(o,10)).filter(o=>!isNaN(o)),n=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:n+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?p("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):p("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},o=this.lineCount(e);return o>1?p("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,o):p("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",n.lineNumber,n.column)}isValidLineNumber(e,t){return!t||typeof t!="number"?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,i){if(!i||typeof i!="number")return!1;const n=this.getModel(e);if(!n)return!1;const o={lineNumber:t,column:i};return n.validatePosition(o).equals(o)}lineCount(e){var t;return((t=this.getModel(e))==null?void 0:t.getLineCount())??0}};pN.PREFIX=":";let TW=pN;var nFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},sFe=function(s,e){return function(t,i){e(t,i,s)}};let Vy=class extends TW{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=le.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Vy=nFe([sFe(0,_t)],Vy);let rJ=(jp=class extends fe{constructor(){super({id:jp.ID,label:Xx.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:I.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Wr).quickAccess.show(Vy.PREFIX)}},jp.ID="editor.action.gotoLine",jp);J(rJ),gi.as(Wg.Quickaccess).registerQuickAccessProvider({ctor:Vy,prefix:Vy.PREFIX,helpEntries:[{description:Xx.gotoLineActionLabel,commandId:rJ.ID}]});const aJ=[void 0,[]];function NW(s,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?oFe(s,n.values,t,i):lJ(s,e,t,i)}function oFe(s,e,t,i){let n=0;const o=[];for(const r of e){const[a,l]=lJ(s,r,t,i);if(typeof a!="number")return aJ;n+=a,o.push(...l)}return[n,rFe(o)]}function lJ(s,e,t,i){const n=Cg(e.original,e.originalLowercase,t,s,s.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],Kw(n)]:aJ}function rFe(s){const e=s.sort((n,o)=>n.start-o.start),t=[];let i;for(const n of e)!i||!aFe(i,n)?(i=n,t.push(n)):(i.start=Math.min(i.start,n.start),i.end=Math.max(i.end,n.end));return t}function aFe(s,e){return!(s.end<e.start||e.end<s.start)}function cJ(s){return s.startsWith('"')&&s.endsWith('"')}const dJ=" ";function RW(s){typeof s!="string"&&(s="");const e=s.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=uJ(s),o=t.indexOf(Na)>=0,r=cJ(s);let a;const l=s.split(dJ);if(l.length>1)for(const c of l){const d=cJ(c),{pathNormalized:u,normalized:h,normalizedLowercase:g}=uJ(c);h&&(a||(a=[]),a.push({original:c,originalLowercase:c.toLowerCase(),pathNormalized:u,normalized:h,normalizedLowercase:g,expectContiguousMatch:d}))}return{original:s,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:o,expectContiguousMatch:r}}function uJ(s){let e;Rn?e=s.replace(/\//g,Na):e=s.replace(/\\/g,Na);const t=xre(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function hJ(s){return Array.isArray(s)?RW(s.map(e=>e.original).join(dJ)):RW(s.original)}var lFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},gJ=function(s,e){return function(t,i){e(t,i,s)}},fD;let Bf=(wl=class extends oJ{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,p("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),B.None}provideWithTextEditor(e,t,i,n){const o=e.editor,r=this.getModel(o);return r?this._languageFeaturesService.documentSymbolProvider.has(r)?this.doProvideWithEditorSymbols(e,r,t,i,n):this.doProvideWithoutEditorSymbols(e,r,t,i):B.None}doProvideWithoutEditorSymbols(e,t,i,n){const o=new q;return this.provideLabelPick(i,p("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(t,o)||n.isCancellationRequested||o.add(this.doProvideWithEditorSymbols(e,t,i,n)))(),o}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new hm,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(Se(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,o){var u;const r=e.editor,a=new q;a.add(i.onDidAccept(h=>{var f;const[g]=i.selectedItems;g&&g.range&&(this.gotoLocation(e,{range:g.range.selection,keyMods:i.keyMods,preserveFocus:h.inBackground}),(f=o==null?void 0:o.handleAccept)==null||f.call(o,g),h.inBackground||i.hide())})),a.add(i.onDidTriggerItemButton(({item:h})=>{h&&h.range&&(this.gotoLocation(e,{range:h.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const l=this.getDocumentSymbols(t,n);let c;const d=async h=>{c==null||c.dispose(!0),i.busy=!1,c=new hi(n),i.busy=!0;try{const g=RW(i.value.substr(fD.PREFIX.length).trim()),f=await this.doGetSymbolPicks(l,g,void 0,c.token,t);if(n.isCancellationRequested)return;if(f.length>0){if(i.items=f,h&&g.original.length===0){const m=xw(f,_=>!!(_.type!=="separator"&&_.range&&k.containsPosition(_.range.decoration,h)));m&&(i.activeItems=[m])}}else g.original.length>0?this.provideLabelPick(i,p("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,p("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>d(void 0))),d((u=r.getSelection())==null?void 0:u.getPosition()),a.add(i.onDidChangeActive(()=>{const[h]=i.activeItems;h&&h.range&&(r.revealRangeInCenter(h.range.selection,0),this.addDecorations(r,h.range.decoration))})),a}async doGetSymbolPicks(e,t,i,n,o){var _,b;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(fD.SCOPE_PREFIX)===0,l=a?1:0;let c,d;t.values&&t.values.length>1?(c=hJ(t.values[0]),d=hJ(t.values.slice(1))):c=t;let u;const h=(b=(_=this.options)==null?void 0:_.openSideBySideDirection)==null?void 0:b.call(_);h&&(u=[{iconClass:h==="right"?Re.asClassName(se.splitHorizontal):Re.asClassName(se.splitVertical),tooltip:h==="right"?p("openToSide","Open to the Side"):p("openToBottom","Open to the Bottom")}]);const g=[];for(let v=0;v<r.length;v++){const w=r[v],C=yre(w.name),y=`$(${JS.toIcon(w.kind).id}) ${C}`,x=y.length-C.length;let L=w.containerName;i!=null&&i.extraContainerLabel&&(L?L=`${i.extraContainerLabel} • ${L}`:L=i.extraContainerLabel);let E,N,H,A;if(t.original.length>l){let j=!1;if(c!==t&&([E,N]=NW(y,{...t,values:void 0},l,x),typeof E=="number"&&(j=!0)),typeof E!="number"&&([E,N]=NW(y,c,l,x),typeof E!="number"))continue;if(!j&&d){if(L&&d.original.length>0&&([H,A]=NW(L,d)),typeof H!="number")continue;typeof E=="number"&&(E+=H)}}const $=w.tags&&w.tags.indexOf(1)>=0;g.push({index:v,kind:w.kind,score:E,label:y,ariaLabel:pre(w.name,w.kind),description:L,highlights:$?void 0:{label:N,description:A},range:{selection:k.collapseToStart(w.selectionRange),decoration:w.range},uri:o.uri,symbolName:C,strikethrough:$,buttons:u})}const f=g.sort((v,w)=>a?this.compareByKindAndScore(v,w):this.compareByScore(v,w));let m=[];if(a){let y=function(){w&&typeof v=="number"&&C>0&&(w.label=Gh(MW[v]||AW,C))},v,w,C=0;for(const x of f)v!==x.kind?(y(),v=x.kind,C=1,w={type:"separator"},m.push(w)):C++,m.push(x);y()}else f.length>0&&(m=[{label:p("symbols","symbols ({0})",g.length),type:"separator"},...f]);return m}compareByScore(e,t){if(typeof e.score!="number"&&typeof t.score=="number")return 1;if(typeof e.score=="number"&&typeof t.score!="number")return-1;if(typeof e.score=="number"&&typeof t.score=="number"){if(e.score>t.score)return-1;if(e.score<t.score)return 1}return e.index<t.index?-1:e.index>t.index?1:0}compareByKindAndScore(e,t){const i=MW[e.kind]||AW,n=MW[t.kind]||AW,o=i.localeCompare(n);return o===0?this.compareByScore(e,t):o}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}},fD=wl,wl.PREFIX="@",wl.SCOPE_PREFIX=":",wl.PREFIX_BY_CATEGORY=`${wl.PREFIX}${wl.SCOPE_PREFIX}`,wl);Bf=fD=lFe([gJ(0,me),gJ(1,ry)],Bf);const AW=p("property","properties ({0})"),MW={5:p("method","methods ({0})"),11:p("function","functions ({0})"),8:p("_constructor","constructors ({0})"),12:p("variable","variables ({0})"),4:p("class","classes ({0})"),22:p("struct","structs ({0})"),23:p("event","events ({0})"),24:p("operator","operators ({0})"),10:p("interface","interfaces ({0})"),2:p("namespace","namespaces ({0})"),3:p("package","packages ({0})"),25:p("typeParameter","type parameters ({0})"),1:p("modules","modules ({0})"),6:p("property","properties ({0})"),9:p("enum","enumerations ({0})"),21:p("enumMember","enumeration members ({0})"),14:p("string","strings ({0})"),0:p("file","files ({0})"),17:p("array","arrays ({0})"),15:p("number","numbers ({0})"),16:p("boolean","booleans ({0})"),18:p("object","objects ({0})"),19:p("key","keys ({0})"),7:p("field","fields ({0})"),13:p("constant","constants ({0})")};var cFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},PW=function(s,e){return function(t,i){e(t,i,s)}};let OW=class extends Bf{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=le.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};OW=cFe([PW(0,_t),PW(1,me),PW(2,ry)],OW);const mN=class mN extends fe{constructor(){super({id:mN.ID,label:oC.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:I.hasDocumentSymbolProvider,kbOpts:{kbExpr:I.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Wr).quickAccess.show(Bf.PREFIX,{itemActivation:Ja.NONE})}};mN.ID="editor.action.quickOutline";let pD=mN;J(pD),gi.as(Wg.Quickaccess).registerQuickAccessProvider({ctor:OW,prefix:Bf.PREFIX,helpEntries:[{description:oC.quickOutlineActionLabel,prefix:Bf.PREFIX,commandId:pD.ID},{description:oC.quickOutlineByCategoryActionLabel,prefix:Bf.PREFIX_BY_CATEGORY}]});function dFe(s){const e=new Map;for(const t of s)e.set(t,(e.get(t)??0)+1);return e}class $y{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),n=new Map,o=[];for(const[r,a]of this.documents){if(t.isCancellationRequested)return[];for(const l of a.chunks){const c=this.computeSimilarityScore(l,i,n);c>0&&o.push({key:r,score:c})}}return o}static termFrequencies(e){return dFe($y.splitTerms(e))}static*splitTerms(e){const t=i=>i.toLowerCase();for(const[i]of e.matchAll(new RegExp("\\b\\p{Letter}[\\p{Letter}\\d]{2,}\\b","gu"))){yield t(i);const n=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(n.length>1)for(const o of n)o.length>2&&new RegExp("\\p{Letter}{3,}","gu").test(o)&&(yield t(o))}}updateDocuments(e){for(const{key:t}of e)this.deleteDocument(t);for(const t of e){const i=[];for(const n of t.textChunks){const o=$y.termFrequencies(n);for(const r of o.keys())this.chunkOccurrences.set(r,(this.chunkOccurrences.get(r)??0)+1);i.push({text:n,tf:o})}this.chunkCount+=i.length,this.documents.set(t.key,{chunks:i})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const i of t.chunks)for(const n of i.tf.keys()){const o=this.chunkOccurrences.get(n);if(typeof o=="number"){const r=o-1;r<=0?this.chunkOccurrences.delete(n):this.chunkOccurrences.set(n,r)}}}}computeSimilarityScore(e,t,i){let n=0;for(const[o,r]of Object.entries(t)){const a=e.tf.get(o);if(!a)continue;let l=i.get(o);typeof l!="number"&&(l=this.computeIdf(o),i.set(o,l));const c=a*l;n+=c*r}return n}computeEmbedding(e){const t=$y.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){const t=this.chunkOccurrences.get(e)??0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){const t=Object.create(null);for(const[i,n]of e){const o=this.computeIdf(i);o>0&&(t[i]=n*o)}return t}}function uFe(s){var i;const e=s.slice(0);e.sort((n,o)=>o.score-n.score);const t=((i=e[0])==null?void 0:i.score)??0;if(t>0)for(const n of e)n.score/=t;return e}var Wb;(function(s){s[s.NO_ACTION=0]="NO_ACTION",s[s.CLOSE_PICKER=1]="CLOSE_PICKER",s[s.REFRESH_PICKER=2]="REFRESH_PICKER",s[s.REMOVE_ITEM=3]="REMOVE_ITEM"})(Wb||(Wb={}));function FW(s){const e=s;return Array.isArray(e.items)}function fJ(s){const e=s;return!!e.picks&&e.additionalPicks instanceof Promise}class hFe extends B{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var c;const n=new q;e.canAcceptInBackground=!!((c=this.options)!=null&&c.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let o;const r=n.add(new sn),a=async()=>{var _;const d=r.value=new q;o==null||o.dispose(!0),e.busy=!1,o=new hi(t);const u=o.token;let h=e.value.substring(this.prefix.length);(_=this.options)!=null&&_.shouldSkipTrimPickFilter||(h=h.trim());const g=this._getPicks(h,d,u,i),f=(b,v)=>{var y;let w,C;if(FW(b)?(w=b.items,C=b.active):w=b,w.length===0){if(v)return!1;(h.length>0||e.hideInput)&&((y=this.options)!=null&&y.noResultsPick)&&(Vv(this.options.noResultsPick)?w=[this.options.noResultsPick(h)]:w=[this.options.noResultsPick])}return e.items=w,C&&(e.activeItems=[C]),!0},m=async b=>{let v=!1,w=!1;await Promise.all([(async()=>{typeof b.mergeDelay=="number"&&(await Fc(b.mergeDelay),u.isCancellationRequested)||w||(v=f(b.picks,!0))})(),(async()=>{e.busy=!0;try{const C=await b.additionalPicks;if(u.isCancellationRequested)return;let y,x;FW(b.picks)?(y=b.picks.items,x=b.picks.active):y=b.picks;let L,E;if(FW(C)?(L=C.items,E=C.active):L=C,L.length>0||!v){let N;if(!x&&!E){const H=e.activeItems[0];H&&y.indexOf(H)!==-1&&(N=H)}f({items:[...y,...L],active:x||E||N})}}finally{u.isCancellationRequested||(e.busy=!1),w=!0}})()])};if(g!==null)if(fJ(g))await m(g);else if(!(g instanceof Promise))f(g);else{e.busy=!0;try{const b=await g;if(u.isCancellationRequested)return;fJ(b)?await m(b):f(b)}finally{u.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(d=>{var h;if(i!=null&&i.handleAccept){d.inBackground||e.hide(),(h=i.handleAccept)==null||h.call(i,e.activeItems[0]);return}const[u]=e.selectedItems;typeof(u==null?void 0:u.accept)=="function"&&(d.inBackground||e.hide(),u.accept(e.keyMods,d))}));const l=async(d,u)=>{var g;if(typeof u.trigger!="function")return;const h=((g=u.buttons)==null?void 0:g.indexOf(d))??-1;if(h>=0){const f=u.trigger(h,e.keyMods),m=typeof f=="number"?f:await f;if(t.isCancellationRequested)return;switch(m){case Wb.NO_ACTION:break;case Wb.CLOSE_PICKER:e.hide();break;case Wb.REFRESH_PICKER:a();break;case Wb.REMOVE_ITEM:{const _=e.items.indexOf(u);if(_!==-1){const b=e.items.slice(),v=b.splice(_,1),w=e.activeItems.filter(y=>y!==v[0]),C=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=b,w&&(e.activeItems=w),e.keepScrollPosition=C}break}}}};return n.add(e.onDidTriggerItemButton(({button:d,item:u})=>l(d,u))),n.add(e.onDidTriggerSeparatorButton(({button:d,separator:u})=>l(d,u))),n}}var pJ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},fh=function(s,e){return function(t,i){e(t,i,s)}},Wf,Xi;let BW=(Lc=class extends hFe{constructor(e,t,i,n,o,r){super(Wf.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=o,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(WW)),this.options=e}async _getPicks(e,t,i,n){var g,f;const o=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=Qd(()=>{const m=new $y;m.updateDocuments(o.map(b=>({key:b.commandId,textChunks:[this.getTfIdfChunk(b)]})));const _=m.calculateScores(e,i);return uFe(_).filter(b=>b.score>Wf.TFIDF_THRESHOLD).slice(0,Wf.TFIDF_MAX_RESULTS)}),a=[];for(const m of o){const _=Wf.WORD_FILTER(e,m.label)??void 0,b=m.commandAlias?Wf.WORD_FILTER(e,m.commandAlias)??void 0:void 0;if(_||b)m.highlights={label:_,detail:this.options.showAlias?b:void 0},a.push(m);else if(e===m.commandId)a.push(m);else if(e.length>=3){const v=r();if(i.isCancellationRequested)return[];const w=v.find(C=>C.key===m.commandId);w&&(m.tfIdfScore=w.score,a.push(m))}}const l=new Map;for(const m of a){const _=l.get(m.label);_?(m.description=m.commandId,_.description=_.commandId):l.set(m.label,m)}a.sort((m,_)=>{if(m.tfIdfScore&&_.tfIdfScore)return m.tfIdfScore===_.tfIdfScore?m.label.localeCompare(_.label):_.tfIdfScore-m.tfIdfScore;if(m.tfIdfScore)return 1;if(_.tfIdfScore)return-1;const b=this.commandsHistory.peek(m.commandId),v=this.commandsHistory.peek(_.commandId);if(b&&v)return b>v?-1:1;if(b)return-1;if(v)return 1;if(this.options.suggestedCommandIds){const w=this.options.suggestedCommandIds.has(m.commandId),C=this.options.suggestedCommandIds.has(_.commandId);if(w&&C)return 0;if(w)return-1;if(C)return 1}return m.label.localeCompare(_.label)});const c=[];let d=!1,u=!0,h=!!this.options.suggestedCommandIds;for(let m=0;m<a.length;m++){const _=a[m];m===0&&this.commandsHistory.peek(_.commandId)&&(c.push({type:"separator",label:p("recentlyUsed","recently used")}),d=!0),u&&_.tfIdfScore!==void 0&&(c.push({type:"separator",label:p("suggested","similar commands")}),u=!1),h&&_.tfIdfScore===void 0&&!this.commandsHistory.peek(_.commandId)&&((g=this.options.suggestedCommandIds)!=null&&g.has(_.commandId))&&(c.push({type:"separator",label:p("commonlyUsed","commonly used")}),d=!0,h=!1),d&&_.tfIdfScore===void 0&&!this.commandsHistory.peek(_.commandId)&&!((f=this.options.suggestedCommandIds)!=null&&f.has(_.commandId))&&(c.push({type:"separator",label:p("morecCommands","other commands")}),d=!1),c.push(this.toCommandPick(_,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:c,additionalPicks:(async()=>{var b;const m=await this.getAdditionalCommandPicks(o,a,e,i);if(i.isCancellationRequested)return[];const _=m.map(v=>this.toCommandPick(v,n));return u&&((b=_[0])==null?void 0:b.type)!=="separator"&&_.unshift({type:"separator",label:p("suggested","similar commands")}),_})()}:c}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?p("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:n,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{var o;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:(t==null?void 0:t.from)??"quick open"});try{(o=e.args)!=null&&o.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(r){kr(r)||this.dialogService.error(p("canNotRun","Command '{0}' resulted in an error",e.label),xE(r))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let n=e;return t&&t!==e&&(n+=` - ${t}`),i&&i.value!==e&&(n+=` - ${i.value===i.original?i.value:`${i.value} (${i.original})`}`),n}},Wf=Lc,Lc.PREFIX=">",Lc.TFIDF_THRESHOLD=.5,Lc.TFIDF_MAX_RESULTS=5,Lc.WORD_FILTER=CP(qw,Age,Y$),Lc);BW=Wf=pJ([fh(1,xe),fh(2,kt),fh(3,jt),fh(4,Jn),fh(5,Rw)],BW);let WW=(Cl=class extends B{constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===vC.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Xi.getConfiguredCommandHistoryLength(this.configurationService),Xi.cache&&Xi.cache.limit!==this.configuredCommandsHistoryLength&&(Xi.cache.limit=this.configuredCommandsHistoryLength,Xi.hasChanges=!0))}load(){const e=this.storageService.get(Xi.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Xi.cache=new Ml(this.configuredCommandsHistoryLength,1);if(t){let n;t.usesLRU?n=t.entries:n=t.entries.sort((o,r)=>o.value-r.value),n.forEach(o=>i.set(o.key,o.value))}Xi.counter=this.storageService.getNumber(Xi.PREF_KEY_COUNTER,0,Xi.counter)}push(e){Xi.cache&&(Xi.cache.set(e,Xi.counter++),Xi.hasChanges=!0)}peek(e){var t;return(t=Xi.cache)==null?void 0:t.peek(e)}saveState(){if(!Xi.cache||!Xi.hasChanges)return;const e={usesLRU:!0,entries:[]};Xi.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(Xi.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Xi.PREF_KEY_COUNTER,Xi.counter,0,0),Xi.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var n,o;const i=(o=(n=e.getValue().workbench)==null?void 0:n.commandPalette)==null?void 0:o.history;return typeof i=="number"?i:Xi.DEFAULT_COMMANDS_HISTORY_LENGTH}},Xi=Cl,Cl.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Cl.PREF_KEY_CACHE="commandPalette.mru.cache",Cl.PREF_KEY_COUNTER="commandPalette.mru.counter",Cl.counter=1,Cl.hasChanges=!1,Cl);WW=Xi=pJ([fh(0,ga),fh(1,Ye),fh(2,Mn)],WW);class gFe extends BW{constructor(e,t,i,n,o,r){super(e,t,i,n,o,r)}getCodeEditorCommandPicks(){var i;const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const n of e.getSupportedActions()){let o;(i=n.metadata)!=null&&i.description&&(Dme(n.metadata.description)?o=n.metadata.description:o={original:n.metadata.description,value:n.metadata.description}),t.push({commandId:n.id,commandAlias:n.alias,commandDescription:o,label:RP(n.label)||n.id})}return t}}var fFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Hb=function(s,e){return function(t,i){e(t,i,s)}};let zy=class extends gFe{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,i,n,o,r){super({showAlias:!1},e,i,n,o,r),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};zy=fFe([Hb(0,xe),Hb(1,_t),Hb(2,kt),Hb(3,jt),Hb(4,Jn),Hb(5,Rw)],zy);const _N=class _N extends fe{constructor(){super({id:_N.ID,label:Qx.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:I.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Wr).quickAccess.show(zy.PREFIX)}};_N.ID="editor.action.quickCommand";let mD=_N;J(mD),gi.as(Wg.Quickaccess).registerQuickAccessProvider({ctor:zy,prefix:zy.PREFIX,helpEntries:[{description:Qx.quickCommandHelp,commandId:mD.ID}]});var pFe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Vb=function(s,e){return function(t,i){e(t,i,s)}};let HW=class extends kf{constructor(e,t,i,n,o,r,a){super(!0,e,t,i,n,o,r,a)}};HW=pFe([Vb(1,Ae),Vb(2,_t),Vb(3,Pi),Vb(4,xe),Vb(5,ga),Vb(6,Ye)],HW),ut(kf.ID,HW,4);class mFe extends fe{constructor(){super({id:"editor.action.toggleHighContrast",label:r2.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(gr),n=i.getColorTheme();za(n.type)?(i.setTheme(this._originalThemeName||(Am(n.type)?C_:ud)),this._originalThemeName=null):(i.setTheme(Am(n.type)?Kg:Gg),this._originalThemeName=n.themeName)}}J(mFe);function _Fe(s){return new Worker("/assets/editor.worker-BKD3YLiN.js",{name:s==null?void 0:s.name})}function bFe(s){return new Worker("/assets/json.worker-td2JV8fN.js",{name:s==null?void 0:s.name})}function vFe(s){return new Worker("/assets/css.worker-DNgQEC96.js",{name:s==null?void 0:s.name})}function wFe(s){return new Worker("/assets/html.worker-B7xpmB-M.js",{name:s==null?void 0:s.name})}function CFe(s){return new Worker("/assets/ts.worker-CqZGdM85.js",{name:s==null?void 0:s.name})}const yFe={class:"w-full h-full data-transform-container"},VW="function transformData(data) {",$W="}",SFe=IS(W.defineComponent({__name:"index",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(s){const e=W.useModel(s,"modelValue"),t=W.ref(null);let i=null;const n=r=>r?r.startsWith(VW)&&r.endsWith($W)?r.substring(VW.length,r.length-$W.length).trim():r:"return data",o=r=>{const a=r.split(`
1161
1161
  `).map(l=>` ${l}`).join(`
1162
1162
  `);return`${VW}
1163
1163
  ${a}
1164
1164
  ${$W}`};return self.MonacoEnvironment={getWorker(r,a){return a==="json"?new bFe:a==="css"||a==="scss"||a==="less"?new vFe:a==="html"||a==="handlebars"||a==="razor"?new wFe:a==="typescript"||a==="javascript"?new CFe:new _Fe}},W.onMounted(()=>{e.value||(e.value=`function transformData(data) {
1165
1165
  return data
1166
- }`);const r=n(e.value)||"return data";i=OG.create(t.value,{value:r,language:"javascript",theme:"vs-dark",automaticLayout:!0,glyphMargin:!1,folding:!1,lineNumbers:"off",lineDecorationsWidth:14,lineNumbersMinChars:0,scrollBeyondLastLine:!1,minimap:{enabled:!1},tabSize:2,insertSpaces:!0}),i.onDidChangeModelContent(()=>{const a=i==null?void 0:i.getValue();e.value=o(a||"")})}),W.watch(e,r=>{if(i){const a=n(r),l=i.getValue();a!==l&&!i.hasTextFocus()&&i.setValue(a)}}),W.onBeforeUnmount(()=>{i&&i.dispose()}),(r,a)=>(W.openBlock(),W.createElementBlock("div",yFe,[a[0]||(a[0]=W.createElementVNode("div",{class:"function-container monaco-component"},[W.createElementVNode("span",{class:"function-name"},"function"),W.createTextVNode(" transformData"),W.createElementVNode("span",{class:"yellow"},"("),W.createTextVNode("data"),W.createElementVNode("span",{class:"yellow"},") {")],-1)),W.createElementVNode("div",{ref_key:"editorContainer",ref:t,class:"monaco-editor-container"},null,512),a[1]||(a[1]=W.createElementVNode("div",{class:"function-container monaco-component yellow"},"}",-1))]))}}),[["__scopeId","data-v-e60027fc"]]);function xFe(s,e){if(!s)return e;try{let t=s;const i="function transformData(data) {",n="}";return t.startsWith(i)&&t.endsWith(n)&&(t=t.substring(i.length,t.length-n.length).trim()),new Function("data",t)(e)}catch(t){return console.error("执行数据转换函数失败:",t),e}}function kFe(s){if(!s)return!1;try{let e=s;const t="function transformData(data) {",i="}";return e.startsWith(t)&&e.endsWith(i)&&(e=e.substring(t.length,e.length-i.length).trim()),new Function("data",e),!0}catch(e){return console.error("数据转换函数无效:",e),!1}}/*!-----------------------------------------------------------------------------
1166
+ }`);const r=n(e.value)||"return data";i=OG.create(t.value,{value:r,language:"javascript",theme:"vs-dark",automaticLayout:!0,glyphMargin:!1,folding:!1,lineNumbers:"off",lineDecorationsWidth:14,lineNumbersMinChars:0,scrollBeyondLastLine:!1,minimap:{enabled:!1},tabSize:2,insertSpaces:!0}),i.onDidChangeModelContent(()=>{const a=i==null?void 0:i.getValue();e.value=o(a||"")})}),W.watch(e,r=>{if(i){const a=n(r),l=i.getValue();a!==l&&!i.hasTextFocus()&&i.setValue(a)}}),W.onBeforeUnmount(()=>{i&&i.dispose()}),(r,a)=>(W.openBlock(),W.createElementBlock("div",yFe,[a[0]||(a[0]=W.createElementVNode("div",{class:"function-container monaco-component"},[W.createElementVNode("span",{class:"function-name"},"function"),W.createTextVNode(" transformData"),W.createElementVNode("span",{class:"yellow"},"("),W.createTextVNode("data"),W.createElementVNode("span",{class:"yellow"},") {")],-1)),W.createElementVNode("div",{ref_key:"editorContainer",ref:t,class:"monaco-editor-container"},null,512),a[1]||(a[1]=W.createElementVNode("div",{class:"function-container monaco-component yellow"},"}",-1))]))}}),[["__scopeId","data-v-f4e90002"]]);function xFe(s,e){if(!s)return e;try{let t=s;const i="function transformData(data) {",n="}";return t.startsWith(i)&&t.endsWith(n)&&(t=t.substring(i.length,t.length-n.length).trim()),new Function("data",t)(e)}catch(t){return console.error("执行数据转换函数失败:",t),e}}function kFe(s){if(!s)return!1;try{let e=s;const t="function transformData(data) {",i="}";return e.startsWith(t)&&e.endsWith(i)&&(e=e.substring(t.length,e.length-i.length).trim()),new Function("data",e),!0}catch(e){return console.error("数据转换函数无效:",e),!1}}/*!-----------------------------------------------------------------------------
1167
1167
  * Copyright (c) Microsoft Corporation. All rights reserved.
1168
1168
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
1169
1169
  * Released under the MIT license