@univerjs/uniscript 0.5.1-nightly.202412110405 → 0.5.1-nightly.202412111529
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/lib/cjs/index.js +1 -1
- package/lib/{cssMode-DqSBeKhM.js → cssMode-5JGuvZXO.js} +1 -1
- package/lib/es/index.js +4 -3
- package/lib/{freemarker2-B6kGULTa.js → freemarker2-B4iGMWdp.js} +1 -1
- package/lib/{handlebars-iqx4P972.js → handlebars-C1Z0ikpH.js} +1 -1
- package/lib/{html-ZTQfJjOQ.js → html-7C45TpWO.js} +1 -1
- package/lib/{htmlMode-xi5-VQ6d.js → htmlMode-ssX22p7s.js} +1 -1
- package/lib/{index-C37lYkbb.js → index-DpZadhE8.js} +16 -16
- package/lib/{javascript-Bg2UeR_x.js → javascript-CpwPrCMy.js} +1 -1
- package/lib/{jsonMode-CfWIKKDz.js → jsonMode-YVV5OBid.js} +1 -1
- package/lib/{liquid-Cntye9oI.js → liquid-DMWODXOo.js} +1 -1
- package/lib/{mdx-C3Al9jfP.js → mdx-CX1LzeCe.js} +1 -1
- package/lib/{python-BTciTzvS.js → python-3H8oBIOY.js} +1 -1
- package/lib/{razor-Bis1wzXp.js → razor-C-dUvHDU.js} +1 -1
- package/lib/{tsMode-_uKkeVnT.js → tsMode-DS_2VlCE.js} +1 -1
- package/lib/types/services/script-editor.service.d.ts +1 -0
- package/lib/{typescript-CVo7CJMX.js → typescript-BcEExEyr.js} +1 -1
- package/lib/umd/index.js +1 -1
- package/lib/{xml-AE_lSsgT.js → xml-DNRshnI8.js} +1 -1
- package/lib/{yaml-Bbd27er8.js → yaml-byjaPyUJ.js} +1 -1
- package/package.json +6 -6
package/lib/umd/index.js
CHANGED
@@ -1160,7 +1160,7 @@ ${e.toString()}`}}class rL{constructor(e=new L_,t=!1,i,n=dCe){var o;this._servic
|
|
1160
1160
|
`));const m=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return Qx.fromFn(async()=>{const _=await m.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},qe.None);if(!_.identical)return new RPe(Ue.fromRangeInclusive(d),h(u),_.changes)})}),this._fetchStore=this._register(new q),this._inlineEditsFetchResult=rC(this,void 0),this._inlineEdits=lr({owner:this,equalsFn:Zx},l=>{var c,d;return(d=(c=this._inlineEditsFetchResult.read(l))==null?void 0:c.completions.map(u=>new FPe(u)))!=null?d:[]}),this._fetchInlineEditsPromise=Kz({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:Ma.Automatic}),handleChange:(l,c)=>(l.didChange(this._forceUpdateExplicitlySignal)&&(c.inlineCompletionTriggerKind=Ma.Explicit),!0)},async(l,c)=>{var m;this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(l),this._textModelVersionId.read(l);function d(_,b){return b(_)}const u=(m=this._pinnedRange.range.read(l))!=null?m:d(this._selection.read(l),_=>_.isEmpty()?void 0:_);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 Wc(200,g);const f=await AX(this.languageFeaturesService.inlineCompletionsProvider,u,this.textModel,h,g);g.isCancellationRequested||this._inlineEditsFetchResult.set(f,void 0)}),this._filteredInlineEditItems=lr({owner:this,equalsFn:Gx()},l=>this._inlineEdits.read(l)),this.selectedInlineCompletionIndex=we(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=we(this,l=>{const c=this._filteredInlineEditItems.read(l),d=this.selectedInlineCompletionIndex.read(l);return c[d]}),this._register(i_(this._fetchInlineEditsPromise))}async triggerExplicitly(e){Ig(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){Ig(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 Ct;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},xS=Wp,Wp._modelId=0,Wp);N8=xS=OPe([T8(4,pe),T8(5,y1),T8(6,qt)],N8);class FPe{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class BPe extends F{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Ye(this,[]),this.range=we(this,i=>{var o;this._versionId.read(i);const n=this._decorations.read(i)[0];return n&&(o=this._textModel.getDecorationRange(n))!=null?o: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 WPe=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},kS=function(s,e){return function(t,i){e(t,i,s)}},R8;let Rd=(Hp=class extends F{static get(e){return e.getContribution(R8.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=rxe("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Po(this.editor),this._selection=we(this,a=>{var l;return(l=this._editorObs.cursorSelection.read(a))!=null?l:new be(1,1,1,1)}),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=_s(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(Mo(N8,a),l,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=dC(this,(a,l)=>{var c;return l||((c=this.model.read(a))==null?void 0:c.inlineEdit.read(a))!==void 0}),this._widget=_s(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(Mo(D8,a),this.editor,this.model.map((l,c)=>l==null?void 0:l.inlineEdit.read(c)),HPe(l=>{var c,d;return(d=(c=this.model.read(l))==null?void 0:c.userPrompt)!=null?d:Ye("empty","")}))}),this._register(cl(Pb,this._contextKeyService,a=>{var l;return!!((l=this.model.read(a))!=null&&l.inlineEdit.read(a))})),this._register(cl(IPe,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)}},R8=Hp,Hp.ID="editor.contrib.inlineEditsController",Hp);Rd=R8=WPe([kS(1,ye),kS(2,Ne),kS(3,nr),kS(4,pe),kS(5,Ze)],Rd);function HPe(s){return aC(void 0,e=>s(e).read(e),(e,t)=>{s(void 0).set(e,t)})}function LS(s){return{label:s.value,alias:s.original}}const QT=class QT extends ge{constructor(){super({id:QT.ID,...LS(Me("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:K.and(I.writable,Pb),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Rd.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};QT.ID=EPe;let A8=QT;const JT=class JT extends ge{constructor(){super({id:JT.ID,...LS(Me("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:K.and(I.writable,Pb),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Rd.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};JT.ID=LPe;let M8=JT;class VPe extends ge{constructor(){super({id:"editor.action.inlineEdits.trigger",...LS(Me("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:I.writable})}async run(e,t){const i=Rd.get(t);await qz(async n=>{var o;await((o=i==null?void 0:i.model.get())==null?void 0:o.triggerExplicitly(n))})}}class $Pe extends ge{constructor(){super({id:kPe,...LS(Me("action.inlineEdits.accept","Accept Inline Edit")),precondition:Pb,menuOpts:{menuId:_e.InlineEditsActions,title:p("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:ie.check},kbOpts:{primary:2058,weight:2e4,kbExpr:Pb}})}async run(e,t){var n;t instanceof ma&&(t=t.getParentEditor());const i=Rd.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const eN=class eN extends ge{constructor(){super({id:eN.ID,...LS(Me("action.inlineEdits.hide","Hide Inline Edit")),precondition:Pb,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Rd.get(t);_i(n=>{var o;(o=i==null?void 0:i.model.get())==null||o.stop(n)})}};eN.ID="editor.action.inlineEdits.hide";let P8=eN;ct(Rd.ID,Rd,3),Q(VPe),Q(A8),Q(M8),Q($Pe),Q(P8);const Hf={Visible:new ue("parameterHintsVisible",!1),MultipleSignatures:new ue("parameterHintsMultipleSignatures",!1)};async function LQ(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){Ti(a)}}lt.registerCommand("_executeSignatureHelpProvider",async(s,...e)=>{const[t,i,n]=e;ft(ke.isUri(t)),ft(M.isIPosition(i)),ft(typeof n=="string"||!n);const o=s.get(pe),r=await s.get(Qs).createModelReference(t);try{const a=await LQ(o.signatureHelpProvider,r.object.textEditorModel,M.lift(i),{triggerKind:Il.Invoke,isRetrigger:!1,triggerCharacter:n},qe.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var ch;(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})(ch||(ch={}));const tN=class tN extends F{constructor(e,t,i=tN.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new O),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=ch.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new nn),this.triggerChars=new B0,this.retriggerChars=new B0,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Dr(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=ch.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(He)}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 ch.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(zPe);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 ch.Pending(on(l=>LQ(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 ch.Active(l.value),this._lastSignatureHelpResult.value=l,this._onChangedHints.fire(this.state.hints),!0)}catch(l){return e===this.triggerId&&(this.state=ch.Default),He(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:Il.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:Il.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:Il.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};tN.DEFAULT_DELAY=120;let O8=tN;function zPe(s,e){switch(e.triggerKind){case Il.Invoke:return e;case Il.ContentChange:return s;case Il.TriggerCharacter:default:return e}}var UPe=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},UI=function(s,e){return function(t,i){e(t,i,s)}},F8;const Cr=se,jPe=Yt("parameter-hints-next",ie.chevronDown,p("parameterHintsNextIcon","Icon for show next parameter hint.")),qPe=Yt("parameter-hints-previous",ie.chevronUp,p("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let B8=(Vp=class extends F{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 ed({editor:e},o,n)),this.keyVisible=Hf.Visible.bindTo(i),this.keyMultipleSignatures=Hf.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Cr(".editor-widget.parameter-hints-widget"),t=X(e,Cr(".phwrapper"));t.tabIndex=-1;const i=X(t,Cr(".controls")),n=X(i,Cr(".button"+Te.asCSSSelector(qPe))),o=X(i,Cr(".overloads")),r=X(i,Cr(".button"+Te.asCSSSelector(jPe)));this._register(z(n,"click",h=>{ot.stop(h),this.previous()})),this._register(z(r,"click",h=>{ot.stop(h),this.next()}));const a=Cr(".body"),l=new Uw(a,{alwaysConsumeMouseWheel:!0});this._register(l),t.appendChild(l.getDomNode());const c=X(a,Cr(".signature")),d=X(a,Cr(".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",Ds.fontFamily)};u(),this._register(ae.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){var c;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,Cr(".code")),o=i.parameters.length>0,r=(c=i.activeParameter)!=null?c:e.activeParameter;if(o)this.renderParameters(n,i,r);else{const d=X(n,Cr("span"));d.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const d=Cr("span.documentation");if(typeof a.documentation=="string")d.textContent=a.documentation;else{const u=this.renderMarkdownDocs(a.documentation);d.appendChild(u.element)}X(this.domNodes.docs,Cr("p",{},d))}if(i.documentation!==void 0)if(typeof i.documentation=="string")X(this.domNodes.docs,Cr("p",{},i.documentation));else{const d=this.renderMarkdownDocs(i.documentation);X(this.domNodes.docs,d.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 d="";const u=i.parameters[r];Array.isArray(u.label)?d=i.label.substring(u.label[0],u.label[1]):d=u.label,u.documentation&&(d+=typeof u.documentation=="string"?`, ${u.documentation}`:`, ${u.documentation.value}`),i.documentation&&(d+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==d&&(Os(p("hint","{0}, hint",d)),this.announcedLabel=d)}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"&&eu(t.documentation).length>0||t&&typeof t.documentation=="object"&&eu(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&eu(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&eu(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|^)${Yo(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 F8.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)}},F8=Vp,Vp.ID="editor.widget.parameterHintsWidget",Vp);B8=F8=UPe([UI(2,Ne),UI(3,no),UI(4,ri),UI(5,is)],B8),D("editorHoverWidget.highlightForeground",Wm,p("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var KPe=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},EQ=function(s,e){return function(t,i){e(t,i,s)}},W8;let Fb=($p=class extends F{static get(e){return e.getContribution(W8.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new O8(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 Pa(()=>this._register(t.createInstance(B8,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)}},W8=$p,$p.ID="editor.controller.parameterHints",$p);Fb=W8=KPe([EQ(1,ye),EQ(2,pe)],Fb);class GPe extends ge{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=Fb.get(t);i==null||i.trigger({triggerKind:Il.Invoke})}}ct(Fb.ID,Fb,2),Q(GPe);const H8=175,V8=Xi.bindToContribution(Fb.get);ce(new V8({id:"closeParameterHints",precondition:Hf.Visible,handler:s=>s.cancel(),kbOpts:{weight:H8,kbExpr:I.focus,primary:9,secondary:[1033]}})),ce(new V8({id:"showPrevParameterHint",precondition:K.and(Hf.Visible,Hf.MultipleSignatures),handler:s=>s.previous(),kbOpts:{weight:H8,kbExpr:I.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),ce(new V8({id:"showNextParameterHint",precondition:K.and(Hf.Visible,Hf.MultipleSignatures),handler:s=>s.next(),kbOpts:{weight:H8,kbExpr:I.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var ZPe=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},YPe=function(s,e){return function(t,i){e(t,i,s)}};class XPe{constructor(e){this.instantiationService=e}init(...e){}}function QPe(s,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=so((n,o)=>{const r=Mo(s(),n);o.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function JPe(s){return KL()?QPe(s,$8):s()}let $8=class extends XPe{constructor(e,t){super(t),this.init(e)}};$8=ZPe([YPe(1,ye)],$8),ct(yS.ID,JPe(()=>yS),0),D("editor.placeholder.foreground",Yme,p("placeholderForeground","Foreground color of the placeholder text in the editor."));var e2e=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},jI=function(s,e){return function(t,i){e(t,i,s)}};const Bb=new ue("renameInputVisible",!1,p("renameInputVisible","Whether the rename input widget is visible"));new ue("renameInputFocused",!1,p("renameInputFocused","Whether the rename input widget is focused"));let z8=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=Bb.bindTo(o),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new hn,this._inputWithButton=new t2e,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 U8(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,n;((e=this._renameCandidateListView)==null?void 0:e.focusedCandidate)!==void 0&&(this._isEditingRenameCandidate=!0),(t=this._timeBeforeFirstInputFieldEdit)!=null||(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),((i=this._renameCandidateProvidersCts)==null?void 0:i.token.isCancellationRequested)===!1&&this._renameCandidateProvidersCts.cancel(),(n=this._renameCandidateListView)==null||n.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){var o,r,a,l,c;if(!this._domNode)return;const t=e.getColor(Om),i=e.getColor(x$);this._domNode.style.backgroundColor=String((o=e.getColor(sr))!=null?o:""),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:"",this._domNode.style.border=i?`1px solid ${i}`:"",this._domNode.style.color=String((r=e.getColor(A$))!=null?r:"");const n=e.getColor(M$);this._inputWithButton.domNode.style.backgroundColor=String((a=e.getColor(aP))!=null?a:""),this._inputWithButton.input.style.backgroundColor=String((l=e.getColor(aP))!=null?l:""),this._inputWithButton.domNode.style.borderWidth=n?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=n?"solid":"none",this._inputWithButton.domNode.style.borderColor=(c=n==null?void 0:n.toString())!=null?c:"none"}_updateFont(){if(this._domNode===void 0)return;ft(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=uu(this.getDomNode().ownerDocument.body),t=Ni(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}=ES.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;ft(this._renameCandidateListView),ft(this._nPxAvailableAbove!==void 0),ft(this._nPxAvailableBelow!==void 0);const t=Vc(this._inputWithButton.domNode),i=Vc(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:So(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(z(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),l.add(z(this._inputWithButton.button,ne.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 M(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 gm;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"),ft(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),ft(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new hi;const i=t?Xv.Invoke:Xv.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){ft(this._editor.hasModel());const i=this._editor.getSelection();let n=0,o=t.length;return!L.isEmpty(i)&&!L.spansMultipleLines(i)&&L.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 ow(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"&&kl(c.value)?c.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=Nc(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)}};z8=e2e([jI(2,Qi),jI(3,xt),jI(4,Ne),jI(5,Fn)],z8);class U8{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=U8._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(Mg({listInactiveFocusForeground:Vw,listInactiveFocusBackground:$w}))}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`,jl(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}=ES.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 ES(r,i)}renderElement(r,a,l){l.populate(r)}disposeTemplate(r){r.dispose()}};return new cr("NewSymbolNameCandidates",e,n,[o],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class t2e{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=Xa().setupManagedHover(Fs("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(z(this.input,ne.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(z(this.input,ne.KEY_DOWN,e=>{const t=new $t(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(z(this.input,ne.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(z(this.input,ne.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(z(this.input,ne.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return ft(this._inputNode),this._inputNode}get button(){return ft(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e,t;this._buttonState="sparkle",(e=this._sparkleIcon)!=null||(this._sparkleIcon=Sg(ie.sparkle)),Sn(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),(t=this._buttonHover)==null||t.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){var e,t;this._buttonState="stop",(e=this._stopIcon)!=null||(this._stopIcon=Sg(ie.primitiveSquare)),Sn(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),(t=this._buttonHover)==null||t.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}const Cy=class Cy{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=`${Cy._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=Sg(ie.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),xn(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+Cy._PADDING*2}}dispose(){}};Cy._PADDING=2;let ES=Cy;var i2e=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},dh=function(s,e){return function(t,i){e(t,i,s)}},j8;class q8{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 L(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
|
1161
1161
|
`):void 0}:{range:L.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(`
|
1162
1162
|
`):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(`
|
1163
|
-
`)};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 n2e(s,e,t,i){const n=new q8(e,t,s),o=await n.resolveRenameLocation(qe.None);return o!=null&&o.rejectReason?{edits:[],rejectReason:o.rejectReason}:n.provideRenameEdits(i,qe.None)}let uh=(zp=class{static get(e){return e.getContribution(j8.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(z8,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 q8(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new Qu(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 Jr?e("resolve rename location cancelled",JSON.stringify(_,null," ")):(e("resolve rename location failed",_ instanceof Error?_:JSON.stringify(_,null," ")),(typeof _=="string"||Za(_))&&((f=Oo.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=Oo.get(this.editor))==null||m.showMessage(o.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new Qu(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 _=>{var b;return[_,(b=await _.supportsAutomaticNewSymbolNamesTriggerKind)!=null?b:!1]})),d=(_,b)=>{let v=c.slice();return _===Xv.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=ow(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(L.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&&Os(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)}},j8=zp,zp.ID="editor.contrib.renameController",zp);uh=j8=i2e([dh(1,ye),dh(2,Fi),dh(3,Jw),dh(4,Eu),dh(5,Fn),dh(6,K0),dh(7,pe),dh(8,is)],uh);class s2e extends ge{constructor(){super({id:"editor.action.rename",label:p("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:K.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(mt),[n,o]=Array.isArray(t)&&t||[void 0,void 0];return ke.isUri(n)&&M.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))))},He):super.runCommand(e,t)}run(e,t){const i=e.get(Fn),n=uh.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}ct(uh.ID,uh,4),Q(s2e);const K8=Xi.bindToContribution(uh.get);ce(new K8({id:"acceptRenameInput",precondition:Bb,handler:s=>s.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:K.and(I.focus,K.not("isComposing")),primary:3}})),ce(new K8({id:"acceptRenameInputWithPreview",precondition:K.and(Bb,K.has("config.editor.rename.enablePreview")),handler:s=>s.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:K.and(I.focus,K.not("isComposing")),primary:2051}})),ce(new K8({id:"cancelRenameInput",precondition:Bb,handler:s=>s.cancelRenameInput(),kbOpts:{weight:199,kbExpr:I.focus,primary:9,secondary:[1033]}})),zt(class extends As{constructor(){super({id:"focusNextRenameSuggestion",title:{...Me("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Bb,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(mt).getFocusedCodeEditor();if(!t)return;const i=uh.get(t);i&&i.focusNextRenameSuggestion()}}),zt(class extends As{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Me("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Bb,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(mt).getFocusedCodeEditor();if(!t)return;const i=uh.get(t);i&&i.focusPreviousRenameSuggestion()}}),to("_executeDocumentRenameProvider",function(s,e,t,...i){const[n]=i;ft(typeof n=="string");const{renameProvider:o}=s.get(pe);return n2e(o,e,t,n)}),to("_executePrepareRename",async function(s,e,t){const{renameProvider:i}=s.get(pe),o=await new q8(e,t,i).resolveRenameLocation(qe.None);if(o!=null&&o.rejectReason)throw new Error(o.rejectReason);return o}),gi.as(oa.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 o2e=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},IQ=function(s,e){return function(t,i){e(t,i,s)}};let qI=(Rv=class extends F{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=>r2e(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()}},Rv.ID="editor.sectionHeaderDetector",Rv);qI=o2e([IQ(1,fi),IQ(2,ro)],qI);function r2e(s){return{range:s.range,options:$e.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:s.hasSeparatorLine?2:1,sectionHeaderText:s.text}})}}ct(qI.ID,qI,1);function a2e(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 l2e(s){const e=new Uint8Array(s.buffer,s.byteOffset,s.length*4);return z6()||a2e(e),T0.wrap(e)}function DQ(s){const e=new Uint32Array(c2e(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 l2e(e)}function c2e(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 KI(s){return s&&!!s.data}function TQ(s){return s&&Array.isArray(s.edits)}class d2e{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function NQ(s,e){return s.has(e)}function u2e(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:[]}async function RQ(s,e,t,i,n){const o=u2e(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||!KI(l)&&!TQ(l))&&(l=null),new d2e(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 h2e(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:null}class g2e{constructor(e,t){this.provider=e,this.tokens=t}}function f2e(s,e){return s.has(e)}function AQ(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:[]}async function G8(s,e,t,i){const n=AQ(s,e),o=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(l){Ti(l),a=null}return(!a||!KI(a))&&(a=null),new g2e(r,a)}));for(const r of o)if(r.tokens)return r;return o.length>0?o[0]:null}lt.registerCommand("_provideDocumentSemanticTokensLegend",async(s,...e)=>{const[t]=e;ft(t instanceof ke);const i=s.get(qt).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=s.get(pe),o=h2e(n,i);return o?o[0].getLegend():s.get(Ut).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)}),lt.registerCommand("_provideDocumentSemanticTokens",async(s,...e)=>{const[t]=e;ft(t instanceof ke);const i=s.get(qt).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=s.get(pe);if(!NQ(n,i))return s.get(Ut).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const o=await RQ(n,i,null,null,qe.None);if(!o)return;const{provider:r,tokens:a}=o;if(!a||!KI(a))return;const l=DQ({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),l}),lt.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(s,...e)=>{const[t,i]=e;ft(t instanceof ke);const n=s.get(qt).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:o}=s.get(pe),r=AQ(o,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!L.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 G8(o,n,L.lift(i),qe.None);if(a)return a.provider.getLegend()}),lt.registerCommand("_provideDocumentRangeSemanticTokens",async(s,...e)=>{const[t,i]=e;ft(t instanceof ke),ft(L.isIRange(i));const n=s.get(qt).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:o}=s.get(pe),r=await G8(o,n,L.lift(i),qe.None);if(!(!r||!r.tokens))return DQ({id:0,type:"full",data:r.tokens.data})});const Z8="editor.semanticHighlighting";function GI(s,e,t){var n;const i=(n=t.getValue(Z8,{overrideIdentifier:s.getLanguageId(),resource:s.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var MQ=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},mc=function(s,e){return function(t,i){e(t,i,s)}},hh;let Y8=class extends F{constructor(e,t,i,n,o,r){super(),this._watchers=Object.create(null);const a=d=>{this._watchers[d.uri.toString()]=new X8(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()];GI(d,i,n)?u||a(d):u&&l(d,u)}};t.getModels().forEach(d=>{GI(d,i,n)&&a(d)}),this._register(t.onModelAdded(d=>{GI(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(Z8)&&c()})),this._register(i.onDidColorThemeChange(c))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Y8=MQ([mc(0,nx),mc(1,qt),mc(2,Qi),mc(3,Ze),mc(4,nr),mc(5,pe)],Y8);let X8=($h=class extends F{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:hh.REQUEST_MIN_DELAY,max:hh.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Pt(()=>this._fetchDocumentSemanticTokensNow(),hh.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=()=>{Bt(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),Bt(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!NQ(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=RQ(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&&(Lr(l)||typeof l.message=="string"&&l.message.indexOf("busy")!==-1)||He(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(TQ(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&&(hh._copy(l,d-f,c,u-f,f),u-=f),g.data&&(hh._copy(g.data,0,c,u-g.data.length,g.data.length),u-=g.data.length),d=g.start}d>0&&hh._copy(l,0,c,0,d),t={resultId:t.resultId,data:c}}}if(KI(t)){this._currentDocumentResponse=new p2e(e,t.resultId,t.data);const a=QV(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()}},hh=$h,$h.REQUEST_MIN_DELAY=300,$h.REQUEST_MAX_DELAY=2e3,$h);X8=hh=MQ([mc(1,nx),mc(2,Qi),mc(3,nr),mc(4,pe)],X8);class p2e{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}E_(Y8);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},IS=function(s,e){return function(t,i){e(t,i,s)}};let ZI=(Av=class extends F{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(Z8)&&(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(!GI(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!f2e(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=on(r=>Promise.resolve(G8(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,QV(l,c,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},Av.ID="editor.contrib.viewportSemanticTokens",Av);ZI=m2e([IS(1,nx),IS(2,Qi),IS(3,Ze),IS(4,nr),IS(5,pe)],ZI),ct(ZI.ID,ZI,1);class _2e{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(au(u)&&Tl(d))break;d=u}for(l+=1;c<o.length;c++){const u=o.charCodeAt(c);if(Tl(u)&&au(d))break;if(u===95||u===45)break;d=u}l<c&&e.push({range:new L(i.lineNumber,r+l,i.lineNumber,r+c)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new L(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 L(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var b2e=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},v2e=function(s,e){return function(t,i){e(t,i,s)}},Q8;class J8{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 J8(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let DS=(Up=class{static get(e){return e.getContribution(Q8.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 OQ(this._languageFeaturesService.selectionRangeProvider,i,t.map(o=>o.getPosition()),this._editor.getOption(114),qe.None).then(o=>{var r;if(!(!us(o)||o.length!==t.length)&&!(!this._editor.hasModel()||!oi(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 J8(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=>be.fromPositions(o.ranges[o.index].getStartPosition(),o.ranges[o.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Q8=Up,Up.ID="editor.contrib.smartSelectController",Up);DS=Q8=b2e([v2e(1,pe)],DS);class PQ extends ge{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=DS.get(t);i&&await i.run(this._forward)}}class w2e extends PQ{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:_e.MenubarSelectionMenu,group:"1_basic",title:p({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}lt.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class C2e extends PQ{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:_e.MenubarSelectionMenu,group:"1_basic",title:p({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}ct(DS.ID,DS,4),Q(w2e),Q(C2e);async function OQ(s,e,t,i,n){const o=s.all(e).concat(new _2e(i.selectSubwords));o.length===1&&o.unshift(new pI);const r=[],a=[];for(const l of o)r.push(Promise.resolve(l.provideSelectionRanges(e,t,n)).then(c=>{if(us(c)&&c.length===t.length)for(let d=0;d<t.length;d++){a[d]||(a[d]=[]);for(const u of c[d])L.isIRange(u.range)&&L.containsPosition(u.range,t[d])&&a[d].push(L.lift(u.range))}},Ti));return await Promise.all(r),a.map(l=>{if(l.length===0)return[];l.sort((h,g)=>M.isBefore(h.getStartPosition(),g.getStartPosition())?1:M.isBefore(g.getStartPosition(),h.getStartPosition())||M.isBefore(h.getEndPosition(),g.getEndPosition())?-1:M.isBefore(g.getEndPosition(),h.getEndPosition())?1:0);const c=[];let d;for(const h of l)(!d||L.containsRange(h,d)&&!L.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 L(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 L(g.startLineNumber,1,g.endLineNumber,e.getLineMaxColumn(g.endLineNumber));_.containsRange(g)&&!_.equalsRange(m)&&f.containsRange(_)&&!f.equalsRange(_)&&u.push(_)}u.push(f)}return u})}lt.registerCommand("_executeSelectionRangeProvider",async function(s,...e){const[t,i]=e;ft(ke.isUri(t));const n=s.get(pe).selectionRangeProvider,o=await s.get(Qs).createModelReference(t);try{return OQ(n,o.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},qe.None)}finally{o.dispose()}});const S2e=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 TS{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&&oi(this.startLineNumbers,e.startLineNumbers)&&oi(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new TS([],[],0)}}const FQ=Kc("stickyScrollViewLayer",{createHTML:s=>s}),eW="data-sticky-line-index",BQ="data-sticky-is-line",y2e="data-sticky-is-line-number",WQ="data-sticky-is-folding-icon";class x2e extends F{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 ma),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(z(this._lineNumbersDomNode,ne.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(z(this._lineNumbersDomNode,ne.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 M(t,1)).lineNumber,a=o.getViewLineRenderingData(r),l=this._editor.getOption(68);let c;try{c=Ws.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{c=[]}const d=new Vu(!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 ym(2e3),h=YC(d,u);let g;FQ?g=FQ.createHTML(u.build()):g=u.build();const f=document.createElement("span");f.setAttribute(eW,String(e)),f.setAttribute(BQ,""),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(eW,String(e)),m.setAttribute(y2e,""),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 k2e(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 L2e(l,r,n.getEndLineNumber(o),this._lineHeight);return c.setVisible(this._isOnGlyphMargin?!0:l||i==="always"),c.domNode.setAttribute(WQ,""),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=VF(t.characterMapping,e,0);return new M(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t,i;return(i=(t=this._getRenderedStickyLineFromChildDomNode(e))==null?void 0:t.lineNumber)!=null?i: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,eW);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,BQ)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,WQ)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class k2e{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 L2e{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=Te.asClassName(e?eI:JE)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class NS{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class YI{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class HQ{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var XI=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},RS=function(s,e){return function(t,i){e(t,i,s)}},AS;(function(s){s.OUTLINE_MODEL="outlineModel",s.FOLDING_PROVIDER_MODEL="foldingProviderModel",s.INDENTATION_MODEL="indentationModel"})(AS||(AS={}));var gh;(function(s){s[s.VALID=0]="VALID",s[s.INVALID=1]="INVALID",s[s.CANCELED=2]="CANCELED"})(gh||(gh={}));let tW=class extends F{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Dr(300)),this._updateOperation=this._register(new q),this._editor.getOption(116).defaultModel){case AS.OUTLINE_MODEL:this._modelProviders.push(new iW(this._editor,n));case AS.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new sW(this._editor,t,n));case AS.INDENTATION_MODEL:this._modelProviders.push(new nW(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 gh.CANCELED:return this._updateOperation.clear(),null;case gh.VALID:return t.stickyModel}}return null}).catch(t=>(He(t),null))}};tW=XI([RS(2,ye),RS(3,pe)],tW);class VQ extends F{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,gh.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=on(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?gh.CANCELED:(this._stickyModel=this.createStickyModel(e,i),gh.VALID):this._invalid()).then(void 0,i=>(He(i),gh.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let iW=class extends VQ{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return Id.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 HQ(o.uri,o.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(at.first(e.children.values())instanceof kX){const a=at.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 NS(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),d=new NS(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 YI(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 NS(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new YI(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 vB?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};iW=XI([RS(1,pe)],iW);class $Q extends VQ{constructor(e){super(e),this._foldingLimitReporter=new SX(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new HQ(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new YI(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 YI(new NS(e.getStartLineNumber(o),e.getEndLineNumber(o)+1),[],a);a.children.push(l),i.push(l)}return n}}let nW=class extends $Q{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new fB(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};nW=XI([RS(1,fi)],nW);let sW=class extends $Q{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=sh.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new _B(e.getModel(),n,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t,i;return(i=(t=this.provider)==null?void 0:t.compute(e))!=null?i:null}};sW=XI([RS(2,pe)],sW);var E2e=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},zQ=function(s,e){return function(t,i){e(t,i,s)}};class I2e{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let oW=class extends F{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 tW(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(Hv(a,e.startLineNumber,(d,u)=>d-u)),c=this.updateIndex(Hv(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 I2e(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}};oW=E2e([zQ(1,pe),zQ(2,fi)],oW);var D2e=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},Wb=function(s,e){return function(t,i){e(t,i,s)}},rW;let Ad=(jp=class extends F{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 x2e(this._editor),this._stickyLineCandidateProvider=new oW(this._editor,i,o),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=TS.Empty,this._onDidResize(),this._readConfiguration();const l=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(d=>{this._readConfigurationChange(d)})),this._register(z(l,ne.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(Wa(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(z(l,ne.MOUSE_DOWN,d=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(rW.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(L.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new q),t=this._register(new TE(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 L(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(Ci(n,ne.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 M(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 M(c,1)}this._revealPosition(l)})),this._register(Ci(n,ne.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(z(n,ne.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;X1(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new M(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(BY,o,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new ta(e,t);this._contextMenuService.showContextMenu({menuId:_e.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;uB(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,n;this._minRebuildFromLine=void 0,this._foldingModel=(n=await((i=sh.get(this._editor))==null?void 0:i.getFoldingModel()))!=null?n: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=TS.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 NS(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 TS(o,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},rW=jp,jp.ID="store.contrib.stickyScrollController",jp);Ad=rW=D2e([Wb(1,Lo),Wb(2,pe),Wb(3,ye),Wb(4,fi),Wb(5,nr),Wb(6,Ne)],Ad);class T2e extends As{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:S2e.View,toggled:{condition:K.equals("config.editor.stickyScroll.enabled",!0),title:p("stickyScroll","Sticky Scroll"),mnemonicTitle:p({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:_e.CommandPalette},{id:_e.MenubarAppearanceMenu,group:"4_editor",order:3},{id:_e.StickyScrollContext}]})}async run(e){const t=e.get(Ze),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const QI=100;class N2e extends $a{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:K.and(K.has("config.editor.stickyScroll.enabled"),I.stickyScrollVisible),menu:[{id:_e.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Ad.get(t))==null||i.focus()}}class R2e extends $a{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Me("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:QI,primary:18}})}runEditorCommand(e,t){var i;(i=Ad.get(t))==null||i.focusNext()}}class A2e extends $a{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Me("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:QI,primary:16}})}runEditorCommand(e,t){var i;(i=Ad.get(t))==null||i.focusPrevious()}}class M2e extends $a{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Me("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:QI,primary:3}})}runEditorCommand(e,t){var i;(i=Ad.get(t))==null||i.goToFocused()}}class P2e extends $a{constructor(){super({id:"editor.action.selectEditor",title:Me("selectEditor.title","Select Editor"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:QI,primary:9}})}runEditorCommand(e,t){var i;(i=Ad.get(t))==null||i.selectEditor()}}ct(Ad.ID,Ad,1),zt(T2e),zt(N2e),zt(A2e),zt(R2e),zt(M2e),zt(P2e);var UQ=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},MS=function(s,e){return function(t,i){e(t,i,s)}};class O2e{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 aW=class extends foe{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(){var a;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=at.slice(t,i),o=at.slice(t,0,i);let r=5;for(const l of at.concat(n,o)){if(l.score===Ga.Default)continue;const c=new L(l.editStart.lineNumber,l.editStart.column,l.editInsertEnd.lineNumber,l.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),d=l.completion.insertTextRules&&l.completion.insertTextRules&4?{snippet:l.completion.insertText}:l.completion.insertText;e.push(new O2e(c,d,(a=l.filterTextLow)!=null?a:l.labelLow,l.completion.additionalTextEdits,l.completion.command,l)),r-->=0&&l.resolve(qe.None)}return e}};aW=UQ([MS(5,gI)],aW);let lW=class extends F{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(xb.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(xb.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 L(t.lineNumber,1,t.lineNumber,t.column));if(!d&&((g=this._lastResult)!=null&&g.canBeReused(e,t.lineNumber,c))){const f=new JX(h,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=f,this._lastResult.acquire(),u=this._lastResult}else{const f=await kB(this._languageFeatureService.completionProvider,e,t,new aS(void 0,_I.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 rh(f.items,t.column,new JX(h,0),mI.None,o.getOption(119),o.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},m);u=new aW(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(L.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}}};lW=UQ([MS(0,pe),MS(1,fd),MS(2,gI),MS(3,mt)],lW),E_(lW);class F2e extends ge{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()}`)}}Q(F2e);const iN=class iN extends As{constructor(){super({id:iN.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=!N_.getTabFocusMode();N_.setTabFocusMode(t),Os(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"))}};iN.ID="editor.action.toggleTabFocusMode";let cW=iN;zt(cW);var B2e=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},jQ=function(s,e){return function(t,i){e(t,i,s)}};let dW=class extends F{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){var u,h;super(),this._link=t,this._hoverService=n,this._enabled=!0,this.el=X(e,se("a.monaco-link",{tabIndex:(u=t.tabIndex)!=null?u:0,href:t.href},t.label)),this.hoverDelegate=(h=i.hoverDelegate)!=null?h:Fs("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new st(this.el,"click")),a=this._register(new st(this.el,"keypress")),l=ae.chain(a.event,g=>g.map(f=>new $t(f)).filter(f=>f.keyCode===3)),c=this._register(new st(this.el,jt.Tap)).event;this._register(ns.addTarget(this.el));const d=ae.any(r.event,l,c);this._register(d(g=>{this.enabled&&(ot.stop(g,!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!=null?e:"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};dW=B2e([jQ(3,$l),jQ(4,no)],dW);var qQ=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 W2e=26;let uW=class extends F{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(hW))}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,W2e)}};uW=qQ([KQ(1,ye)],uW);let hW=class extends F{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(ed,{}),this.element=se("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=se("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Sn(this.element)}show(e){Sn(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=X(this.element,se("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(se(`div${Te.asCSSSelector(e.icon)}`));const n=X(this.element,se("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=X(this.element,se("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(dW,this.messageActionsContainer,{...r,tabIndex:-1},{}));const o=X(this.element,se("div.action-container"));this.actionBar=this._register(new dr(o)),this.actionBar.push(this._register(new xo("banner.close","Close Banner",Te.asClassName(kq),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};hW=qQ([KQ(0,ye)],hW);var gW=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)}};const H2e=Yt("extensions-warning-message",ie.warning,p("warningIcon","Icon shown with a warning message in the extensions editor."));let PS=(Mv=class extends F{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 FS};else if(o.ambiguousCharacterCount>=r)a={message:p("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Vf};else if(o.invisibleCharacterCount>=r)a={message:p("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new OS};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:H2e,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(uW,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=V2e(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"?pse:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new fW(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new $2e(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},Mv.ID="editor.contrib.unicodeHighlighter",Mv);PS=gW([Hb(1,ro),Hb(2,Pz),Hb(3,ye)],PS);function V2e(s,e){return{nonBasicASCII:e.nonBasicASCII===Go?!s:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===Go?!s:e.includeComments,includeStrings:e.includeStrings===Go?!s:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let fW=class extends F{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:JI.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!R4(t,e))return null;const i=t.getValueInRange(e.range);return{reason:ZQ(i,this._options),inComment:A4(t,e),inString:M4(t,e)}}};fW=gW([Hb(3,ro)],fW);class $2e extends F{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=fM.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:JI.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 R4(t,e)?{reason:ZQ(i,this._options),inComment:A4(t,e),inString:M4(t,e)}:null}}const GQ=p("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let pW=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(PS.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=_W(u);let g;switch(c.reason.kind){case 0:{iw(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,_W(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,_W(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:${eD.ID}?${encodeURIComponent(JSON.stringify(f))}`,b=new ss("",!0).appendMarkdown(g).appendText(" ").appendLink(_,m,GQ);o.push(new pa(this,l.range,[b],!1,a++))}return o}renderHoverParts(e,t){return bDe(e,t,this._editor,this._languageService,this._openerService)}};pW=gW([Hb(1,ri),Hb(2,no)],pW);function mW(s){return`U+${s.toString(16).padStart(4,"0")}`}function _W(s){let e=`\`${mW(s)}\``;return eg.isInvisibleCharacter(s)||(e+=` "${`${z2e(s)}`}"`),e}function z2e(s){return s===96?"`` ` ``":"`"+String.fromCodePoint(s)+"`"}function ZQ(s,e){return fM.computeUnicodeHighlightReason(s,e)}const nN=class nN{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=$e.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}};nN.instance=new nN;let JI=nN;class U2e extends ge{constructor(){super({id:Vf.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(Ze);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ys.includeComments,!1,2)}}class j2e extends ge{constructor(){super({id:Vf.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(Ze);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ys.includeStrings,!1,2)}}const sN=class sN extends ge{constructor(){super({id:sN.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(Ze);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ys.ambiguousCharacters,!1,2)}};sN.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Vf=sN;const oN=class oN extends ge{constructor(){super({id:oN.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(Ze);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ys.invisibleCharacters,!1,2)}};oN.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let OS=oN;const rN=class rN extends ge{constructor(){super({id:rN.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(Ze);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ys.nonBasicASCII,!1,2)}};rN.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let FS=rN;const aN=class aN extends ge{constructor(){super({id:aN.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(Hr),d=e.get(Ze);function u(f){return eg.isInvisibleCharacter(f)?p("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",mW(f)):p("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${mW(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()=>{K2e(d,[f])}});if(h.push({label:u(n),run:()=>q2e(d,[n])}),a){const f=new U2e;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(r){const f=new j2e;h.push({label:f.label,run:async()=>f.runAction(d)})}if(o.kind===0){const f=new Vf;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(o.kind===1){const f=new OS;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(o.kind===2){const f=new FS;h.push({label:f.label,run:async()=>f.runAction(d)})}else G2e(o);const g=await c.pick(h,{title:GQ});g&&await g.run()}};aN.ID="editor.action.unicodeHighlight.showExcludeOptions";let eD=aN;async function q2e(s,e){const t=s.getValue(Ys.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await s.updateValue(Ys.allowedCharacters,i,2)}async function K2e(s,e){var n;const t=(n=s.inspect(Ys.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(Ys.allowedLocales,i,2)}function G2e(s){throw new Error(`Unexpected value: ${s}`)}Q(Vf),Q(OS),Q(FS),Q(eD),ct(PS.ID,PS,1),Lf.register(pW);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},YQ=function(s,e){return function(t,i){e(t,i,s)}};const XQ="ignoreUnusualLineTerminators";function Y2e(s,e,t){s.setModelProperty(e.uri,XQ,t)}function X2e(s,e){return s.getModelProperty(e.uri,XQ)}let tD=(Pv=class extends F{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()||X2e(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`.",Fr(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){Y2e(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},Pv.ID="editor.contrib.unusualLineTerminatorsDetector",Pv);tD=Z2e([YQ(1,Nw),YQ(2,mt)],tD),ct(tD.ID,tD,1);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},J2e=function(s,e){return function(t,i){e(t,i,s)}};class QQ{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,My,!1).map(a=>({range:a.range,kind:lm.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,My,!1).map(d=>({range:d.range,kind:lm.Text}));c&&o.set(a.uri,c)}return o}}let bW=class extends F{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new QQ)),this._register(e.multiDocumentHighlightProvider.register("*",new QQ))}};bW=Q2e([J2e(0,pe)],bW);var JQ=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},iD=function(s,e){return function(t,i){e(t,i,s)}},Wi,vW;const wW=new ue("hasWordHighlights",!1);function eJ(s,e,t,i){const n=s.ordered(e);return dA(n.map(o=>()=>Promise.resolve(o.provideDocumentHighlights(e,t,i)).then(void 0,Ti)),o=>o!=null).then(o=>{if(o){const r=new pn;return r.set(e.uri,o),r}return new pn})}function eOe(s,e,t,i,n,o){const r=s.ordered(e);return dA(r.map(a=>()=>{const l=o.filter(c=>oV(c)).filter(c=>qM(a.selector,c.uri,c.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,l,n)).then(void 0,Ti)}),a=>a!=null)}class tJ{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=on(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new L(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 tOe extends tJ{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return eJ(this._providers,e,t.getPosition(),n).then(o=>o||new pn)}}class iOe extends tJ{constructor(e,t,i,n,o){super(e,t,i),this._providers=n,this._otherModels=o}_compute(e,t,i,n){return eOe(this._providers,e,t.getPosition(),i,n,this._otherModels).then(o=>o||new pn)}}function nOe(s,e,t,i,n){return new tOe(e,t,n,s)}function sOe(s,e,t,i,n,o){return new iOe(e,t,n,s,o)}to("_executeDocumentHighlights",async(s,e,t)=>{const i=s.get(pe),n=await eJ(i.documentHighlightProvider,e,t,qe.None);return n==null?void 0:n.get(e.uri)});let CW=(zh=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 Dr(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=o,this._hasWordHighlights=wW.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=>{r0(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():Wi.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=Wi.query)==null?void 0:l.modelInfo)==null?void 0:c.model);break;case"multiFile":Wi.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,Wi.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(L.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);Os(`${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);Os(`${r}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=Wi.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),Wi.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()||Zw(n.getModel().uri,e==null?void 0:e.uri))continue;const o=Wi.storedDecorationIDs.get(n.getModel().uri);if(!o)continue;n.removeDecorations(o),i.push(n.getModel().uri);const r=fh.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)Wi.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==Ve.vscodeNotebookCell&&((i=(t=Wi.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==Ve.vscodeNotebookCell?(Wi.query=null,this._run()):(n=Wi.query)!=null&&n.modelInfo&&(Wi.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)!==Ve.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===Ve.vscodeNotebookCell){const o=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const l=a.getModel();l&&l!==e&&l.uri.scheme===Ve.vscodeNotebookCell&&o.push(l)}return o}const i=[],n=this.codeEditorService.listCodeEditors();for(const o of n){if(!y5(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){Wi.query=null,this._stopAll();return}const a=r.startColumn,l=r.endColumn,c=this._getWord();if(!c||c.startColumn>a||c.endColumn<l){Wi.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),Wi.query={modelInfo:{model:this.model,selection:r},word:c}}else if(!Wi.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(Zw(this.editor.getModel().uri,(n=Wi.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(!Wi.query||!Wi.query.modelInfo||Wi.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(Wi.query.modelInfo.model,Wi.query.modelInfo.selection,Wi.query.word,a),(o=this.workerRequest)==null||o.result.then(l=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=l||[],this._beginRenderDecorations())},He)}}computeWithModel(e,t,i,n){return n.length?sOe(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):nOe(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=fh.get(o);if(!r)continue;const a=[],l=(t=o.getModel())==null?void 0:t.uri;if(l&&this.workerRequestValue.has(l)){const c=Wi.storedDecorationIDs.get(l),d=this.workerRequestValue.get(l);if(d)for(const h of d)h.range&&a.push({range:h.range,options:qMe(h.kind)});let u=[];o.changeDecorations(h=>{u=h.deltaDecorations(c!=null?c:[],a)}),Wi.storedDecorationIDs=Wi.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()}},Wi=zh,zh.storedDecorationIDs=new pn,zh.query=null,zh);CW=Wi=JQ([iD(4,mt)],CW);let fh=(qp=class extends F{static get(e){return e.getContribution(vW.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const o=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new CW(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()}},vW=qp,qp.ID="editor.contrib.wordHighlighter",qp);fh=vW=JQ([iD(1,Ne),iD(2,pe),iD(3,mt)],fh);class iJ extends ge{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=fh.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class oOe extends iJ{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:wW,kbOpts:{kbExpr:I.editorTextFocus,primary:65,weight:100}})}}class rOe extends iJ{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:wW,kbOpts:{kbExpr:I.editorTextFocus,primary:1089,weight:100}})}}class aOe extends ge{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=fh.get(t);n&&n.restoreViewState(!0)}}ct(fh.ID,fh,0),Q(oOe),Q(rOe),Q(aOe),E_(bW);class nD extends Xi{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Ar(t.getOption(132),t.getOption(131)),o=t.getModel(),r=t.getSelections(),a=r.length>1,l=r.map(c=>{const d=new M(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=>_t.fromModelSelection(c))),l.length===1){const c=new M(l[0].positionLineNumber,l[0].positionColumn);t.revealPosition(c,0)}}_moveTo(e,t,i){return i?new be(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new be(t.lineNumber,t.column,t.lineNumber,t.column)}}class ph extends nD{_move(e,t,i,n,o){return kt.moveWordLeft(e,t,i,n,o)}}class mh extends nD{_move(e,t,i,n,o){return kt.moveWordRight(e,t,i,n)}}class lOe extends ph{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class cOe extends ph{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class dOe extends ph{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:K.and(I.textInputFocus,(e=K.and(Yw,Bk))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class uOe extends ph{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class hOe extends ph{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class gOe extends ph{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:K.and(I.textInputFocus,(e=K.and(Yw,Bk))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class fOe extends ph{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,o){return super._move(Ar(Na.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class pOe extends ph{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,o){return super._move(Ar(Na.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class mOe extends mh{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class _Oe extends mh{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:K.and(I.textInputFocus,(e=K.and(Yw,Bk))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class bOe extends mh{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class vOe extends mh{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class wOe extends mh{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:K.and(I.textInputFocus,(e=K.and(Yw,Bk))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class COe extends mh{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class SOe extends mh{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,o){return super._move(Ar(Na.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class yOe extends mh{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,o){return super._move(Ar(Na.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class sD extends Xi{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=Ar(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 zn(f,"")});t.pushUndoStop(),t.executeCommands(this.id,h),t.pushUndoStop()}}class SW extends sD{_delete(e,t){const i=kt.deleteWordLeft(e,t);return i||new L(1,1,1,1)}}class yW extends sD{_delete(e,t){const i=kt.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),o=e.model.getLineMaxColumn(n);return new L(n,o,n,o)}}class xOe extends SW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:I.writable})}}class kOe extends SW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:I.writable})}}class LOe 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 EOe extends yW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:I.writable})}}class IOe extends yW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:I.writable})}}class DOe extends yW{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class TOe extends ge{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=Ar(t.getOption(132),t.getOption(131)),o=t.getModel(),a=t.getSelections().map(l=>{const c=kt.deleteInsideWord(n,o,l);return new zn(c,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}ce(new lOe),ce(new cOe),ce(new dOe),ce(new uOe),ce(new hOe),ce(new gOe),ce(new mOe),ce(new _Oe),ce(new bOe),ce(new vOe),ce(new wOe),ce(new COe),ce(new fOe),ce(new pOe),ce(new SOe),ce(new yOe),ce(new xOe),ce(new kOe),ce(new LOe),ce(new EOe),ce(new IOe),ce(new DOe),Q(TOe);class NOe extends sD{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=xL.deleteWordPartLeft(e);return i||new L(1,1,1,1)}}class ROe extends sD{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=xL.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),o=e.model.getLineMaxColumn(n);return new L(n,o,n,o)}}class nJ extends nD{_move(e,t,i,n,o){return xL.moveWordPartLeft(e,t,i,o)}}class AOe extends nJ{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}lt.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class MOe extends nJ{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}lt.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class sJ extends nD{_move(e,t,i,n,o){return xL.moveWordPartRight(e,t,i)}}class POe extends sJ{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class OOe extends sJ{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}ce(new NOe),ce(new ROe),ce(new AOe),ce(new MOe),ce(new POe),ce(new OOe);const a6=class a6 extends F{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Oo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new ss(p("editor.simple.readonly","Cannot edit in read-only input")):t=new ss(p("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};a6.ID="editor.contrib.readOnlyMessageController";let oD=a6;ct(oD.ID,oD,2);var FOe=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},oJ=function(s,e){return function(t,i){e(t,i,s)}};let xW=class extends F{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Ye(this,void 0);const n=Wn("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),o=Wn("_textModel.onDidChangeContent",ae.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(so(async(r,a)=>{n.read(r),o.read(r);const l=a.add(new x0e),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(D6(ks(o=>o.range.endLineNumber-o.range.startLineNumber,Xr))),n.map(o=>({name:o.name,kind:o.kind,startLineNumber:o.range.startLineNumber}))}};xW=FOe([oJ(1,pe),oJ(2,oS)],xW),JL.setBreadcrumbsSourceFactory((s,e)=>e.createInstance(xW,s));const l6=class l6 extends F{constructor(e){super(),this.editor=e,this.widget=null,Ta&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new kW(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};l6.ID="editor.contrib.iPadShowKeyboard";let rD=l6;const lN=class lN extends F{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(z(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(z(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return lN.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};lN.ID="editor.contrib.ShowKeyboardWidget";let kW=lN;ct(rD.ID,rD,3);var BOe=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},rJ=function(s,e){return function(t,i){e(t,i,s)}},LW;let BS=(Kp=class extends F{static get(e){return e.getContribution(LW.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 EW(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},LW=Kp,Kp.ID="editor.contrib.inspectTokens",Kp);BS=LW=BOe([rJ(1,pr),rJ(2,ri)],BS);class WOe extends ge{constructor(){super({id:"editor.action.inspectTokens",label:i2.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=BS.get(t);i==null||i.launch()}}function HOe(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 VOe(s,e){const t=ki.get(e);if(t)return t;const i=s.encodeLanguageId(e);return{getInitialState:()=>qm,tokenize:(n,o,r)=>zP(e,r),tokenizeEncoded:(n,o,r)=>Rx(i,r)}}const cN=class cN extends F{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=VOe(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 cN._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,se("h2.tm-token",void 0,HOe(r),se("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),X(this._domNode,se("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,se("table.tm-metadata-table",void 0,se("tbody",void 0,se("tr",void 0,se("td.tm-metadata-key",void 0,"language"),se("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),se("tr",void 0,se("td.tm-metadata-key",void 0,"token type"),se("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),se("tr",void 0,se("td.tm-metadata-key",void 0,"font style"),se("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),se("tr",void 0,se("td.tm-metadata-key",void 0,"foreground"),se("td.tm-metadata-value",void 0,`${a?Z.Format.CSS.formatHex(a.foreground):"-?-"}`)),se("tr",void 0,se("td.tm-metadata-key",void 0,"background"),se("td.tm-metadata-value",void 0,`${a?Z.Format.CSS.formatHex(a.background):"-?-"}`))))),X(this._domNode,se("hr.tokens-inspect-separator")),i<t.tokens1.length&&X(this._domNode,se("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=ki.getColorMap(),i=io.getLanguageId(e),n=io.getTokenType(e),o=io.getFontStyle(e),r=io.getForeground(e),a=io.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]}}};cN._ID="editor.contrib.inspectTokensWidget";let EW=cN;ct(BS.ID,BS,4),Q(WOe);var $Oe=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},aJ=function(s,e){return function(t,i){e(t,i,s)}},WS;let IW=(Gp=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=gi.as(zg.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(WS.PREFIX.length));n&&n.prefix&&n.prefix!==WS.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==WS.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}})}},WS=Gp,Gp.PREFIX="?",Gp);IW=WS=$Oe([aJ(0,Hr),aJ(1,xt)],IW),gi.as(zg.Quickaccess).registerQuickAccessProvider({ctor:IW,prefix:"",helpEntries:[{description:n2.helpQuickAccessActionLabel}]});class lJ{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 nn);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){var r;const n=new q,o=this.activeTextEditorControl;if(o&&this.canProvideWithTextEditor(o)){const a={editor:o},l=MG(o);if(l){let c=(r=o.saveViewState())!=null?r:void 0;n.add(l.onDidChangeCursorPosition(()=>{var d;c=(d=o.saveViewState())!=null?d:void 0})),a.restoreViewState=()=>{c&&o===this.activeTextEditorControl&&o.restoreViewState(c)},n.add(iu(t.onCancellationRequested)(()=>{var d;return(d=a.restoreViewState)==null?void 0:d.call(a)}))}n.add(Se(()=>this.clearDecorations(o))),n.add(this.provideWithTextEditor(a,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&&jl(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return y5(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(SU),position:er.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 dN=class dN extends lJ{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,F.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(dN.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=MG(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,i;return(i=(t=this.getModel(e))==null?void 0:t.getLineCount())!=null?i:0}};dN.PREFIX=":";let DW=dN;var zOe=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},UOe=function(s,e){return function(t,i){e(t,i,s)}};let HS=class extends DW{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=ae.None}get activeTextEditorControl(){var e;return(e=this.editorService.getFocusedCodeEditor())!=null?e:void 0}};HS=zOe([UOe(0,mt)],HS);let cJ=(Zp=class extends ge{constructor(){super({id:Zp.ID,label:Ux.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:I.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Hr).quickAccess.show(HS.PREFIX)}},Zp.ID="editor.action.gotoLine",Zp);Q(cJ),gi.as(zg.Quickaccess).registerQuickAccessProvider({ctor:HS,prefix:HS.PREFIX,helpEntries:[{description:Ux.gotoLineActionLabel,commandId:cJ.ID}]});const dJ=[void 0,[]];function TW(s,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?jOe(s,n.values,t,i):uJ(s,e,t,i)}function jOe(s,e,t,i){let n=0;const o=[];for(const r of e){const[a,l]=uJ(s,r,t,i);if(typeof a!="number")return dJ;n+=a,o.push(...l)}return[n,qOe(o)]}function uJ(s,e,t,i){const n=kg(e.original,e.originalLowercase,t,s,s.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],qw(n)]:dJ}function qOe(s){const e=s.sort((n,o)=>n.start-o.start),t=[];let i;for(const n of e)!i||!KOe(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 KOe(s,e){return!(s.end<e.start||e.end<s.start)}function hJ(s){return s.startsWith('"')&&s.endsWith('"')}const gJ=" ";function NW(s){typeof s!="string"&&(s="");const e=s.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=fJ(s),o=t.indexOf(Ra)>=0,r=hJ(s);let a;const l=s.split(gJ);if(l.length>1)for(const c of l){const d=hJ(c),{pathNormalized:u,normalized:h,normalizedLowercase:g}=fJ(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 fJ(s){let e;Pn?e=s.replace(/\//g,Ra):e=s.replace(/\\/g,Ra);const t=are(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function pJ(s){return Array.isArray(s)?NW(s.map(e=>e.original).join(gJ)):NW(s.original)}var GOe=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},mJ=function(s,e){return function(t,i){e(t,i,s)}},aD;let $f=(Sl=class extends lJ{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.")),F.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):F.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 gm,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=NW(i.value.substr(aD.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=yw(f,_=>!!(_.type!=="separator"&&_.range&&L.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(aD.SCOPE_PREFIX)===0,l=a?1:0;let c,d;t.values&&t.values.length>1?(c=pJ(t.values[0]),d=pJ(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"?Te.asClassName(ie.splitHorizontal):Te.asClassName(ie.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=ore(w.name),S=`$(${Ky.toIcon(w.kind).id}) ${C}`,y=S.length-C.length;let k=w.containerName;i!=null&&i.extraContainerLabel&&(k?k=`${i.extraContainerLabel} • ${k}`:k=i.extraContainerLabel);let E,N,B,H;if(t.original.length>l){let U=!1;if(c!==t&&([E,N]=TW(S,{...t,values:void 0},l,y),typeof E=="number"&&(U=!0)),typeof E!="number"&&([E,N]=TW(S,c,l,y),typeof E!="number"))continue;if(!U&&d){if(k&&d.original.length>0&&([B,H]=TW(k,d)),typeof B!="number")continue;typeof E=="number"&&(E+=B)}}const V=w.tags&&w.tags.indexOf(1)>=0;g.push({index:v,kind:w.kind,score:E,label:S,ariaLabel:Qoe(w.name,w.kind),description:k,highlights:V?void 0:{label:N,description:H},range:{selection:L.collapseToStart(w.selectionRange),decoration:w.range},uri:o.uri,symbolName:C,strikethrough:V,buttons:u})}const f=g.sort((v,w)=>a?this.compareByKindAndScore(v,w):this.compareByScore(v,w));let m=[];if(a){let S=function(){w&&typeof v=="number"&&C>0&&(w.label=Qh(AW[v]||RW,C))},v,w,C=0;for(const y of f)v!==y.kind?(S(),v=y.kind,C=1,w={type:"separator"},m.push(w)):C++,m.push(y);S()}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=AW[e.kind]||RW,n=AW[t.kind]||RW,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()}},aD=Sl,Sl.PREFIX="@",Sl.SCOPE_PREFIX=":",Sl.PREFIX_BY_CATEGORY=`${Sl.PREFIX}${Sl.SCOPE_PREFIX}`,Sl);$f=aD=GOe([mJ(0,pe),mJ(1,oS)],$f);const RW=p("property","properties ({0})"),AW={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 ZOe=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},MW=function(s,e){return function(t,i){e(t,i,s)}};let PW=class extends $f{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=ae.None}get activeTextEditorControl(){var e;return(e=this.editorService.getFocusedCodeEditor())!=null?e:void 0}};PW=ZOe([MW(0,mt),MW(1,pe),MW(2,oS)],PW);const uN=class uN extends ge{constructor(){super({id:uN.ID,label:sC.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(Hr).quickAccess.show($f.PREFIX,{itemActivation:tl.NONE})}};uN.ID="editor.action.quickOutline";let lD=uN;Q(lD),gi.as(zg.Quickaccess).registerQuickAccessProvider({ctor:PW,prefix:$f.PREFIX,helpEntries:[{description:sC.quickOutlineActionLabel,prefix:$f.PREFIX,commandId:lD.ID},{description:sC.quickOutlineByCategoryActionLabel,prefix:$f.PREFIX_BY_CATEGORY}]});function YOe(s){var t;const e=new Map;for(const i of s)e.set(i,((t=e.get(i))!=null?t:0)+1);return e}class VS{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 YOe(VS.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){var t;for(const{key:i}of e)this.deleteDocument(i);for(const i of e){const n=[];for(const o of i.textChunks){const r=VS.termFrequencies(o);for(const a of r.keys())this.chunkOccurrences.set(a,((t=this.chunkOccurrences.get(a))!=null?t:0)+1);n.push({text:o,tf:r})}this.chunkCount+=n.length,this.documents.set(i.key,{chunks:n})}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=VS.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){var i;const t=(i=this.chunkOccurrences.get(e))!=null?i: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 XOe(s){var i,n;const e=s.slice(0);e.sort((o,r)=>r.score-o.score);const t=(n=(i=e[0])==null?void 0:i.score)!=null?n:0;if(t>0)for(const o of e)o.score/=t;return e}var Vb;(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"})(Vb||(Vb={}));function OW(s){const e=s;return Array.isArray(e.items)}function _J(s){const e=s;return!!e.picks&&e.additionalPicks instanceof Promise}class QOe extends F{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 nn),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 S;let w,C;if(OW(b)?(w=b.items,C=b.active):w=b,w.length===0){if(v)return!1;(h.length>0||e.hideInput)&&((S=this.options)!=null&&S.noResultsPick)&&($v(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 Wc(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 S,y;OW(b.picks)?(S=b.picks.items,y=b.picks.active):S=b.picks;let k,E;if(OW(C)?(k=C.items,E=C.active):k=C,k.length>0||!v){let N;if(!y&&!E){const B=e.activeItems[0];B&&S.indexOf(B)!==-1&&(N=B)}f({items:[...S,...k],active:y||E||N})}}finally{u.isCancellationRequested||(e.busy=!1),w=!0}})()])};if(g!==null)if(_J(g))await m(g);else if(!(g instanceof Promise))f(g);else{e.busy=!0;try{const b=await g;if(u.isCancellationRequested)return;_J(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,f;if(typeof u.trigger!="function")return;const h=(f=(g=u.buttons)==null?void 0:g.indexOf(d))!=null?f:-1;if(h>=0){const m=u.trigger(h,e.keyMods),_=typeof m=="number"?m:await m;if(t.isCancellationRequested)return;switch(_){case Vb.NO_ACTION:break;case Vb.CLOSE_PICKER:e.hide();break;case Vb.REFRESH_PICKER:a();break;case Vb.REMOVE_ITEM:{const b=e.items.indexOf(u);if(b!==-1){const v=e.items.slice(),w=v.splice(b,1),C=e.activeItems.filter(y=>y!==w[0]),S=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=v,C&&(e.activeItems=C),e.keepScrollPosition=S}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 bJ=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},_h=function(s,e){return function(t,i){e(t,i,s)}},zf,Yi;let FW=(Ec=class extends QOe{constructor(e,t,i,n,o,r){super(zf.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=o,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(BW)),this.options=e}async _getPicks(e,t,i,n){var g,f,m,_;const o=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=iu(()=>{const b=new VS;b.updateDocuments(o.map(w=>({key:w.commandId,textChunks:[this.getTfIdfChunk(w)]})));const v=b.calculateScores(e,i);return XOe(v).filter(w=>w.score>zf.TFIDF_THRESHOLD).slice(0,zf.TFIDF_MAX_RESULTS)}),a=[];for(const b of o){const v=(g=zf.WORD_FILTER(e,b.label))!=null?g:void 0,w=b.commandAlias&&(f=zf.WORD_FILTER(e,b.commandAlias))!=null?f:void 0;if(v||w)b.highlights={label:v,detail:this.options.showAlias?w:void 0},a.push(b);else if(e===b.commandId)a.push(b);else if(e.length>=3){const C=r();if(i.isCancellationRequested)return[];const S=C.find(y=>y.key===b.commandId);S&&(b.tfIdfScore=S.score,a.push(b))}}const l=new Map;for(const b of a){const v=l.get(b.label);v?(b.description=b.commandId,v.description=v.commandId):l.set(b.label,b)}a.sort((b,v)=>{if(b.tfIdfScore&&v.tfIdfScore)return b.tfIdfScore===v.tfIdfScore?b.label.localeCompare(v.label):v.tfIdfScore-b.tfIdfScore;if(b.tfIdfScore)return 1;if(v.tfIdfScore)return-1;const w=this.commandsHistory.peek(b.commandId),C=this.commandsHistory.peek(v.commandId);if(w&&C)return w>C?-1:1;if(w)return-1;if(C)return 1;if(this.options.suggestedCommandIds){const S=this.options.suggestedCommandIds.has(b.commandId),y=this.options.suggestedCommandIds.has(v.commandId);if(S&&y)return 0;if(S)return-1;if(y)return 1}return b.label.localeCompare(v.label)});const c=[];let d=!1,u=!0,h=!!this.options.suggestedCommandIds;for(let b=0;b<a.length;b++){const v=a[b];b===0&&this.commandsHistory.peek(v.commandId)&&(c.push({type:"separator",label:p("recentlyUsed","recently used")}),d=!0),u&&v.tfIdfScore!==void 0&&(c.push({type:"separator",label:p("suggested","similar commands")}),u=!1),h&&v.tfIdfScore===void 0&&!this.commandsHistory.peek(v.commandId)&&((m=this.options.suggestedCommandIds)!=null&&m.has(v.commandId))&&(c.push({type:"separator",label:p("commonlyUsed","commonly used")}),d=!0,h=!1),d&&v.tfIdfScore===void 0&&!this.commandsHistory.peek(v.commandId)&&!((_=this.options.suggestedCommandIds)!=null&&_.has(v.commandId))&&(c.push({type:"separator",label:p("morecCommands","other commands")}),d=!1),c.push(this.toCommandPick(v,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:c,additionalPicks:(async()=>{var w;const b=await this.getAdditionalCommandPicks(o,a,e,i);if(i.isCancellationRequested)return[];const v=b.map(C=>this.toCommandPick(C,n));return u&&((w=v[0])==null?void 0:w.type)!=="separator"&&v.unshift({type:"separator",label:p("suggested","similar commands")}),v})()}: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,r;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:(o=t==null?void 0:t.from)!=null?o:"quick open"});try{(r=e.args)!=null&&r.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(a){Lr(a)||this.dialogService.error(p("canNotRun","Command '{0}' resulted in an error",e.label),_E(a))}}}}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}},zf=Ec,Ec.PREFIX=">",Ec.TFIDF_THRESHOLD=.5,Ec.TFIDF_MAX_RESULTS=5,Ec.WORD_FILTER=wP(jw,bge,J$),Ec);FW=zf=bJ([_h(1,ye),_h(2,xt),_h(3,Ut),_h(4,is),_h(5,Nw)],FW);let BW=(yl=class extends F{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===bC.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Yi.getConfiguredCommandHistoryLength(this.configurationService),Yi.cache&&Yi.cache.limit!==this.configuredCommandsHistoryLength&&(Yi.cache.limit=this.configuredCommandsHistoryLength,Yi.hasChanges=!0))}load(){const e=this.storageService.get(Yi.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Yi.cache=new Pl(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))}Yi.counter=this.storageService.getNumber(Yi.PREF_KEY_COUNTER,0,Yi.counter)}push(e){Yi.cache&&(Yi.cache.set(e,Yi.counter++),Yi.hasChanges=!0)}peek(e){var t;return(t=Yi.cache)==null?void 0:t.peek(e)}saveState(){if(!Yi.cache||!Yi.hasChanges)return;const e={usesLRU:!0,entries:[]};Yi.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(Yi.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Yi.PREF_KEY_COUNTER,Yi.counter,0,0),Yi.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:Yi.DEFAULT_COMMANDS_HISTORY_LENGTH}},Yi=yl,yl.DEFAULT_COMMANDS_HISTORY_LENGTH=50,yl.PREF_KEY_CACHE="commandPalette.mru.cache",yl.PREF_KEY_COUNTER="commandPalette.mru.counter",yl.counter=1,yl.hasChanges=!1,yl);BW=Yi=bJ([_h(0,ha),_h(1,Ze),_h(2,Fn)],BW);class JOe extends FW{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&&(fme(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:NP(n.label)||n.id})}return t}}var eFe=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},$b=function(s,e){return function(t,i){e(t,i,s)}};let $S=class extends JOe{get activeTextEditorControl(){var e;return(e=this.codeEditorService.getFocusedCodeEditor())!=null?e: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[]}};$S=eFe([$b(0,ye),$b(1,mt),$b(2,xt),$b(3,Ut),$b(4,is),$b(5,Nw)],$S);const hN=class hN extends ge{constructor(){super({id:hN.ID,label:jx.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(Hr).quickAccess.show($S.PREFIX)}};hN.ID="editor.action.quickCommand";let cD=hN;Q(cD),gi.as(zg.Quickaccess).registerQuickAccessProvider({ctor:$S,prefix:$S.PREFIX,helpEntries:[{description:jx.quickCommandHelp,commandId:cD.ID}]});var tFe=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},zb=function(s,e){return function(t,i){e(t,i,s)}};let WW=class extends Df{constructor(e,t,i,n,o,r,a){super(!0,e,t,i,n,o,r,a)}};WW=tFe([zb(1,Ne),zb(2,mt),zb(3,Fi),zb(4,ye),zb(5,ha),zb(6,Ze)],WW),ct(Df.ID,WW,4);class iFe extends ge{constructor(){super({id:"editor.action.toggleHighContrast",label:o2.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(pr),n=i.getColorTheme();ja(n.type)?(i.setTheme(this._originalThemeName||(Pm(n.type)?y_:gd)),this._originalThemeName=null):(i.setTheme(Pm(n.type)?Xg:Qg),this._originalThemeName=n.themeName)}}Q(iFe);var nFe=Object.defineProperty,sFe=Object.getOwnPropertyDescriptor,oFe=(s,e,t,i)=>{for(var n=i>1?void 0:i?sFe(e,t):e,o=s.length-1,r;o>=0;o--)(r=s[o])&&(n=(i?r(e,t,n):r(n))||n);return i&&n&&nFe(e,t,n),n},rFe=(s,e)=>(t,i)=>e(t,i,s);wt.ScriptEditorService=class extends At.Disposable{constructor(t){super();Di(this,"_editorInstance",null);this._configService=t}setEditorInstance(t){return this._editorInstance=t,At.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const t=this._configService.getConfig(b6);window.MonacoEnvironment={getWorkerUrl:t==null?void 0:t.getWorkerUrl}}}},wt.ScriptEditorService=oFe([rFe(0,At.IConfigService)],wt.ScriptEditorService);var aFe=Object.defineProperty,lFe=Object.getOwnPropertyDescriptor,cFe=(s,e,t,i)=>{for(var n=i>1?void 0:i?lFe(e,t):e,o=s.length-1,r;o>=0;o--)(r=s[o])&&(n=(i?r(e,t,n):r(n))||n);return i&&n&&aFe(e,t,n),n},vJ=(s,e)=>(t,i)=>e(t,i,s);const HW=At.createIdentifier("univer.uniscript.execution-service");let VW=class extends At.Disposable{constructor(s,e){super(),this._logService=s,this._injector=e}async execute(s){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=At.FUniver.newAPI(this._injector),t=new Function("univerAPI",`(() => {${s}})()`);try{return t(e),!0}catch(i){return this._logService.error(i),!1}}};VW=cFe([vJ(0,At.ILogService),vJ(1,At.Inject(At.Injector))],VW);const dD={scriptEditorPanel:"univer-script-editor-panel",scriptEditorContent:"univer-script-editor-content",scriptEditorActions:"univer-script-editor-actions"};function dFe(){const s=Jp.useRef(null),e=Jp.useRef(null),t=Jp.useRef(null),i=At.useDependency(At.LocaleService),n=At.useDependency(xr.IShortcutService),o=At.useDependency(wt.ScriptEditorService);Jp.useEffect(()=>{const a=e.current,l=s.current;let c=null,d=null;if(a&&l){o.requireVscodeEditor();const u=t.current=WG.create(a,{value:"",language:"javascript"});d=new ResizeObserver(()=>{let g=requestIdleCallback(()=>{if(!g)return;const{height:f,width:m}=l.getBoundingClientRect();u.layout({width:m,height:f}),g=void 0})}),d.observe(l);let h;c=new At.DisposableCollection,c.add(o.setEditorInstance(u)),c.add(u.onDidFocusEditorWidget(()=>{h=n.forceEscape()})),c.add(u.onDidBlurEditorWidget(()=>{h==null||h.dispose(),h=void 0})),c.add(At.toDisposable(()=>h==null?void 0:h.dispose()))}return()=>{d&&l&&d.unobserve(l),c==null||c.dispose()}},[o,n]);const r=uFe(t);return Wv.jsxs("div",{className:dD.scriptEditorPanel,children:[Wv.jsx("div",{className:dD.scriptEditorContent,ref:s,children:Wv.jsx("div",{className:dD.scriptEditorContainer,ref:e})}),Wv.jsx("div",{className:dD.scriptEditorActions,children:Wv.jsx(SN.Button,{type:"primary",size:"small",onClick:r,children:i.t("script-panel.panel.execute")})})]})}function uFe(s){const e=At.useDependency(HW),t=At.useDependency(xr.IMessageService),i=At.useDependency(At.LocaleService);return Jp.useCallback(()=>{var o;const n=(o=s.current)==null?void 0:o.getModel();n&&e.execute(n.getValue()).then(()=>{t.show({content:i.t("uniscript.message.success"),type:SN.MessageType.Success})}).catch(()=>{t.show({content:i.t("uniscript.message.failed"),type:SN.MessageType.Error})})},[i,t,s,e])}function hFe(s){return{id:yy.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:xr.MenuItemType.BUTTON,hidden$:xr.getMenuHiddenObservable(s,At.UniverInstanceType.UNIVER_SHEET),disabled$:Gne.getCurrentRangeDisable$(s,{workbookTypes:[Fv.WorkbookEditablePermission],worksheetTypes:[Fv.WorksheetEditPermission,Fv.WorksheetSetCellStylePermission,Fv.WorksheetSetCellValuePermission],rangeTypes:[Fv.RangeProtectionPermissionEditPoint]})}}const gFe={[xr.RibbonStartGroup.OTHERS]:{[yy.id]:{order:5,menuItemFactory:hFe}}};var fFe=Object.defineProperty,pFe=Object.getOwnPropertyDescriptor,mFe=(s,e,t,i)=>{for(var n=i>1?void 0:i?pFe(e,t):e,o=s.length-1,r;o>=0;o--)(r=s[o])&&(n=(i?r(e,t,n):r(n))||n);return i&&n&&fFe(e,t,n),n},$W=(s,e)=>(t,i)=>e(t,i,s);let uD=class extends At.Disposable{constructor(s,e,t){super(),this._menuManagerService=s,this._menuManagerService.mergeMenu(gFe),this.disposeWithMe(t.register(w6,dFe)),this.disposeWithMe(e.registerCommand(yy))}};uD=mFe([$W(0,xr.IMenuManagerService),$W(1,At.ICommandService),$W(2,At.Inject(xr.ComponentManager))],uD);var _Fe=Object.defineProperty,bFe=Object.getOwnPropertyDescriptor,vFe=(s,e,t,i)=>{for(var n=i>1?void 0:i?bFe(e,t):e,o=s.length-1,r;o>=0;o--)(r=s[o])&&(n=(i?r(e,t,n):r(n))||n);return i&&n&&_Fe(e,t,n),n},wJ=(s,e)=>(t,i)=>e(t,i,s);const wFe="UNIVER_UNISCRIPT_PLUGIN";wt.UniverUniscriptPlugin=(c6=class extends At.Plugin{constructor(e=Zne,t,i){super(),this._config=e,this._injector=t,this._configService=i;const{menu:n,...o}=this._config;n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(b6,o)}onStarting(){const e=this._injector;[[uD],[wt.ScriptEditorService],[v6]].forEach(i=>e.add(i)),this.registerExecution()}onSteady(){this._injector.get(uD)}registerExecution(){this._injector.add([HW,{useClass:VW}])}},Di(c6,"pluginName",wFe),c6),wt.UniverUniscriptPlugin=vFe([wJ(1,At.Inject(At.Injector)),wJ(2,At.IConfigService)],wt.UniverUniscriptPlugin);/*!-----------------------------------------------------------------------------
|
1163
|
+
`)};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 n2e(s,e,t,i){const n=new q8(e,t,s),o=await n.resolveRenameLocation(qe.None);return o!=null&&o.rejectReason?{edits:[],rejectReason:o.rejectReason}:n.provideRenameEdits(i,qe.None)}let uh=(zp=class{static get(e){return e.getContribution(j8.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(z8,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 q8(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new Qu(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 Jr?e("resolve rename location cancelled",JSON.stringify(_,null," ")):(e("resolve rename location failed",_ instanceof Error?_:JSON.stringify(_,null," ")),(typeof _=="string"||Za(_))&&((f=Oo.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=Oo.get(this.editor))==null||m.showMessage(o.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new Qu(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 _=>{var b;return[_,(b=await _.supportsAutomaticNewSymbolNamesTriggerKind)!=null?b:!1]})),d=(_,b)=>{let v=c.slice();return _===Xv.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=ow(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(L.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&&Os(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)}},j8=zp,zp.ID="editor.contrib.renameController",zp);uh=j8=i2e([dh(1,ye),dh(2,Fi),dh(3,Jw),dh(4,Eu),dh(5,Fn),dh(6,K0),dh(7,pe),dh(8,is)],uh);class s2e extends ge{constructor(){super({id:"editor.action.rename",label:p("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:K.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(mt),[n,o]=Array.isArray(t)&&t||[void 0,void 0];return ke.isUri(n)&&M.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))))},He):super.runCommand(e,t)}run(e,t){const i=e.get(Fn),n=uh.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}ct(uh.ID,uh,4),Q(s2e);const K8=Xi.bindToContribution(uh.get);ce(new K8({id:"acceptRenameInput",precondition:Bb,handler:s=>s.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:K.and(I.focus,K.not("isComposing")),primary:3}})),ce(new K8({id:"acceptRenameInputWithPreview",precondition:K.and(Bb,K.has("config.editor.rename.enablePreview")),handler:s=>s.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:K.and(I.focus,K.not("isComposing")),primary:2051}})),ce(new K8({id:"cancelRenameInput",precondition:Bb,handler:s=>s.cancelRenameInput(),kbOpts:{weight:199,kbExpr:I.focus,primary:9,secondary:[1033]}})),zt(class extends As{constructor(){super({id:"focusNextRenameSuggestion",title:{...Me("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Bb,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(mt).getFocusedCodeEditor();if(!t)return;const i=uh.get(t);i&&i.focusNextRenameSuggestion()}}),zt(class extends As{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Me("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Bb,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(mt).getFocusedCodeEditor();if(!t)return;const i=uh.get(t);i&&i.focusPreviousRenameSuggestion()}}),to("_executeDocumentRenameProvider",function(s,e,t,...i){const[n]=i;ft(typeof n=="string");const{renameProvider:o}=s.get(pe);return n2e(o,e,t,n)}),to("_executePrepareRename",async function(s,e,t){const{renameProvider:i}=s.get(pe),o=await new q8(e,t,i).resolveRenameLocation(qe.None);if(o!=null&&o.rejectReason)throw new Error(o.rejectReason);return o}),gi.as(oa.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 o2e=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},IQ=function(s,e){return function(t,i){e(t,i,s)}};let qI=(Rv=class extends F{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=>r2e(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()}},Rv.ID="editor.sectionHeaderDetector",Rv);qI=o2e([IQ(1,fi),IQ(2,ro)],qI);function r2e(s){return{range:s.range,options:$e.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:s.hasSeparatorLine?2:1,sectionHeaderText:s.text}})}}ct(qI.ID,qI,1);function a2e(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 l2e(s){const e=new Uint8Array(s.buffer,s.byteOffset,s.length*4);return z6()||a2e(e),T0.wrap(e)}function DQ(s){const e=new Uint32Array(c2e(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 l2e(e)}function c2e(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 KI(s){return s&&!!s.data}function TQ(s){return s&&Array.isArray(s.edits)}class d2e{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function NQ(s,e){return s.has(e)}function u2e(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:[]}async function RQ(s,e,t,i,n){const o=u2e(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||!KI(l)&&!TQ(l))&&(l=null),new d2e(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 h2e(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:null}class g2e{constructor(e,t){this.provider=e,this.tokens=t}}function f2e(s,e){return s.has(e)}function AQ(s,e){const t=s.orderedGroups(e);return t.length>0?t[0]:[]}async function G8(s,e,t,i){const n=AQ(s,e),o=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(l){Ti(l),a=null}return(!a||!KI(a))&&(a=null),new g2e(r,a)}));for(const r of o)if(r.tokens)return r;return o.length>0?o[0]:null}lt.registerCommand("_provideDocumentSemanticTokensLegend",async(s,...e)=>{const[t]=e;ft(t instanceof ke);const i=s.get(qt).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=s.get(pe),o=h2e(n,i);return o?o[0].getLegend():s.get(Ut).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)}),lt.registerCommand("_provideDocumentSemanticTokens",async(s,...e)=>{const[t]=e;ft(t instanceof ke);const i=s.get(qt).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=s.get(pe);if(!NQ(n,i))return s.get(Ut).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const o=await RQ(n,i,null,null,qe.None);if(!o)return;const{provider:r,tokens:a}=o;if(!a||!KI(a))return;const l=DQ({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),l}),lt.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(s,...e)=>{const[t,i]=e;ft(t instanceof ke);const n=s.get(qt).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:o}=s.get(pe),r=AQ(o,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!L.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 G8(o,n,L.lift(i),qe.None);if(a)return a.provider.getLegend()}),lt.registerCommand("_provideDocumentRangeSemanticTokens",async(s,...e)=>{const[t,i]=e;ft(t instanceof ke),ft(L.isIRange(i));const n=s.get(qt).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:o}=s.get(pe),r=await G8(o,n,L.lift(i),qe.None);if(!(!r||!r.tokens))return DQ({id:0,type:"full",data:r.tokens.data})});const Z8="editor.semanticHighlighting";function GI(s,e,t){var n;const i=(n=t.getValue(Z8,{overrideIdentifier:s.getLanguageId(),resource:s.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var MQ=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},mc=function(s,e){return function(t,i){e(t,i,s)}},hh;let Y8=class extends F{constructor(e,t,i,n,o,r){super(),this._watchers=Object.create(null);const a=d=>{this._watchers[d.uri.toString()]=new X8(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()];GI(d,i,n)?u||a(d):u&&l(d,u)}};t.getModels().forEach(d=>{GI(d,i,n)&&a(d)}),this._register(t.onModelAdded(d=>{GI(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(Z8)&&c()})),this._register(i.onDidColorThemeChange(c))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Y8=MQ([mc(0,nx),mc(1,qt),mc(2,Qi),mc(3,Ze),mc(4,nr),mc(5,pe)],Y8);let X8=($h=class extends F{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:hh.REQUEST_MIN_DELAY,max:hh.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Pt(()=>this._fetchDocumentSemanticTokensNow(),hh.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=()=>{Bt(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),Bt(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!NQ(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=RQ(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&&(Lr(l)||typeof l.message=="string"&&l.message.indexOf("busy")!==-1)||He(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(TQ(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&&(hh._copy(l,d-f,c,u-f,f),u-=f),g.data&&(hh._copy(g.data,0,c,u-g.data.length,g.data.length),u-=g.data.length),d=g.start}d>0&&hh._copy(l,0,c,0,d),t={resultId:t.resultId,data:c}}}if(KI(t)){this._currentDocumentResponse=new p2e(e,t.resultId,t.data);const a=QV(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()}},hh=$h,$h.REQUEST_MIN_DELAY=300,$h.REQUEST_MAX_DELAY=2e3,$h);X8=hh=MQ([mc(1,nx),mc(2,Qi),mc(3,nr),mc(4,pe)],X8);class p2e{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}E_(Y8);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},IS=function(s,e){return function(t,i){e(t,i,s)}};let ZI=(Av=class extends F{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(Z8)&&(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(!GI(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!f2e(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=on(r=>Promise.resolve(G8(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,QV(l,c,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},Av.ID="editor.contrib.viewportSemanticTokens",Av);ZI=m2e([IS(1,nx),IS(2,Qi),IS(3,Ze),IS(4,nr),IS(5,pe)],ZI),ct(ZI.ID,ZI,1);class _2e{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(au(u)&&Tl(d))break;d=u}for(l+=1;c<o.length;c++){const u=o.charCodeAt(c);if(Tl(u)&&au(d))break;if(u===95||u===45)break;d=u}l<c&&e.push({range:new L(i.lineNumber,r+l,i.lineNumber,r+c)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new L(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 L(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var b2e=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},v2e=function(s,e){return function(t,i){e(t,i,s)}},Q8;class J8{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 J8(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let DS=(Up=class{static get(e){return e.getContribution(Q8.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 OQ(this._languageFeaturesService.selectionRangeProvider,i,t.map(o=>o.getPosition()),this._editor.getOption(114),qe.None).then(o=>{var r;if(!(!us(o)||o.length!==t.length)&&!(!this._editor.hasModel()||!oi(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 J8(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=>be.fromPositions(o.ranges[o.index].getStartPosition(),o.ranges[o.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Q8=Up,Up.ID="editor.contrib.smartSelectController",Up);DS=Q8=b2e([v2e(1,pe)],DS);class PQ extends ge{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=DS.get(t);i&&await i.run(this._forward)}}class w2e extends PQ{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:_e.MenubarSelectionMenu,group:"1_basic",title:p({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}lt.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class C2e extends PQ{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:_e.MenubarSelectionMenu,group:"1_basic",title:p({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}ct(DS.ID,DS,4),Q(w2e),Q(C2e);async function OQ(s,e,t,i,n){const o=s.all(e).concat(new _2e(i.selectSubwords));o.length===1&&o.unshift(new pI);const r=[],a=[];for(const l of o)r.push(Promise.resolve(l.provideSelectionRanges(e,t,n)).then(c=>{if(us(c)&&c.length===t.length)for(let d=0;d<t.length;d++){a[d]||(a[d]=[]);for(const u of c[d])L.isIRange(u.range)&&L.containsPosition(u.range,t[d])&&a[d].push(L.lift(u.range))}},Ti));return await Promise.all(r),a.map(l=>{if(l.length===0)return[];l.sort((h,g)=>M.isBefore(h.getStartPosition(),g.getStartPosition())?1:M.isBefore(g.getStartPosition(),h.getStartPosition())||M.isBefore(h.getEndPosition(),g.getEndPosition())?-1:M.isBefore(g.getEndPosition(),h.getEndPosition())?1:0);const c=[];let d;for(const h of l)(!d||L.containsRange(h,d)&&!L.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 L(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 L(g.startLineNumber,1,g.endLineNumber,e.getLineMaxColumn(g.endLineNumber));_.containsRange(g)&&!_.equalsRange(m)&&f.containsRange(_)&&!f.equalsRange(_)&&u.push(_)}u.push(f)}return u})}lt.registerCommand("_executeSelectionRangeProvider",async function(s,...e){const[t,i]=e;ft(ke.isUri(t));const n=s.get(pe).selectionRangeProvider,o=await s.get(Qs).createModelReference(t);try{return OQ(n,o.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},qe.None)}finally{o.dispose()}});const S2e=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 TS{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&&oi(this.startLineNumbers,e.startLineNumbers)&&oi(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new TS([],[],0)}}const FQ=Kc("stickyScrollViewLayer",{createHTML:s=>s}),eW="data-sticky-line-index",BQ="data-sticky-is-line",y2e="data-sticky-is-line-number",WQ="data-sticky-is-folding-icon";class x2e extends F{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 ma),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(z(this._lineNumbersDomNode,ne.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(z(this._lineNumbersDomNode,ne.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 M(t,1)).lineNumber,a=o.getViewLineRenderingData(r),l=this._editor.getOption(68);let c;try{c=Ws.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{c=[]}const d=new Vu(!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 ym(2e3),h=YC(d,u);let g;FQ?g=FQ.createHTML(u.build()):g=u.build();const f=document.createElement("span");f.setAttribute(eW,String(e)),f.setAttribute(BQ,""),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(eW,String(e)),m.setAttribute(y2e,""),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 k2e(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 L2e(l,r,n.getEndLineNumber(o),this._lineHeight);return c.setVisible(this._isOnGlyphMargin?!0:l||i==="always"),c.domNode.setAttribute(WQ,""),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=VF(t.characterMapping,e,0);return new M(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t,i;return(i=(t=this._getRenderedStickyLineFromChildDomNode(e))==null?void 0:t.lineNumber)!=null?i: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,eW);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,BQ)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,WQ)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class k2e{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 L2e{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=Te.asClassName(e?eI:JE)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class NS{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class YI{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class HQ{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var XI=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},RS=function(s,e){return function(t,i){e(t,i,s)}},AS;(function(s){s.OUTLINE_MODEL="outlineModel",s.FOLDING_PROVIDER_MODEL="foldingProviderModel",s.INDENTATION_MODEL="indentationModel"})(AS||(AS={}));var gh;(function(s){s[s.VALID=0]="VALID",s[s.INVALID=1]="INVALID",s[s.CANCELED=2]="CANCELED"})(gh||(gh={}));let tW=class extends F{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Dr(300)),this._updateOperation=this._register(new q),this._editor.getOption(116).defaultModel){case AS.OUTLINE_MODEL:this._modelProviders.push(new iW(this._editor,n));case AS.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new sW(this._editor,t,n));case AS.INDENTATION_MODEL:this._modelProviders.push(new nW(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 gh.CANCELED:return this._updateOperation.clear(),null;case gh.VALID:return t.stickyModel}}return null}).catch(t=>(He(t),null))}};tW=XI([RS(2,ye),RS(3,pe)],tW);class VQ extends F{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,gh.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=on(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?gh.CANCELED:(this._stickyModel=this.createStickyModel(e,i),gh.VALID):this._invalid()).then(void 0,i=>(He(i),gh.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let iW=class extends VQ{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return Id.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 HQ(o.uri,o.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(at.first(e.children.values())instanceof kX){const a=at.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 NS(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),d=new NS(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 YI(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 NS(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new YI(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 vB?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};iW=XI([RS(1,pe)],iW);class $Q extends VQ{constructor(e){super(e),this._foldingLimitReporter=new SX(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new HQ(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new YI(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 YI(new NS(e.getStartLineNumber(o),e.getEndLineNumber(o)+1),[],a);a.children.push(l),i.push(l)}return n}}let nW=class extends $Q{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new fB(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};nW=XI([RS(1,fi)],nW);let sW=class extends $Q{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=sh.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new _B(e.getModel(),n,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t,i;return(i=(t=this.provider)==null?void 0:t.compute(e))!=null?i:null}};sW=XI([RS(2,pe)],sW);var E2e=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},zQ=function(s,e){return function(t,i){e(t,i,s)}};class I2e{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let oW=class extends F{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 tW(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(Hv(a,e.startLineNumber,(d,u)=>d-u)),c=this.updateIndex(Hv(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 I2e(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}};oW=E2e([zQ(1,pe),zQ(2,fi)],oW);var D2e=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},Wb=function(s,e){return function(t,i){e(t,i,s)}},rW;let Ad=(jp=class extends F{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 x2e(this._editor),this._stickyLineCandidateProvider=new oW(this._editor,i,o),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=TS.Empty,this._onDidResize(),this._readConfiguration();const l=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(d=>{this._readConfigurationChange(d)})),this._register(z(l,ne.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(Wa(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(z(l,ne.MOUSE_DOWN,d=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(rW.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(L.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new q),t=this._register(new TE(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 L(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(Ci(n,ne.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 M(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 M(c,1)}this._revealPosition(l)})),this._register(Ci(n,ne.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(z(n,ne.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;X1(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new M(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(BY,o,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new ta(e,t);this._contextMenuService.showContextMenu({menuId:_e.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;uB(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,n;this._minRebuildFromLine=void 0,this._foldingModel=(n=await((i=sh.get(this._editor))==null?void 0:i.getFoldingModel()))!=null?n: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=TS.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 NS(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 TS(o,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},rW=jp,jp.ID="store.contrib.stickyScrollController",jp);Ad=rW=D2e([Wb(1,Lo),Wb(2,pe),Wb(3,ye),Wb(4,fi),Wb(5,nr),Wb(6,Ne)],Ad);class T2e extends As{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:S2e.View,toggled:{condition:K.equals("config.editor.stickyScroll.enabled",!0),title:p("stickyScroll","Sticky Scroll"),mnemonicTitle:p({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:_e.CommandPalette},{id:_e.MenubarAppearanceMenu,group:"4_editor",order:3},{id:_e.StickyScrollContext}]})}async run(e){const t=e.get(Ze),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const QI=100;class N2e extends $a{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:K.and(K.has("config.editor.stickyScroll.enabled"),I.stickyScrollVisible),menu:[{id:_e.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Ad.get(t))==null||i.focus()}}class R2e extends $a{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Me("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:QI,primary:18}})}runEditorCommand(e,t){var i;(i=Ad.get(t))==null||i.focusNext()}}class A2e extends $a{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Me("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:QI,primary:16}})}runEditorCommand(e,t){var i;(i=Ad.get(t))==null||i.focusPrevious()}}class M2e extends $a{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Me("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:QI,primary:3}})}runEditorCommand(e,t){var i;(i=Ad.get(t))==null||i.goToFocused()}}class P2e extends $a{constructor(){super({id:"editor.action.selectEditor",title:Me("selectEditor.title","Select Editor"),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:QI,primary:9}})}runEditorCommand(e,t){var i;(i=Ad.get(t))==null||i.selectEditor()}}ct(Ad.ID,Ad,1),zt(T2e),zt(N2e),zt(A2e),zt(R2e),zt(M2e),zt(P2e);var UQ=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},MS=function(s,e){return function(t,i){e(t,i,s)}};class O2e{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 aW=class extends foe{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(){var a;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=at.slice(t,i),o=at.slice(t,0,i);let r=5;for(const l of at.concat(n,o)){if(l.score===Ga.Default)continue;const c=new L(l.editStart.lineNumber,l.editStart.column,l.editInsertEnd.lineNumber,l.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),d=l.completion.insertTextRules&&l.completion.insertTextRules&4?{snippet:l.completion.insertText}:l.completion.insertText;e.push(new O2e(c,d,(a=l.filterTextLow)!=null?a:l.labelLow,l.completion.additionalTextEdits,l.completion.command,l)),r-->=0&&l.resolve(qe.None)}return e}};aW=UQ([MS(5,gI)],aW);let lW=class extends F{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(xb.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(xb.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 L(t.lineNumber,1,t.lineNumber,t.column));if(!d&&((g=this._lastResult)!=null&&g.canBeReused(e,t.lineNumber,c))){const f=new JX(h,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=f,this._lastResult.acquire(),u=this._lastResult}else{const f=await kB(this._languageFeatureService.completionProvider,e,t,new aS(void 0,_I.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 rh(f.items,t.column,new JX(h,0),mI.None,o.getOption(119),o.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},m);u=new aW(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(L.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}}};lW=UQ([MS(0,pe),MS(1,fd),MS(2,gI),MS(3,mt)],lW),E_(lW);class F2e extends ge{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()}`)}}Q(F2e);const iN=class iN extends As{constructor(){super({id:iN.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=!N_.getTabFocusMode();N_.setTabFocusMode(t),Os(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"))}};iN.ID="editor.action.toggleTabFocusMode";let cW=iN;zt(cW);var B2e=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},jQ=function(s,e){return function(t,i){e(t,i,s)}};let dW=class extends F{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){var u,h;super(),this._link=t,this._hoverService=n,this._enabled=!0,this.el=X(e,se("a.monaco-link",{tabIndex:(u=t.tabIndex)!=null?u:0,href:t.href},t.label)),this.hoverDelegate=(h=i.hoverDelegate)!=null?h:Fs("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new st(this.el,"click")),a=this._register(new st(this.el,"keypress")),l=ae.chain(a.event,g=>g.map(f=>new $t(f)).filter(f=>f.keyCode===3)),c=this._register(new st(this.el,jt.Tap)).event;this._register(ns.addTarget(this.el));const d=ae.any(r.event,l,c);this._register(d(g=>{this.enabled&&(ot.stop(g,!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!=null?e:"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};dW=B2e([jQ(3,$l),jQ(4,no)],dW);var qQ=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 W2e=26;let uW=class extends F{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(hW))}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,W2e)}};uW=qQ([KQ(1,ye)],uW);let hW=class extends F{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(ed,{}),this.element=se("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=se("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Sn(this.element)}show(e){Sn(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=X(this.element,se("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(se(`div${Te.asCSSSelector(e.icon)}`));const n=X(this.element,se("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=X(this.element,se("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(dW,this.messageActionsContainer,{...r,tabIndex:-1},{}));const o=X(this.element,se("div.action-container"));this.actionBar=this._register(new dr(o)),this.actionBar.push(this._register(new xo("banner.close","Close Banner",Te.asClassName(kq),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};hW=qQ([KQ(0,ye)],hW);var gW=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)}};const H2e=Yt("extensions-warning-message",ie.warning,p("warningIcon","Icon shown with a warning message in the extensions editor."));let PS=(Mv=class extends F{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 FS};else if(o.ambiguousCharacterCount>=r)a={message:p("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Vf};else if(o.invisibleCharacterCount>=r)a={message:p("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new OS};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:H2e,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(uW,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=V2e(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"?pse:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new fW(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new $2e(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},Mv.ID="editor.contrib.unicodeHighlighter",Mv);PS=gW([Hb(1,ro),Hb(2,Pz),Hb(3,ye)],PS);function V2e(s,e){return{nonBasicASCII:e.nonBasicASCII===Go?!s:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===Go?!s:e.includeComments,includeStrings:e.includeStrings===Go?!s:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let fW=class extends F{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:JI.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!R4(t,e))return null;const i=t.getValueInRange(e.range);return{reason:ZQ(i,this._options),inComment:A4(t,e),inString:M4(t,e)}}};fW=gW([Hb(3,ro)],fW);class $2e extends F{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=fM.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:JI.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 R4(t,e)?{reason:ZQ(i,this._options),inComment:A4(t,e),inString:M4(t,e)}:null}}const GQ=p("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let pW=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(PS.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=_W(u);let g;switch(c.reason.kind){case 0:{iw(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,_W(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,_W(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:${eD.ID}?${encodeURIComponent(JSON.stringify(f))}`,b=new ss("",!0).appendMarkdown(g).appendText(" ").appendLink(_,m,GQ);o.push(new pa(this,l.range,[b],!1,a++))}return o}renderHoverParts(e,t){return bDe(e,t,this._editor,this._languageService,this._openerService)}};pW=gW([Hb(1,ri),Hb(2,no)],pW);function mW(s){return`U+${s.toString(16).padStart(4,"0")}`}function _W(s){let e=`\`${mW(s)}\``;return eg.isInvisibleCharacter(s)||(e+=` "${`${z2e(s)}`}"`),e}function z2e(s){return s===96?"`` ` ``":"`"+String.fromCodePoint(s)+"`"}function ZQ(s,e){return fM.computeUnicodeHighlightReason(s,e)}const nN=class nN{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=$e.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}};nN.instance=new nN;let JI=nN;class U2e extends ge{constructor(){super({id:Vf.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(Ze);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ys.includeComments,!1,2)}}class j2e extends ge{constructor(){super({id:Vf.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(Ze);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ys.includeStrings,!1,2)}}const sN=class sN extends ge{constructor(){super({id:sN.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(Ze);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ys.ambiguousCharacters,!1,2)}};sN.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Vf=sN;const oN=class oN extends ge{constructor(){super({id:oN.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(Ze);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ys.invisibleCharacters,!1,2)}};oN.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let OS=oN;const rN=class rN extends ge{constructor(){super({id:rN.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(Ze);n&&this.runAction(n)}async runAction(e){await e.updateValue(Ys.nonBasicASCII,!1,2)}};rN.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let FS=rN;const aN=class aN extends ge{constructor(){super({id:aN.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(Hr),d=e.get(Ze);function u(f){return eg.isInvisibleCharacter(f)?p("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",mW(f)):p("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${mW(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()=>{K2e(d,[f])}});if(h.push({label:u(n),run:()=>q2e(d,[n])}),a){const f=new U2e;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(r){const f=new j2e;h.push({label:f.label,run:async()=>f.runAction(d)})}if(o.kind===0){const f=new Vf;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(o.kind===1){const f=new OS;h.push({label:f.label,run:async()=>f.runAction(d)})}else if(o.kind===2){const f=new FS;h.push({label:f.label,run:async()=>f.runAction(d)})}else G2e(o);const g=await c.pick(h,{title:GQ});g&&await g.run()}};aN.ID="editor.action.unicodeHighlight.showExcludeOptions";let eD=aN;async function q2e(s,e){const t=s.getValue(Ys.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await s.updateValue(Ys.allowedCharacters,i,2)}async function K2e(s,e){var n;const t=(n=s.inspect(Ys.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(Ys.allowedLocales,i,2)}function G2e(s){throw new Error(`Unexpected value: ${s}`)}Q(Vf),Q(OS),Q(FS),Q(eD),ct(PS.ID,PS,1),Lf.register(pW);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},YQ=function(s,e){return function(t,i){e(t,i,s)}};const XQ="ignoreUnusualLineTerminators";function Y2e(s,e,t){s.setModelProperty(e.uri,XQ,t)}function X2e(s,e){return s.getModelProperty(e.uri,XQ)}let tD=(Pv=class extends F{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()||X2e(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`.",Fr(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){Y2e(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},Pv.ID="editor.contrib.unusualLineTerminatorsDetector",Pv);tD=Z2e([YQ(1,Nw),YQ(2,mt)],tD),ct(tD.ID,tD,1);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},J2e=function(s,e){return function(t,i){e(t,i,s)}};class QQ{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,My,!1).map(a=>({range:a.range,kind:lm.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,My,!1).map(d=>({range:d.range,kind:lm.Text}));c&&o.set(a.uri,c)}return o}}let bW=class extends F{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new QQ)),this._register(e.multiDocumentHighlightProvider.register("*",new QQ))}};bW=Q2e([J2e(0,pe)],bW);var JQ=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},iD=function(s,e){return function(t,i){e(t,i,s)}},Wi,vW;const wW=new ue("hasWordHighlights",!1);function eJ(s,e,t,i){const n=s.ordered(e);return dA(n.map(o=>()=>Promise.resolve(o.provideDocumentHighlights(e,t,i)).then(void 0,Ti)),o=>o!=null).then(o=>{if(o){const r=new pn;return r.set(e.uri,o),r}return new pn})}function eOe(s,e,t,i,n,o){const r=s.ordered(e);return dA(r.map(a=>()=>{const l=o.filter(c=>oV(c)).filter(c=>qM(a.selector,c.uri,c.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,l,n)).then(void 0,Ti)}),a=>a!=null)}class tJ{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=on(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new L(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 tOe extends tJ{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return eJ(this._providers,e,t.getPosition(),n).then(o=>o||new pn)}}class iOe extends tJ{constructor(e,t,i,n,o){super(e,t,i),this._providers=n,this._otherModels=o}_compute(e,t,i,n){return eOe(this._providers,e,t.getPosition(),i,n,this._otherModels).then(o=>o||new pn)}}function nOe(s,e,t,i,n){return new tOe(e,t,n,s)}function sOe(s,e,t,i,n,o){return new iOe(e,t,n,s,o)}to("_executeDocumentHighlights",async(s,e,t)=>{const i=s.get(pe),n=await eJ(i.documentHighlightProvider,e,t,qe.None);return n==null?void 0:n.get(e.uri)});let CW=(zh=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 Dr(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=o,this._hasWordHighlights=wW.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=>{r0(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():Wi.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=Wi.query)==null?void 0:l.modelInfo)==null?void 0:c.model);break;case"multiFile":Wi.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,Wi.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(L.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);Os(`${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);Os(`${r}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=Wi.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),Wi.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()||Zw(n.getModel().uri,e==null?void 0:e.uri))continue;const o=Wi.storedDecorationIDs.get(n.getModel().uri);if(!o)continue;n.removeDecorations(o),i.push(n.getModel().uri);const r=fh.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)Wi.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==Ve.vscodeNotebookCell&&((i=(t=Wi.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==Ve.vscodeNotebookCell?(Wi.query=null,this._run()):(n=Wi.query)!=null&&n.modelInfo&&(Wi.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)!==Ve.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===Ve.vscodeNotebookCell){const o=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const l=a.getModel();l&&l!==e&&l.uri.scheme===Ve.vscodeNotebookCell&&o.push(l)}return o}const i=[],n=this.codeEditorService.listCodeEditors();for(const o of n){if(!y5(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){Wi.query=null,this._stopAll();return}const a=r.startColumn,l=r.endColumn,c=this._getWord();if(!c||c.startColumn>a||c.endColumn<l){Wi.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),Wi.query={modelInfo:{model:this.model,selection:r},word:c}}else if(!Wi.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(Zw(this.editor.getModel().uri,(n=Wi.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(!Wi.query||!Wi.query.modelInfo||Wi.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(Wi.query.modelInfo.model,Wi.query.modelInfo.selection,Wi.query.word,a),(o=this.workerRequest)==null||o.result.then(l=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=l||[],this._beginRenderDecorations())},He)}}computeWithModel(e,t,i,n){return n.length?sOe(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):nOe(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=fh.get(o);if(!r)continue;const a=[],l=(t=o.getModel())==null?void 0:t.uri;if(l&&this.workerRequestValue.has(l)){const c=Wi.storedDecorationIDs.get(l),d=this.workerRequestValue.get(l);if(d)for(const h of d)h.range&&a.push({range:h.range,options:qMe(h.kind)});let u=[];o.changeDecorations(h=>{u=h.deltaDecorations(c!=null?c:[],a)}),Wi.storedDecorationIDs=Wi.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()}},Wi=zh,zh.storedDecorationIDs=new pn,zh.query=null,zh);CW=Wi=JQ([iD(4,mt)],CW);let fh=(qp=class extends F{static get(e){return e.getContribution(vW.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const o=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new CW(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()}},vW=qp,qp.ID="editor.contrib.wordHighlighter",qp);fh=vW=JQ([iD(1,Ne),iD(2,pe),iD(3,mt)],fh);class iJ extends ge{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=fh.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class oOe extends iJ{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:wW,kbOpts:{kbExpr:I.editorTextFocus,primary:65,weight:100}})}}class rOe extends iJ{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:wW,kbOpts:{kbExpr:I.editorTextFocus,primary:1089,weight:100}})}}class aOe extends ge{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=fh.get(t);n&&n.restoreViewState(!0)}}ct(fh.ID,fh,0),Q(oOe),Q(rOe),Q(aOe),E_(bW);class nD extends Xi{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Ar(t.getOption(132),t.getOption(131)),o=t.getModel(),r=t.getSelections(),a=r.length>1,l=r.map(c=>{const d=new M(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=>_t.fromModelSelection(c))),l.length===1){const c=new M(l[0].positionLineNumber,l[0].positionColumn);t.revealPosition(c,0)}}_moveTo(e,t,i){return i?new be(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new be(t.lineNumber,t.column,t.lineNumber,t.column)}}class ph extends nD{_move(e,t,i,n,o){return kt.moveWordLeft(e,t,i,n,o)}}class mh extends nD{_move(e,t,i,n,o){return kt.moveWordRight(e,t,i,n)}}class lOe extends ph{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class cOe extends ph{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class dOe extends ph{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:K.and(I.textInputFocus,(e=K.and(Yw,Bk))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class uOe extends ph{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class hOe extends ph{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class gOe extends ph{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:K.and(I.textInputFocus,(e=K.and(Yw,Bk))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class fOe extends ph{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,o){return super._move(Ar(Na.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class pOe extends ph{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,o){return super._move(Ar(Na.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class mOe extends mh{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class _Oe extends mh{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:K.and(I.textInputFocus,(e=K.and(Yw,Bk))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class bOe extends mh{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class vOe extends mh{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class wOe extends mh{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:K.and(I.textInputFocus,(e=K.and(Yw,Bk))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class COe extends mh{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class SOe extends mh{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,o){return super._move(Ar(Na.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class yOe extends mh{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,o){return super._move(Ar(Na.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,o)}}class sD extends Xi{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=Ar(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 zn(f,"")});t.pushUndoStop(),t.executeCommands(this.id,h),t.pushUndoStop()}}class SW extends sD{_delete(e,t){const i=kt.deleteWordLeft(e,t);return i||new L(1,1,1,1)}}class yW extends sD{_delete(e,t){const i=kt.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),o=e.model.getLineMaxColumn(n);return new L(n,o,n,o)}}class xOe extends SW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:I.writable})}}class kOe extends SW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:I.writable})}}class LOe 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 EOe extends yW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:I.writable})}}class IOe extends yW{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:I.writable})}}class DOe extends yW{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class TOe extends ge{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=Ar(t.getOption(132),t.getOption(131)),o=t.getModel(),a=t.getSelections().map(l=>{const c=kt.deleteInsideWord(n,o,l);return new zn(c,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}ce(new lOe),ce(new cOe),ce(new dOe),ce(new uOe),ce(new hOe),ce(new gOe),ce(new mOe),ce(new _Oe),ce(new bOe),ce(new vOe),ce(new wOe),ce(new COe),ce(new fOe),ce(new pOe),ce(new SOe),ce(new yOe),ce(new xOe),ce(new kOe),ce(new LOe),ce(new EOe),ce(new IOe),ce(new DOe),Q(TOe);class NOe extends sD{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=xL.deleteWordPartLeft(e);return i||new L(1,1,1,1)}}class ROe extends sD{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=xL.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),o=e.model.getLineMaxColumn(n);return new L(n,o,n,o)}}class nJ extends nD{_move(e,t,i,n,o){return xL.moveWordPartLeft(e,t,i,o)}}class AOe extends nJ{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}lt.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class MOe extends nJ{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}lt.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class sJ extends nD{_move(e,t,i,n,o){return xL.moveWordPartRight(e,t,i)}}class POe extends sJ{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class OOe extends sJ{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}ce(new NOe),ce(new ROe),ce(new AOe),ce(new MOe),ce(new POe),ce(new OOe);const a6=class a6 extends F{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Oo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new ss(p("editor.simple.readonly","Cannot edit in read-only input")):t=new ss(p("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};a6.ID="editor.contrib.readOnlyMessageController";let oD=a6;ct(oD.ID,oD,2);var FOe=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},oJ=function(s,e){return function(t,i){e(t,i,s)}};let xW=class extends F{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Ye(this,void 0);const n=Wn("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),o=Wn("_textModel.onDidChangeContent",ae.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(so(async(r,a)=>{n.read(r),o.read(r);const l=a.add(new x0e),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(D6(ks(o=>o.range.endLineNumber-o.range.startLineNumber,Xr))),n.map(o=>({name:o.name,kind:o.kind,startLineNumber:o.range.startLineNumber}))}};xW=FOe([oJ(1,pe),oJ(2,oS)],xW),JL.setBreadcrumbsSourceFactory((s,e)=>e.createInstance(xW,s));const l6=class l6 extends F{constructor(e){super(),this.editor=e,this.widget=null,Ta&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new kW(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};l6.ID="editor.contrib.iPadShowKeyboard";let rD=l6;const lN=class lN extends F{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(z(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(z(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return lN.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};lN.ID="editor.contrib.ShowKeyboardWidget";let kW=lN;ct(rD.ID,rD,3);var BOe=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},rJ=function(s,e){return function(t,i){e(t,i,s)}},LW;let BS=(Kp=class extends F{static get(e){return e.getContribution(LW.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 EW(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},LW=Kp,Kp.ID="editor.contrib.inspectTokens",Kp);BS=LW=BOe([rJ(1,pr),rJ(2,ri)],BS);class WOe extends ge{constructor(){super({id:"editor.action.inspectTokens",label:i2.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=BS.get(t);i==null||i.launch()}}function HOe(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 VOe(s,e){const t=ki.get(e);if(t)return t;const i=s.encodeLanguageId(e);return{getInitialState:()=>qm,tokenize:(n,o,r)=>zP(e,r),tokenizeEncoded:(n,o,r)=>Rx(i,r)}}const cN=class cN extends F{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=VOe(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 cN._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,se("h2.tm-token",void 0,HOe(r),se("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),X(this._domNode,se("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,se("table.tm-metadata-table",void 0,se("tbody",void 0,se("tr",void 0,se("td.tm-metadata-key",void 0,"language"),se("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),se("tr",void 0,se("td.tm-metadata-key",void 0,"token type"),se("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),se("tr",void 0,se("td.tm-metadata-key",void 0,"font style"),se("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),se("tr",void 0,se("td.tm-metadata-key",void 0,"foreground"),se("td.tm-metadata-value",void 0,`${a?Z.Format.CSS.formatHex(a.foreground):"-?-"}`)),se("tr",void 0,se("td.tm-metadata-key",void 0,"background"),se("td.tm-metadata-value",void 0,`${a?Z.Format.CSS.formatHex(a.background):"-?-"}`))))),X(this._domNode,se("hr.tokens-inspect-separator")),i<t.tokens1.length&&X(this._domNode,se("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=ki.getColorMap(),i=io.getLanguageId(e),n=io.getTokenType(e),o=io.getFontStyle(e),r=io.getForeground(e),a=io.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]}}};cN._ID="editor.contrib.inspectTokensWidget";let EW=cN;ct(BS.ID,BS,4),Q(WOe);var $Oe=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},aJ=function(s,e){return function(t,i){e(t,i,s)}},WS;let IW=(Gp=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=gi.as(zg.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(WS.PREFIX.length));n&&n.prefix&&n.prefix!==WS.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==WS.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}})}},WS=Gp,Gp.PREFIX="?",Gp);IW=WS=$Oe([aJ(0,Hr),aJ(1,xt)],IW),gi.as(zg.Quickaccess).registerQuickAccessProvider({ctor:IW,prefix:"",helpEntries:[{description:n2.helpQuickAccessActionLabel}]});class lJ{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 nn);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){var r;const n=new q,o=this.activeTextEditorControl;if(o&&this.canProvideWithTextEditor(o)){const a={editor:o},l=MG(o);if(l){let c=(r=o.saveViewState())!=null?r:void 0;n.add(l.onDidChangeCursorPosition(()=>{var d;c=(d=o.saveViewState())!=null?d:void 0})),a.restoreViewState=()=>{c&&o===this.activeTextEditorControl&&o.restoreViewState(c)},n.add(iu(t.onCancellationRequested)(()=>{var d;return(d=a.restoreViewState)==null?void 0:d.call(a)}))}n.add(Se(()=>this.clearDecorations(o))),n.add(this.provideWithTextEditor(a,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&&jl(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return y5(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(SU),position:er.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 dN=class dN extends lJ{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,F.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(dN.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=MG(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,i;return(i=(t=this.getModel(e))==null?void 0:t.getLineCount())!=null?i:0}};dN.PREFIX=":";let DW=dN;var zOe=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},UOe=function(s,e){return function(t,i){e(t,i,s)}};let HS=class extends DW{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=ae.None}get activeTextEditorControl(){var e;return(e=this.editorService.getFocusedCodeEditor())!=null?e:void 0}};HS=zOe([UOe(0,mt)],HS);let cJ=(Zp=class extends ge{constructor(){super({id:Zp.ID,label:Ux.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:I.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Hr).quickAccess.show(HS.PREFIX)}},Zp.ID="editor.action.gotoLine",Zp);Q(cJ),gi.as(zg.Quickaccess).registerQuickAccessProvider({ctor:HS,prefix:HS.PREFIX,helpEntries:[{description:Ux.gotoLineActionLabel,commandId:cJ.ID}]});const dJ=[void 0,[]];function TW(s,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?jOe(s,n.values,t,i):uJ(s,e,t,i)}function jOe(s,e,t,i){let n=0;const o=[];for(const r of e){const[a,l]=uJ(s,r,t,i);if(typeof a!="number")return dJ;n+=a,o.push(...l)}return[n,qOe(o)]}function uJ(s,e,t,i){const n=kg(e.original,e.originalLowercase,t,s,s.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],qw(n)]:dJ}function qOe(s){const e=s.sort((n,o)=>n.start-o.start),t=[];let i;for(const n of e)!i||!KOe(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 KOe(s,e){return!(s.end<e.start||e.end<s.start)}function hJ(s){return s.startsWith('"')&&s.endsWith('"')}const gJ=" ";function NW(s){typeof s!="string"&&(s="");const e=s.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=fJ(s),o=t.indexOf(Ra)>=0,r=hJ(s);let a;const l=s.split(gJ);if(l.length>1)for(const c of l){const d=hJ(c),{pathNormalized:u,normalized:h,normalizedLowercase:g}=fJ(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 fJ(s){let e;Pn?e=s.replace(/\//g,Ra):e=s.replace(/\\/g,Ra);const t=are(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function pJ(s){return Array.isArray(s)?NW(s.map(e=>e.original).join(gJ)):NW(s.original)}var GOe=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},mJ=function(s,e){return function(t,i){e(t,i,s)}},aD;let $f=(Sl=class extends lJ{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.")),F.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):F.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 gm,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=NW(i.value.substr(aD.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=yw(f,_=>!!(_.type!=="separator"&&_.range&&L.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(aD.SCOPE_PREFIX)===0,l=a?1:0;let c,d;t.values&&t.values.length>1?(c=pJ(t.values[0]),d=pJ(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"?Te.asClassName(ie.splitHorizontal):Te.asClassName(ie.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=ore(w.name),S=`$(${Ky.toIcon(w.kind).id}) ${C}`,y=S.length-C.length;let k=w.containerName;i!=null&&i.extraContainerLabel&&(k?k=`${i.extraContainerLabel} • ${k}`:k=i.extraContainerLabel);let E,N,B,H;if(t.original.length>l){let U=!1;if(c!==t&&([E,N]=TW(S,{...t,values:void 0},l,y),typeof E=="number"&&(U=!0)),typeof E!="number"&&([E,N]=TW(S,c,l,y),typeof E!="number"))continue;if(!U&&d){if(k&&d.original.length>0&&([B,H]=TW(k,d)),typeof B!="number")continue;typeof E=="number"&&(E+=B)}}const V=w.tags&&w.tags.indexOf(1)>=0;g.push({index:v,kind:w.kind,score:E,label:S,ariaLabel:Qoe(w.name,w.kind),description:k,highlights:V?void 0:{label:N,description:H},range:{selection:L.collapseToStart(w.selectionRange),decoration:w.range},uri:o.uri,symbolName:C,strikethrough:V,buttons:u})}const f=g.sort((v,w)=>a?this.compareByKindAndScore(v,w):this.compareByScore(v,w));let m=[];if(a){let S=function(){w&&typeof v=="number"&&C>0&&(w.label=Qh(AW[v]||RW,C))},v,w,C=0;for(const y of f)v!==y.kind?(S(),v=y.kind,C=1,w={type:"separator"},m.push(w)):C++,m.push(y);S()}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=AW[e.kind]||RW,n=AW[t.kind]||RW,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()}},aD=Sl,Sl.PREFIX="@",Sl.SCOPE_PREFIX=":",Sl.PREFIX_BY_CATEGORY=`${Sl.PREFIX}${Sl.SCOPE_PREFIX}`,Sl);$f=aD=GOe([mJ(0,pe),mJ(1,oS)],$f);const RW=p("property","properties ({0})"),AW={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 ZOe=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},MW=function(s,e){return function(t,i){e(t,i,s)}};let PW=class extends $f{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=ae.None}get activeTextEditorControl(){var e;return(e=this.editorService.getFocusedCodeEditor())!=null?e:void 0}};PW=ZOe([MW(0,mt),MW(1,pe),MW(2,oS)],PW);const uN=class uN extends ge{constructor(){super({id:uN.ID,label:sC.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(Hr).quickAccess.show($f.PREFIX,{itemActivation:tl.NONE})}};uN.ID="editor.action.quickOutline";let lD=uN;Q(lD),gi.as(zg.Quickaccess).registerQuickAccessProvider({ctor:PW,prefix:$f.PREFIX,helpEntries:[{description:sC.quickOutlineActionLabel,prefix:$f.PREFIX,commandId:lD.ID},{description:sC.quickOutlineByCategoryActionLabel,prefix:$f.PREFIX_BY_CATEGORY}]});function YOe(s){var t;const e=new Map;for(const i of s)e.set(i,((t=e.get(i))!=null?t:0)+1);return e}class VS{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 YOe(VS.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){var t;for(const{key:i}of e)this.deleteDocument(i);for(const i of e){const n=[];for(const o of i.textChunks){const r=VS.termFrequencies(o);for(const a of r.keys())this.chunkOccurrences.set(a,((t=this.chunkOccurrences.get(a))!=null?t:0)+1);n.push({text:o,tf:r})}this.chunkCount+=n.length,this.documents.set(i.key,{chunks:n})}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=VS.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){var i;const t=(i=this.chunkOccurrences.get(e))!=null?i: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 XOe(s){var i,n;const e=s.slice(0);e.sort((o,r)=>r.score-o.score);const t=(n=(i=e[0])==null?void 0:i.score)!=null?n:0;if(t>0)for(const o of e)o.score/=t;return e}var Vb;(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"})(Vb||(Vb={}));function OW(s){const e=s;return Array.isArray(e.items)}function _J(s){const e=s;return!!e.picks&&e.additionalPicks instanceof Promise}class QOe extends F{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 nn),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 S;let w,C;if(OW(b)?(w=b.items,C=b.active):w=b,w.length===0){if(v)return!1;(h.length>0||e.hideInput)&&((S=this.options)!=null&&S.noResultsPick)&&($v(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 Wc(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 S,y;OW(b.picks)?(S=b.picks.items,y=b.picks.active):S=b.picks;let k,E;if(OW(C)?(k=C.items,E=C.active):k=C,k.length>0||!v){let N;if(!y&&!E){const B=e.activeItems[0];B&&S.indexOf(B)!==-1&&(N=B)}f({items:[...S,...k],active:y||E||N})}}finally{u.isCancellationRequested||(e.busy=!1),w=!0}})()])};if(g!==null)if(_J(g))await m(g);else if(!(g instanceof Promise))f(g);else{e.busy=!0;try{const b=await g;if(u.isCancellationRequested)return;_J(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,f;if(typeof u.trigger!="function")return;const h=(f=(g=u.buttons)==null?void 0:g.indexOf(d))!=null?f:-1;if(h>=0){const m=u.trigger(h,e.keyMods),_=typeof m=="number"?m:await m;if(t.isCancellationRequested)return;switch(_){case Vb.NO_ACTION:break;case Vb.CLOSE_PICKER:e.hide();break;case Vb.REFRESH_PICKER:a();break;case Vb.REMOVE_ITEM:{const b=e.items.indexOf(u);if(b!==-1){const v=e.items.slice(),w=v.splice(b,1),C=e.activeItems.filter(y=>y!==w[0]),S=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=v,C&&(e.activeItems=C),e.keepScrollPosition=S}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 bJ=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},_h=function(s,e){return function(t,i){e(t,i,s)}},zf,Yi;let FW=(Ec=class extends QOe{constructor(e,t,i,n,o,r){super(zf.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=o,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(BW)),this.options=e}async _getPicks(e,t,i,n){var g,f,m,_;const o=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=iu(()=>{const b=new VS;b.updateDocuments(o.map(w=>({key:w.commandId,textChunks:[this.getTfIdfChunk(w)]})));const v=b.calculateScores(e,i);return XOe(v).filter(w=>w.score>zf.TFIDF_THRESHOLD).slice(0,zf.TFIDF_MAX_RESULTS)}),a=[];for(const b of o){const v=(g=zf.WORD_FILTER(e,b.label))!=null?g:void 0,w=b.commandAlias&&(f=zf.WORD_FILTER(e,b.commandAlias))!=null?f:void 0;if(v||w)b.highlights={label:v,detail:this.options.showAlias?w:void 0},a.push(b);else if(e===b.commandId)a.push(b);else if(e.length>=3){const C=r();if(i.isCancellationRequested)return[];const S=C.find(y=>y.key===b.commandId);S&&(b.tfIdfScore=S.score,a.push(b))}}const l=new Map;for(const b of a){const v=l.get(b.label);v?(b.description=b.commandId,v.description=v.commandId):l.set(b.label,b)}a.sort((b,v)=>{if(b.tfIdfScore&&v.tfIdfScore)return b.tfIdfScore===v.tfIdfScore?b.label.localeCompare(v.label):v.tfIdfScore-b.tfIdfScore;if(b.tfIdfScore)return 1;if(v.tfIdfScore)return-1;const w=this.commandsHistory.peek(b.commandId),C=this.commandsHistory.peek(v.commandId);if(w&&C)return w>C?-1:1;if(w)return-1;if(C)return 1;if(this.options.suggestedCommandIds){const S=this.options.suggestedCommandIds.has(b.commandId),y=this.options.suggestedCommandIds.has(v.commandId);if(S&&y)return 0;if(S)return-1;if(y)return 1}return b.label.localeCompare(v.label)});const c=[];let d=!1,u=!0,h=!!this.options.suggestedCommandIds;for(let b=0;b<a.length;b++){const v=a[b];b===0&&this.commandsHistory.peek(v.commandId)&&(c.push({type:"separator",label:p("recentlyUsed","recently used")}),d=!0),u&&v.tfIdfScore!==void 0&&(c.push({type:"separator",label:p("suggested","similar commands")}),u=!1),h&&v.tfIdfScore===void 0&&!this.commandsHistory.peek(v.commandId)&&((m=this.options.suggestedCommandIds)!=null&&m.has(v.commandId))&&(c.push({type:"separator",label:p("commonlyUsed","commonly used")}),d=!0,h=!1),d&&v.tfIdfScore===void 0&&!this.commandsHistory.peek(v.commandId)&&!((_=this.options.suggestedCommandIds)!=null&&_.has(v.commandId))&&(c.push({type:"separator",label:p("morecCommands","other commands")}),d=!1),c.push(this.toCommandPick(v,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:c,additionalPicks:(async()=>{var w;const b=await this.getAdditionalCommandPicks(o,a,e,i);if(i.isCancellationRequested)return[];const v=b.map(C=>this.toCommandPick(C,n));return u&&((w=v[0])==null?void 0:w.type)!=="separator"&&v.unshift({type:"separator",label:p("suggested","similar commands")}),v})()}: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,r;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:(o=t==null?void 0:t.from)!=null?o:"quick open"});try{(r=e.args)!=null&&r.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(a){Lr(a)||this.dialogService.error(p("canNotRun","Command '{0}' resulted in an error",e.label),_E(a))}}}}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}},zf=Ec,Ec.PREFIX=">",Ec.TFIDF_THRESHOLD=.5,Ec.TFIDF_MAX_RESULTS=5,Ec.WORD_FILTER=wP(jw,bge,J$),Ec);FW=zf=bJ([_h(1,ye),_h(2,xt),_h(3,Ut),_h(4,is),_h(5,Nw)],FW);let BW=(yl=class extends F{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===bC.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Yi.getConfiguredCommandHistoryLength(this.configurationService),Yi.cache&&Yi.cache.limit!==this.configuredCommandsHistoryLength&&(Yi.cache.limit=this.configuredCommandsHistoryLength,Yi.hasChanges=!0))}load(){const e=this.storageService.get(Yi.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Yi.cache=new Pl(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))}Yi.counter=this.storageService.getNumber(Yi.PREF_KEY_COUNTER,0,Yi.counter)}push(e){Yi.cache&&(Yi.cache.set(e,Yi.counter++),Yi.hasChanges=!0)}peek(e){var t;return(t=Yi.cache)==null?void 0:t.peek(e)}saveState(){if(!Yi.cache||!Yi.hasChanges)return;const e={usesLRU:!0,entries:[]};Yi.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(Yi.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Yi.PREF_KEY_COUNTER,Yi.counter,0,0),Yi.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:Yi.DEFAULT_COMMANDS_HISTORY_LENGTH}},Yi=yl,yl.DEFAULT_COMMANDS_HISTORY_LENGTH=50,yl.PREF_KEY_CACHE="commandPalette.mru.cache",yl.PREF_KEY_COUNTER="commandPalette.mru.counter",yl.counter=1,yl.hasChanges=!1,yl);BW=Yi=bJ([_h(0,ha),_h(1,Ze),_h(2,Fn)],BW);class JOe extends FW{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&&(fme(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:NP(n.label)||n.id})}return t}}var eFe=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},$b=function(s,e){return function(t,i){e(t,i,s)}};let $S=class extends JOe{get activeTextEditorControl(){var e;return(e=this.codeEditorService.getFocusedCodeEditor())!=null?e: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[]}};$S=eFe([$b(0,ye),$b(1,mt),$b(2,xt),$b(3,Ut),$b(4,is),$b(5,Nw)],$S);const hN=class hN extends ge{constructor(){super({id:hN.ID,label:jx.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(Hr).quickAccess.show($S.PREFIX)}};hN.ID="editor.action.quickCommand";let cD=hN;Q(cD),gi.as(zg.Quickaccess).registerQuickAccessProvider({ctor:$S,prefix:$S.PREFIX,helpEntries:[{description:jx.quickCommandHelp,commandId:cD.ID}]});var tFe=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},zb=function(s,e){return function(t,i){e(t,i,s)}};let WW=class extends Df{constructor(e,t,i,n,o,r,a){super(!0,e,t,i,n,o,r,a)}};WW=tFe([zb(1,Ne),zb(2,mt),zb(3,Fi),zb(4,ye),zb(5,ha),zb(6,Ze)],WW),ct(Df.ID,WW,4);class iFe extends ge{constructor(){super({id:"editor.action.toggleHighContrast",label:o2.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(pr),n=i.getColorTheme();ja(n.type)?(i.setTheme(this._originalThemeName||(Pm(n.type)?y_:gd)),this._originalThemeName=null):(i.setTheme(Pm(n.type)?Xg:Qg),this._originalThemeName=n.themeName)}}Q(iFe);var nFe=Object.defineProperty,sFe=Object.getOwnPropertyDescriptor,oFe=(s,e,t,i)=>{for(var n=i>1?void 0:i?sFe(e,t):e,o=s.length-1,r;o>=0;o--)(r=s[o])&&(n=(i?r(e,t,n):r(n))||n);return i&&n&&nFe(e,t,n),n},rFe=(s,e)=>(t,i)=>e(t,i,s);wt.ScriptEditorService=class extends At.Disposable{constructor(t){super();Di(this,"_editorInstance",null);this._configService=t}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(t){return this._editorInstance=t,At.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const t=this._configService.getConfig(b6);window.MonacoEnvironment={getWorkerUrl:t==null?void 0:t.getWorkerUrl}}}},wt.ScriptEditorService=oFe([rFe(0,At.IConfigService)],wt.ScriptEditorService);var aFe=Object.defineProperty,lFe=Object.getOwnPropertyDescriptor,cFe=(s,e,t,i)=>{for(var n=i>1?void 0:i?lFe(e,t):e,o=s.length-1,r;o>=0;o--)(r=s[o])&&(n=(i?r(e,t,n):r(n))||n);return i&&n&&aFe(e,t,n),n},vJ=(s,e)=>(t,i)=>e(t,i,s);const HW=At.createIdentifier("univer.uniscript.execution-service");let VW=class extends At.Disposable{constructor(s,e){super(),this._logService=s,this._injector=e}async execute(s){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=At.FUniver.newAPI(this._injector),t=new Function("univerAPI",`(() => {${s}})()`);try{return t(e),!0}catch(i){return this._logService.error(i),!1}}};VW=cFe([vJ(0,At.ILogService),vJ(1,At.Inject(At.Injector))],VW);const dD={scriptEditorPanel:"univer-script-editor-panel",scriptEditorContent:"univer-script-editor-content",scriptEditorActions:"univer-script-editor-actions"};function dFe(){const s=Jp.useRef(null),e=Jp.useRef(null),t=Jp.useRef(null),i=At.useDependency(At.LocaleService),n=At.useDependency(xr.IShortcutService),o=At.useDependency(wt.ScriptEditorService);Jp.useEffect(()=>{const a=e.current,l=s.current;let c=null,d=null;if(a&&l){o.requireVscodeEditor();const u=t.current=WG.create(a,{value:"",language:"javascript"});d=new ResizeObserver(()=>{let g=requestIdleCallback(()=>{if(!g)return;const{height:f,width:m}=l.getBoundingClientRect();u.layout({width:m,height:f}),g=void 0})}),d.observe(l);let h;c=new At.DisposableCollection,c.add(o.setEditorInstance(u)),c.add(u.onDidFocusEditorWidget(()=>{h=n.forceEscape()})),c.add(u.onDidBlurEditorWidget(()=>{h==null||h.dispose(),h=void 0})),c.add(At.toDisposable(()=>h==null?void 0:h.dispose()))}return()=>{d&&l&&d.unobserve(l),c==null||c.dispose()}},[o,n]);const r=uFe(t);return Wv.jsxs("div",{className:dD.scriptEditorPanel,children:[Wv.jsx("div",{className:dD.scriptEditorContent,ref:s,children:Wv.jsx("div",{className:dD.scriptEditorContainer,ref:e})}),Wv.jsx("div",{className:dD.scriptEditorActions,children:Wv.jsx(SN.Button,{type:"primary",size:"small",onClick:r,children:i.t("script-panel.panel.execute")})})]})}function uFe(s){const e=At.useDependency(HW),t=At.useDependency(xr.IMessageService),i=At.useDependency(At.LocaleService);return Jp.useCallback(()=>{var o;const n=(o=s.current)==null?void 0:o.getModel();n&&e.execute(n.getValue()).then(()=>{t.show({content:i.t("uniscript.message.success"),type:SN.MessageType.Success})}).catch(()=>{t.show({content:i.t("uniscript.message.failed"),type:SN.MessageType.Error})})},[i,t,s,e])}function hFe(s){return{id:yy.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:xr.MenuItemType.BUTTON,hidden$:xr.getMenuHiddenObservable(s,At.UniverInstanceType.UNIVER_SHEET),disabled$:Gne.getCurrentRangeDisable$(s,{workbookTypes:[Fv.WorkbookEditablePermission],worksheetTypes:[Fv.WorksheetEditPermission,Fv.WorksheetSetCellStylePermission,Fv.WorksheetSetCellValuePermission],rangeTypes:[Fv.RangeProtectionPermissionEditPoint]})}}const gFe={[xr.RibbonStartGroup.OTHERS]:{[yy.id]:{order:5,menuItemFactory:hFe}}};var fFe=Object.defineProperty,pFe=Object.getOwnPropertyDescriptor,mFe=(s,e,t,i)=>{for(var n=i>1?void 0:i?pFe(e,t):e,o=s.length-1,r;o>=0;o--)(r=s[o])&&(n=(i?r(e,t,n):r(n))||n);return i&&n&&fFe(e,t,n),n},$W=(s,e)=>(t,i)=>e(t,i,s);let uD=class extends At.Disposable{constructor(s,e,t){super(),this._menuManagerService=s,this._menuManagerService.mergeMenu(gFe),this.disposeWithMe(t.register(w6,dFe)),this.disposeWithMe(e.registerCommand(yy))}};uD=mFe([$W(0,xr.IMenuManagerService),$W(1,At.ICommandService),$W(2,At.Inject(xr.ComponentManager))],uD);var _Fe=Object.defineProperty,bFe=Object.getOwnPropertyDescriptor,vFe=(s,e,t,i)=>{for(var n=i>1?void 0:i?bFe(e,t):e,o=s.length-1,r;o>=0;o--)(r=s[o])&&(n=(i?r(e,t,n):r(n))||n);return i&&n&&_Fe(e,t,n),n},wJ=(s,e)=>(t,i)=>e(t,i,s);const wFe="UNIVER_UNISCRIPT_PLUGIN";wt.UniverUniscriptPlugin=(c6=class extends At.Plugin{constructor(e=Zne,t,i){super(),this._config=e,this._injector=t,this._configService=i;const{menu:n,...o}=this._config;n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(b6,o)}onStarting(){const e=this._injector;[[uD],[wt.ScriptEditorService],[v6]].forEach(i=>e.add(i)),this.registerExecution()}onSteady(){this._injector.get(uD)}registerExecution(){this._injector.add([HW,{useClass:VW}])}},Di(c6,"pluginName",wFe),c6),wt.UniverUniscriptPlugin=vFe([wJ(1,At.Inject(At.Injector)),wJ(2,At.IConfigService)],wt.UniverUniscriptPlugin);/*!-----------------------------------------------------------------------------
|
1164
1164
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
1165
1165
|
* Version: 0.52.0(f6dc0eb8fce67e57f6036f4769d92c1666cdf546)
|
1166
1166
|
* Released under the MIT license
|