@jxsuite/studio 5.5.0 → 5.7.0
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/LICENSE +1 -1
- package/dist/chunks/{2020-g8mwpbkq.js → 2020-cs2sb9t1.js} +3 -3
- package/dist/chunks/adapter-y5gdq19c.js +4 -0
- package/dist/chunks/cf-account-picker-882a7ecm.js +4 -0
- package/dist/chunks/cf-settings-20dznc3j.js +4 -0
- package/dist/chunks/components-q037dya7.js +4 -0
- package/dist/chunks/content-source-37x3vsap.js +4 -0
- package/dist/chunks/convert-to-repeater-grfep2w8.js +4 -0
- package/dist/chunks/editor-j5sq149q.js +4 -0
- package/dist/chunks/entry-commands-c5h3nqck.js +4 -0
- package/dist/chunks/extension-sections-dp8endhx.js +4 -0
- package/dist/chunks/file-ops-937cvqk6.js +4 -0
- package/dist/chunks/files-tznwe1p1.js +4 -0
- package/dist/chunks/format-host-e2pjvd25.js +4 -0
- package/dist/chunks/fs-events-fv64ak3s.js +4 -0
- package/dist/chunks/git-panel-gb713ttc.js +4 -0
- package/dist/chunks/grid-view-5amhg604.js +51 -0
- package/dist/chunks/grid-view-5mqv1cbd.css +1 -0
- package/dist/chunks/iframe-host-t819mcg5.js +4 -0
- package/dist/chunks/{index-arg188jq.js → index-9ydfe04y.js} +3 -3
- package/dist/chunks/index-m0x5ztax.js +4 -0
- package/dist/chunks/{javascript-zcdmye2k.js → javascript-d9pqgc2p.js} +2 -2
- package/dist/chunks/{jsonMode-6x5e1nbf.js → jsonMode-800yvbem.js} +5 -5
- package/dist/chunks/jx-validate-zc9zp77s.js +4 -0
- package/dist/chunks/layers-4bsr82wz.js +4 -0
- package/dist/chunks/layers-panel-b6shnaax.js +4 -0
- package/dist/chunks/lit-html-cfn61dn7.js +4 -0
- package/dist/chunks/media-picker-ej0kdh1j.js +4 -0
- package/dist/chunks/menu-rtxf9chb.js +4 -0
- package/dist/chunks/{monaco-binding-4az2kh5p.js → monaco-binding-62dtmgbf.js} +3 -3
- package/dist/chunks/monaco-buffer-nn4dtx27.js +4 -0
- package/dist/chunks/{monaco-setup-d7mwkcx3.js → monaco-setup-tj13ndtm.js} +3 -3
- package/dist/chunks/notify-ahs57a2z.js +4 -0
- package/dist/chunks/platform-v9xyfkbx.js +4 -0
- package/dist/chunks/publish-panel-bq36xcmj.js +4 -0
- package/dist/chunks/quick-search-zm00h9dh.js +4 -0
- package/dist/chunks/references-99ws0b0m.js +4 -0
- package/dist/chunks/right-panel-pq2f71q3.js +4 -0
- package/dist/chunks/section-registry-b2yzp9sw.js +4 -0
- package/dist/chunks/studio-01kbbqg3.js +928 -0
- package/dist/chunks/{studio-hf4qdjc8.js → studio-01qza1n3.js} +4 -4
- package/dist/chunks/{studio-pkkw32j0.js → studio-03wwfvyt.js} +4 -4
- package/dist/chunks/{studio-7gqyhjns.js → studio-0bbxhhce.js} +4 -4
- package/dist/chunks/studio-0k9mvpgj.js +14 -0
- package/dist/chunks/studio-0scebvb9.js +6 -0
- package/dist/chunks/studio-1a99w39s.js +5 -0
- package/dist/chunks/studio-1wvfxkyy.js +5 -0
- package/dist/chunks/studio-1x8x26k3.js +5 -0
- package/dist/chunks/studio-222rqyyc.js +5 -0
- package/dist/chunks/studio-4xppwncr.js +4 -0
- package/dist/chunks/{studio-xcng8nx7.js → studio-54g077x3.js} +5 -5
- package/dist/chunks/studio-56z7evx4.js +10 -0
- package/dist/chunks/studio-5e9zsamh.js +9 -0
- package/dist/chunks/studio-65fhspdd.js +5 -0
- package/dist/chunks/studio-693nhyky.js +5 -0
- package/dist/chunks/{studio-7jazdy6y.js → studio-7pgy3xaf.js} +4 -4
- package/dist/chunks/studio-888knnkc.js +5 -0
- package/dist/chunks/studio-9mqfamps.js +5 -0
- package/dist/chunks/studio-a7xqhc3n.js +5 -0
- package/dist/chunks/studio-aje966s9.js +5 -0
- package/dist/chunks/studio-aqmph6k4.js +5 -0
- package/dist/chunks/studio-c6w3tq7t.js +5 -0
- package/dist/chunks/{studio-6j2jn55a.js → studio-c6zdm25z.js} +8 -8
- package/dist/chunks/{studio-f8jyp45j.js → studio-c9d3pxf7.js} +4 -4
- package/dist/chunks/studio-ceb34dxj.js +5 -0
- package/dist/chunks/studio-cvbkkfqb.js +5 -0
- package/dist/chunks/studio-cxt150pj.js +7 -0
- package/dist/chunks/studio-dkn3x3hz.js +5 -0
- package/dist/chunks/studio-e6re3rk1.js +5 -0
- package/dist/chunks/{studio-5n1km79v.js → studio-edbtvcd1.js} +4 -4
- package/dist/chunks/{studio-xc8ebsts.js → studio-eh0rac07.js} +4 -4
- package/dist/chunks/{studio-625ezz59.js → studio-evwgp1ym.js} +4 -4
- package/dist/chunks/{studio-he2fhrgp.js → studio-f195h2hq.js} +4 -4
- package/dist/chunks/studio-fqq890ap.js +4 -0
- package/dist/chunks/studio-frb0qbf7.js +6 -0
- package/dist/chunks/studio-gfn1kpxj.js +6 -0
- package/dist/chunks/studio-gh97gngt.js +5 -0
- package/dist/chunks/{studio-awqghqxv.js → studio-gp02nqnw.js} +4 -4
- package/dist/chunks/{studio-x9sagq2d.js → studio-hjbg8d5y.js} +7 -7
- package/dist/chunks/studio-j6gnhvaa.js +5 -0
- package/dist/chunks/studio-mwxgyn9h.js +7 -0
- package/dist/chunks/{studio-x5esgzct.js → studio-n78gjfy8.js} +4 -4
- package/dist/chunks/studio-nbxqcgvf.js +5 -0
- package/dist/chunks/{studio-p1eggxcf.js → studio-nt06yybj.js} +4 -4
- package/dist/chunks/{studio-hc9q4j24.js → studio-p7c1agz0.js} +5 -5
- package/dist/chunks/{studio-8r4y2x0z.js → studio-pwqfmt4p.js} +4 -4
- package/dist/chunks/{studio-5wfrgee9.js → studio-r3kaka4d.js} +4 -4
- package/dist/chunks/studio-semd1s8s.js +5 -0
- package/dist/chunks/studio-skzanb0k.js +5 -0
- package/dist/chunks/studio-spf2skgc.js +5 -0
- package/dist/chunks/{studio-b4epb26c.js → studio-st75kn99.js} +7 -7
- package/dist/chunks/{studio-eq27rrr0.js → studio-sxc0zvpt.js} +3 -3
- package/dist/chunks/studio-t1eedsyx.js +4 -0
- package/dist/chunks/{studio-73czgk6a.js → studio-tp642n5g.js} +4 -4
- package/dist/chunks/studio-tw7rre6s.js +5 -0
- package/dist/chunks/{studio-7by9a93k.js → studio-tzegmy4w.js} +4 -4
- package/dist/chunks/studio-vavmwshr.js +5 -0
- package/dist/chunks/studio-wma2c6g8.js +5 -0
- package/dist/chunks/studio-x92tgnee.js +64 -0
- package/dist/chunks/studio-xk0z6msk.js +5 -0
- package/dist/chunks/{studio-c4pnt1c6.js → studio-xry7tk3z.js} +5 -5
- package/dist/chunks/studio-xta2vxp6.js +9 -0
- package/dist/chunks/{studio-21enxdr8.js → studio-xy3tv3az.js} +4 -4
- package/dist/chunks/studio-y7jehjrp.js +5 -0
- package/dist/chunks/{studio-k1eaqyzm.js → studio-yr04mv2j.js} +4 -4
- package/dist/chunks/{studio-mhhc9btt.js → studio-zd4kayn2.js} +4 -4
- package/dist/chunks/studio-zpnk016a.js +16 -0
- package/dist/chunks/{tsMode-rtwt7w1a.js → tsMode-k9s9fcag.js} +5 -5
- package/dist/chunks/workspace-b69mgm0e.js +4 -0
- package/dist/chunks/ws-client-0ja08haa.js +4 -0
- package/dist/iframe-entry.js +14 -14
- package/dist/manifest.json +62 -59
- package/dist/studio.css +1 -1
- package/dist/studio.js +121 -123
- package/package.json +5 -5
- package/src/account/action-flow.ts +294 -0
- package/src/account/action-required.ts +68 -0
- package/src/account-status.ts +29 -1
- package/src/browse/library-model.ts +3 -1
- package/src/browse/library-preview.ts +6 -2
- package/src/canvas/asset-refs.ts +3 -1
- package/src/canvas/asset-resolve.ts +79 -1
- package/src/canvas/iframe-entry.ts +38 -1
- package/src/canvas/iframe-host.ts +85 -0
- package/src/canvas/iframe-protocol.ts +13 -0
- package/src/canvas/stage-scrollbar.ts +7 -7
- package/src/files/asset-versions.ts +294 -0
- package/src/files/file-ops.ts +5 -8
- package/src/files/files.ts +61 -9
- package/src/files/fs-events.ts +279 -28
- package/src/files/media-meta.ts +2 -1
- package/src/files/media-paths.ts +5 -2
- package/src/files/media-upload.ts +5 -1
- package/src/new-project/add-repo-modal.ts +12 -1
- package/src/new-project/new-project-modal.ts +12 -1
- package/src/panels/git-panel.ts +25 -2
- package/src/panels/jump-bar.ts +132 -158
- package/src/panels/pane-context.ts +8 -8
- package/src/panels/pane-grid.ts +18 -26
- package/src/panels/style-panel.ts +2 -2
- package/src/platform-errors.ts +61 -1
- package/src/platforms/cloud.ts +389 -50
- package/src/platforms/devserver.ts +17 -1
- package/src/publish/pages-service.ts +17 -7
- package/src/services/ai-models.ts +30 -6
- package/src/services/ai-system-prompt.ts +81 -51
- package/src/services/context-manager.ts +41 -70
- package/src/services/document-assistant.ts +12 -3
- package/src/services/harness/chat-reducer.ts +115 -0
- package/src/services/harness/turn-hooks.ts +50 -0
- package/src/services/tool-executor.ts +69 -288
- package/src/services/tool-outcomes.ts +12 -10
- package/src/settings/preferences-accounts.ts +42 -3
- package/src/settings/preferences-dialog.ts +8 -1
- package/src/studio.ts +20 -6
- package/src/surfaces/block-action-bar.json +6 -1
- package/src/surfaces/dialog.ts +5 -0
- package/src/surfaces/jump-bar.json +9 -12
- package/src/surfaces/jump-bar.ts +15 -16
- package/src/surfaces/pane-context.json +2 -2
- package/src/surfaces/pane-grid.json +8 -25
- package/src/surfaces/pane-grid.ts +7 -8
- package/src/surfaces/statusbar.json +71 -3
- package/src/surfaces/statusbar.ts +66 -139
- package/src/surfaces/style-panel.json +3 -3
- package/src/surfaces/style-panel.ts +11 -1
- package/src/surfaces/welcome.json +86 -1
- package/src/surfaces/welcome.ts +61 -2
- package/src/types.ts +84 -2
- package/src/ui/ai-managed-connect.ts +41 -4
- package/src/ui/media-picker.ts +2 -1
- package/dist/chunks/adapter-bsbs78x9.js +0 -4
- package/dist/chunks/cf-account-picker-gnm7xeqb.js +0 -4
- package/dist/chunks/cf-settings-9y6jyscp.js +0 -4
- package/dist/chunks/components-s51h3b7c.js +0 -4
- package/dist/chunks/content-source-ty3be0qg.js +0 -4
- package/dist/chunks/convert-to-repeater-c3e7q61z.js +0 -4
- package/dist/chunks/editor-t002b41m.js +0 -4
- package/dist/chunks/entry-commands-sb72e9gy.js +0 -4
- package/dist/chunks/extension-sections-ktn2ntnj.js +0 -4
- package/dist/chunks/file-ops-78zeytkm.js +0 -4
- package/dist/chunks/files-gatzrz8v.js +0 -4
- package/dist/chunks/format-host-r59b1651.js +0 -4
- package/dist/chunks/fs-events-f8h91ndt.js +0 -4
- package/dist/chunks/git-panel-y12zf7nj.js +0 -4
- package/dist/chunks/grid-view-rfd8b2pg.js +0 -51
- package/dist/chunks/grid-view-tafenfm2.css +0 -1
- package/dist/chunks/iframe-host-vsrsj20g.js +0 -4
- package/dist/chunks/index-5aghyrfh.js +0 -4
- package/dist/chunks/jx-validate-653krkrf.js +0 -4
- package/dist/chunks/layers-32p8gtae.js +0 -4
- package/dist/chunks/layers-panel-rs58m105.js +0 -4
- package/dist/chunks/lit-html-54bmkwz3.js +0 -4
- package/dist/chunks/media-picker-5bb04wct.js +0 -4
- package/dist/chunks/menu-cbha7w2e.js +0 -4
- package/dist/chunks/monaco-buffer-9vbbyfr1.js +0 -4
- package/dist/chunks/notify-dc1nz5ar.js +0 -4
- package/dist/chunks/platform-2m49s1zf.js +0 -4
- package/dist/chunks/publish-panel-nx3ycmma.js +0 -4
- package/dist/chunks/quick-search-yzrzh9x3.js +0 -4
- package/dist/chunks/references-vx7mbj9f.js +0 -4
- package/dist/chunks/right-panel-7jzpbxja.js +0 -4
- package/dist/chunks/section-registry-gjryse41.js +0 -4
- package/dist/chunks/studio-3znfhcxg.js +0 -5
- package/dist/chunks/studio-58qam27v.js +0 -4
- package/dist/chunks/studio-6j59fwaw.js +0 -5
- package/dist/chunks/studio-7z69g1gx.js +0 -5
- package/dist/chunks/studio-93j3v6zx.js +0 -5
- package/dist/chunks/studio-9gf6v8zy.js +0 -5
- package/dist/chunks/studio-9rhmettf.js +0 -4
- package/dist/chunks/studio-ac5aq677.js +0 -10
- package/dist/chunks/studio-as65vbns.js +0 -5
- package/dist/chunks/studio-bkv0sga4.js +0 -6
- package/dist/chunks/studio-bttmqef4.js +0 -5
- package/dist/chunks/studio-c3y9d41k.js +0 -5
- package/dist/chunks/studio-ccegp7gz.js +0 -9
- package/dist/chunks/studio-chxabn98.js +0 -6
- package/dist/chunks/studio-cktcdsxz.js +0 -16
- package/dist/chunks/studio-cnspfke5.js +0 -5
- package/dist/chunks/studio-de3p1ktm.js +0 -5
- package/dist/chunks/studio-fsbcn530.js +0 -928
- package/dist/chunks/studio-gftga7a3.js +0 -64
- package/dist/chunks/studio-hf1rpcq0.js +0 -4
- package/dist/chunks/studio-hz02hq70.js +0 -5
- package/dist/chunks/studio-jnb285we.js +0 -5
- package/dist/chunks/studio-jsv3s3s1.js +0 -5
- package/dist/chunks/studio-ks7cksh0.js +0 -5
- package/dist/chunks/studio-nptx0dbs.js +0 -5
- package/dist/chunks/studio-pg0z7k98.js +0 -5
- package/dist/chunks/studio-pve0b2f2.js +0 -5
- package/dist/chunks/studio-q7zmjv3b.js +0 -6
- package/dist/chunks/studio-rpmvw7kj.js +0 -5
- package/dist/chunks/studio-rwhss52s.js +0 -5
- package/dist/chunks/studio-sbg3g3h0.js +0 -5
- package/dist/chunks/studio-sq1bn60g.js +0 -14
- package/dist/chunks/studio-vwz7rma2.js +0 -5
- package/dist/chunks/studio-wa55e8gf.js +0 -5
- package/dist/chunks/studio-x0mzdha2.js +0 -5
- package/dist/chunks/studio-xrgpakvc.js +0 -9
- package/dist/chunks/studio-xt3djk1w.js +0 -7
- package/dist/chunks/studio-yh3nggx1.js +0 -7
- package/dist/chunks/studio-zmecp6hq.js +0 -5
- package/dist/chunks/workspace-g6dvaete.js +0 -4
- package/dist/chunks/ws-client-shf41j5p.js +0 -4
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{_t,Lr,qr,Hu}from"./studio-semd1s8s.js";function Rf(){return Lr(_t.cfToken)}function $_(t){qr(_t.cfToken,t||"")}function D_(){return Lr(_t.cfAccountId)}function h$(t){qr(_t.cfAccountId,t||"")}function A_(){Hu([_t.cfToken,_t.cfAccountId])}
|
|
2
|
+
export{Rf,$_,D_,h$,A_};
|
|
3
|
+
|
|
4
|
+
//# debugId=35E77CC9D5BD485E64756E2164756E21
|
|
5
|
+
//# sourceMappingURL=studio-1a99w39s.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
function v(s,n={}){let t=n.baseMs??1000,o=n.maxMs??30000,i=n.random??Math.random,e=Math.min(o,t*2**Math.max(0,s));return e/2+i()*e/2}function zg(s,n={}){let t=n.win??(typeof window>"u"?void 0:window),o=n.doc??(typeof document>"u"?void 0:document),i=0,e=null,r=!1,a=()=>{if(e=null,!r)s()},c=()=>{if(r||e===null)return;clearTimeout(e),i=0,a()},u=(d)=>{if(d.persisted)c()},l=()=>{if(o?.visibilityState==="visible")c()};return t?.addEventListener("online",c),t?.addEventListener("pageshow",u),o?.addEventListener("visibilitychange",l),{dispose(){if(r)return;if(r=!0,e!==null)clearTimeout(e),e=null;t?.removeEventListener("online",c),t?.removeEventListener("pageshow",u),o?.removeEventListener("visibilitychange",l)},opened(){i=0},scheduleRetry(){if(r||e!==null)return;let d=v(i,n);i+=1,e=setTimeout(a,d)},wake:c}}
|
|
2
|
+
export{zg};
|
|
3
|
+
|
|
4
|
+
//# debugId=34607FEE061EF8D964756E2164756E21
|
|
5
|
+
//# sourceMappingURL=studio-1wvfxkyy.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{p}from"./studio-y7jehjrp.js";import{me}from"./studio-0bbxhhce.js";var s=null,y=null,h=null,g=!1;function E(n){return h=n,g=!0,s?P():Promise.resolve()}async function P(){if(!g)return;g=!1;try{let{applyProjectSchemas:n}=await (me("tj13ndtm"),import("./monaco-setup-tj13ndtm.js"));n(h)}catch{}}function Ep(){if(s)return Promise.resolve(s);return y??=(async()=>{let[n]=await Promise.all([(me("j5sq149q"),import("./editor-j5sq149q.js")),(me("tj13ndtm"),import("./monaco-setup-tj13ndtm.js"))]);return s=n,await P(),s})(),y}function th(){return s}function Rm(n,t,o){if(!n?.isConnected||t)return!1;return o()}var r=[],l=null;function qt(){if(!l)l=(async()=>{try{r=await p().listFormats?.()??[]}catch{r=[]}return r})();return l}function Md(){l=null,r=[],m=null,a=[],d=null,c=[]}var a=[],m=null;function Pd(){if(!m)m=(async()=>{try{a=await p().listExtensions?.()??[]}catch{a=[]}return a})();return m}function $m(){return a}var c=[],d=null;function F(){if(!d)d=(async()=>{try{c=await p().listExtensionCatalog?.()??[]}catch{c=[]}return c})();return d}function Lv(){return c}async function M(n){let t=null;try{t=await n.fetchProjectSchemas?.()??null}catch{}E(t),await (me("zc9zp77s"),import("./jx-validate-zc9zp77s.js")).then(({applyProjectSchemas:o})=>o(t)).catch(()=>!1)}function Ga(n){M(n),F(),(me("dp8endhx"),import("./extension-sections-dp8endhx.js")).then(({syncExtensionSettingsSections:t})=>t()).catch(()=>{})}function Tp(){return r}function Vs(n,t){let o=n.startsWith(".")?n.toLowerCase():`.${n.toLowerCase()}`;return r.find((e)=>e.extensions.includes(o)&&(!t||e.capabilities[t]))}function wi(n){if(!n)return;return r.find((t)=>t.name===n)}function Lp(n){return Error(`No format class imported for "${n}" — add one to project.json imports `+`(e.g. "Markdown": "@jxsuite/parser/Markdown.class.json") and make sure the project's dependencies are installed`)}function Zt(n){if(!n)return;let t=n.lastIndexOf(".");if(t===-1)return;return Vs(n.slice(t))}function Ka(n){let t=new Set;for(let o of r){if(n&&!o.documentKinds.includes(n))continue;for(let e of o.extensions)t.add(e)}return t.delete(".json"),[...t]}function Dr(){return r.find((n)=>n.capabilities.serialize&&n.documentKinds.includes("content"))}async function k(n){let t=p();if(!t.formatAction)throw Error("Platform does not support format actions");return t.formatAction(n)}async function ck(n,t,o){return await k({action:"parse",format:n,options:o,source:t})}async function Us(n,t,o){return await k({action:"serialize",doc:t,format:n,options:o})}function dk(n,t){let o=n?.studio?.documentMode,e=o?.componentWhen;if(e?.frontmatterKey){let i=t[e.frontmatterKey],u=e.matches?new RegExp(e.matches):/./;if(typeof i==="string"&&u.test(i))return{document:t,frontmatter:{},mode:"component"}}if(o?.default==="component")return{document:t,frontmatter:{},mode:"component"};let f=t.children??[];if(f.length===0)f.push({children:[],tagName:"p"});let S=new Set(["state","imports"]),x={children:f},w={};for(let[i,u]of Object.entries(t)){if(i==="children")continue;if(S.has(i))x[i]=u;else w[i]=u}return{document:x,frontmatter:w,mode:"content"}}
|
|
2
|
+
export{Ep,th,Rm,qt,Md,Pd,$m,Lv,Ga,Tp,Vs,wi,Lp,Zt,Ka,Dr,ck,Us,dk};
|
|
3
|
+
|
|
4
|
+
//# debugId=AFD18F3445E6650C64756E2164756E21
|
|
5
|
+
//# sourceMappingURL=studio-1x8x26k3.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{p,We}from"./studio-y7jehjrp.js";import{_t,Lr,aL,Xb,Qb,qr,cL,Hu}from"./studio-semd1s8s.js";import{k}from"./studio-fqq890ap.js";import{bs,Ct}from"./studio-spf2skgc.js";var s=null;async function bc(){if(!We()||typeof p().getAccountStatus!=="function"){s=null;return}try{s=await p().getAccountStatus?.()??null}catch{s=null}}function Ww(){return s}function Vw(){return s!==null&&s.installations.length===0&&Boolean(s.appInstallUrl)}function eT(){if(s===null)return null;let e=s.installations.flatMap((t)=>t.manageUrl?[{account:t.account??`Installation ${t.id}`,url:t.manageUrl}]:[]);if(e.length===0&&!s.appInstallUrl)return null;return{manage:e,...s.appInstallUrl?{installUrl:s.appInstallUrl}:{}}}function tT(){return s?.entries??[]}function F1(){return(s?.notices??[]).filter((e)=>e.display!=="toast")}var j=new Set;function I(){let e=(s?.notices??[]).filter((t)=>t.display==="toast"&&!j.has(t.id));for(let t of e)j.add(t.id);return e}var M="https://jxsuite.com/problems/";function Xf(e){if(typeof e!=="string"||!e.startsWith("https://jxsuite.com/problems/"))return null;let t=e.slice(29);return t===""?null:t}function Ro(e){if(typeof e==="string")return e.trim()===""?null:e;if(!e||typeof e!=="object")return null;let t=e;for(let o of[t.detail,t.error,t.title])if(typeof o==="string"&&o.trim()!=="")return o;return null}function Fs(e,t){return Ro(e)??(t===void 0?"Request failed":`Request failed (${t})`)}var a=(e,t,o,r)=>({status:t,title:o,type:`${M}${e}`,...r===void 0?{}:{extensions:r}}),re={invalidRequest:a("invalid-request",400,"The request was malformed or incomplete"),notFound:a("not-found",404,"The requested resource does not exist"),methodNotAllowed:a("method-not-allowed",405,"That method is not allowed on this route"),conflict:a("conflict",409,"The request conflicts with the current state",["conflicts"]),payloadTooLarge:a("payload-too-large",413,"The request body is too large"),unauthorized:a("unauthorized",401,"Credentials are missing or not accepted"),forbidden:a("forbidden",403,"The request was refused"),needsInstallationAccess:a("needs-installation-access",403,"The GitHub App is not installed for that account",["installUrl"]),pathOutsideProject:a("path-outside-project",403,"The path resolves outside the active project"),actionRequired:a("action-required",403,"An action is required first",["actions","heading","retry"]),noActiveProject:a("no-active-project",409,"No project is active on this backend"),capabilityUnavailable:a("capability-unavailable",501,"This backend does not provide that capability"),upstreamFailure:a("upstream-failure",502,"An upstream service failed",["upstream"]),internalError:a("internal-error",500,"The backend failed to complete the request")};var Uw=".jx-loc-id",n=(e,t,o,r)=>({method:e,path:t,optional:r!==void 0,summary:o,...r===void 0?{}:{degradation:r}}),se={activate:n("POST","/__studio/activate","Bind the backend to a project root"),project:n("GET","/__studio/project","Root project metadata {name, root}"),projectInfo:n("GET","/__studio/project-info","Probe a directory: {isSiteProject, projectConfig?, directories?}"),resolveSite:n("GET","/__studio/resolve-site","Resolve the owning site of a file path {sitePath, projectConfig?, fileRelPath?}"),sites:n("GET","/__studio/sites","Enumerate site projects [{config, path}] (backs listProjects)","The welcome screen's Projects catalogue stays hidden."),findProject:n("GET","/__studio/find-project","Locate a project directory by name outside the root","openProject falls back to config-matching only."),locateDirectory:n("GET","/__studio/locate-directory","Resolve the absolute path of a showDirectoryPicker() folder by the id in its .jx-loc-id","Browse… reports that the folder could not be placed; the Location is typed by hand."),createProject:n("POST","/__studio/create-project","Scaffold a project at a caller-chosen destination → {root, config}"),starters:n("GET","/__studio/starters","Starter templates (StarterInfo[])","The New Project picker offers only blank/templates."),importSite:n("POST","/__studio/import-site","Clone a live website into a project; streams NDJSON progress","The New Project Import tab is unavailable."),files:n("GET","/__studio/files","List a directory (DirEntry[]) in stable path order; an entry may carry an opaque content `version` the backend vouches for; with ?glob=<pattern>, search matching files project-wide"),fileRead:n("GET","/__studio/file","Read a file's text content"),filesRead:n("POST","/__studio/files/read","Read many files' text content {paths} → ReadFilesResult {files: [path, {content} | "+"{error: {status, code?, message}}][], omitted}. At most READ_FILES_MAX_PATHS (200) paths and a backend byte budget per call: the excess is listed in `omitted` (never a 400) and the first path is always answered. Per-path errors: 404 missing/deleted, 415 binary, 413 too large, 502 upstream. Allowed for read-only sessions; keeps fileRead's server-side effects","Adapters fall back to one fileRead per path."),fileWrite:n("PUT","/__studio/file","Write a file's text content"),fileDelete:n("DELETE","/__studio/file","Delete a file"),fileUpload:n("POST","/__studio/file/upload","Upload binary content to a path → UploadResult {path, size?}. `path` is the answer, not an "+"echo: a store that de-duplicates, suffixes, or normalizes names reports what it really wrote"),fileBytes:n("GET","/__studio/file/bytes","A project file's raw bytes, undecoded — the read side of `fileUpload`, for a caller that must "+"not go through UTF-8","Studio can only read a project file as text, so any surface that must decode one stays hidden."),documentRaw:n("GET","/__studio/raw/","A project file as its own bytes, at its own URL — the mount a canvas renders against when "+"the editor origin does not serve the site's URL space. The project-relative path is appended to this prefix","The canvas cannot address project files by URL, so a host whose origin does not serve the site URL space renders no component $refs and no images."),fileRename:n("POST","/__studio/file/rename","Rename/move (+ refactor report). `from`/`to` are server-root-relative; every path in the "+"report is relative to the active project (specs/server.md §4.1)"),references:n("GET","/__studio/references","Where a file or a component tag is used (?path=&tag=, at least one) → ReferencesResult "+"{files, filesReferencing, refsTotal} — the read side of the rename refactor's own walker, "+"cached until the backend's watcher sees the tree move (backs findReferences). `?path=` is server-root-relative and every path in the answer is relative to the active project; a "+"target outside that project is a 400, never a zero-result 200 (specs/server.md §4.1)",'Usage counts are hidden: no "Used on N pages" in the inspector, no Selection: Find Usages, and delete/rename confirmations state no reference count.'),locate:n("POST","/__studio/locate","Find a file by name → {path | null}"),collab:n("GET","/__studio/collab","Realtime co-editing: a WebSocket upgrade speaking the @jxsuite/collab wire envelope (one socket per project, documents multiplexed by path; y-protocols sync + project-level "+"awareness in lib0 binary frames — see @jxsuite/collab/envelope for the frame layout and "+"the docEpoch/doc-reset lifecycle). A plain GET (no Upgrade) answers {collab, protocols, version} as the capability probe, and `protocols` is the subprotocol negotiation: the client offers one of them as Sec-WebSocket-Protocol and the server echoes it, or the "+"client offers none when the server advertises none, because RFC 6455 §4.1 fails a "+"connection whose offer went unechoed.","Realtime co-editing is unavailable; Studio edits solo with file-level saves"),components:n("GET","/__studio/components","Discover components (ComponentMeta[])"),cem:n("GET","/__studio/cem","Custom-elements manifest of an npm dependency","Dependency components lose prop/slot metadata."),formats:n("GET","/__studio/formats","The project's format registry entries plus a sibling `extensions` array — per enabled "+"extension its manifest identity and project-section contributions (ExtensionsInfo[]; backs listFormats and listExtensions).","Only .json documents open (backs listFormats); descriptor-contributed settings sections do not appear."),extensionCatalog:n("GET","/__studio/catalog","Extensions this backend can OFFER (ExtensionCatalogEntry[]) — the shipped first-party "+"catalogue plus any package in the project's own dependencies exporting a jx-extension.json, each marked with whether the host resolves it without a project install and whether the project has it installed. A capability rather than a constant: a Worker ships a fixed set "+"of extension packages (specs/extensions.md §5.5). Backs listExtensionCatalog.","The Extensions section offers no catalogue; adding an extension stays a typed package name."),projectSchemas:n("GET","/__studio/project-schemas","The project's generated entry documents (project.schema.json / document.schema.json), "+"PRE-BUNDLED into self-contained schemas — {project, document} (backs fetchProjectSchemas). "+"Regenerated on demand when missing or older than project.json.","The JSON editor falls back to the bundled core schemas (extension sections get no editor validation/completion)."),format:n("POST","/__studio/format","Dispatch a format capability {format, action: parse|serialize, source?|doc?}","Non-JSON documents cannot be parsed/serialized (backs formatAction)."),pluginSchema:n("GET","/__studio/plugin-schema","Extract a $studio schema from a class source","Plugin property panels fall back to generic JSON editing."),codeFormat:n("POST","/__studio/code/format","Format posted source {code, path?} → {code, errors}","Code editors skip format-on-open/save (codeService returns null)."),codeMinify:n("POST","/__studio/code/minify","Minify posted source {code} → {code}","Compiled-output minification is skipped."),codeLint:n("POST","/__studio/code/lint","Lint posted source {code, path?} → {diagnostics}","Code editors show no lint markers."),buildSite:n("POST","/__studio/build","Build or render the site → {routes, files, errors, mode?, url}","Build Site reports that this target cannot build."),previewSite:n("POST","/__studio/preview","Preview the working tree at a route → {routes, files, errors, mode, url, reused}","Open in Browser falls back to buildSite."),previewOverlay:n("POST","/__studio/preview/overlay","Publish (POST) or retract (DELETE) a document's unsaved bytes → 204","A live preview shows the last saved state instead of the editor's."),packages:n("GET","/__studio/packages","List dependencies (PackageInfo[])"),packagesAdd:n("POST","/__studio/packages/add","Add a dependency"),packagesRemove:n("POST","/__studio/packages/remove","Remove a dependency"),packagesInstall:n("POST","/__studio/packages/install","Run the package manager install","Install/reinstall affordances are hidden; manifest-only edits still work."),packagesNeedsInstall:n("GET","/__studio/packages/needs-install","Whether node_modules is stale","The install-on-open prompt never shows."),packagesVersions:n("GET","/__studio/packages/versions","Newest published version of each dependency (PackageVersionInfo[])","The Latest column stays empty and the update affordances are hidden."),packagesSetVersions:n("POST","/__studio/packages/set-versions","Rewrite dependency ranges and install","Bulk version updates are hidden."),gitStatus:n("GET","/__studio/git/status","Working-tree status (GitStatusResult)"),gitBranches:n("GET","/__studio/git/branches","Branch list (GitBranchesResult)"),gitLog:n("GET","/__studio/git/log","Recent commits (GitLogEntry[])"),gitStage:n("POST","/__studio/git/stage","Stage files"),gitUnstage:n("POST","/__studio/git/unstage","Unstage files"),gitCommit:n("POST","/__studio/git/commit","Commit staged (else all dirty) files"),gitPush:n("POST","/__studio/git/push","Push (cloud: sync check — commits land on push)"),gitPull:n("POST","/__studio/git/pull","Pull/fast-forward; 409 {conflicts} on overlap"),gitFetch:n("POST","/__studio/git/fetch","Refresh remote tracking state"),gitCheckout:n("POST","/__studio/git/checkout","Switch branches"),gitCreateBranch:n("POST","/__studio/git/create-branch","Create a branch"),gitDiff:n("GET","/__studio/git/diff","Unified diff of dirty files (or one path)"),gitShow:n("GET","/__studio/git/show","File content at a ref"),gitDiscard:n("POST","/__studio/git/discard","Discard working changes"),gitInit:n("POST","/__studio/git/init","Initialize a repository"),gitAddRemote:n("POST","/__studio/git/add-remote","Add a remote"),gitClone:n("POST","/__studio/git/clone","Clone a repository","The welcome screen hides Clone Git Repository."),gitPr:n("POST","/__studio/git/pr","Open a pull request → PullRequestInfo","Studio falls back to a direct GitHub API call with the user's token."),dataConnections:n("GET","/__studio/data/connections","Connector connections with configured/missingSecrets/isDefault state, reachable table names, and registry-descriptor provider metadata (DataConnectionsResponse; backs dataConnections)","The connections settings section shows no status, and data-domain actions stay hidden."),dataConnectionTest:n("POST","/__studio/data/connections/test","Probe a connection {connection} → DataConnectionTestResult (backs dataConnectionTest)","The Test Connection action is hidden."),dataPush:n("POST","/__studio/data/push","Additive schema push {connection?, dryRun?} → DataPushResult (plan of DataPushStep[], "+"applied, warnings/errors; backs dataPush)","The Push Schema action is hidden; schemas deploy via `jx db push` instead."),dataRows:n("GET","/__studio/data/rows","Page a table (DataRowsQuery params) → DataRowsResult {rows, total, columns} (backs dataRows)","The data grid is unavailable."),dataInsertRow:n("POST","/__studio/data/rows","Insert a row {table, connection?, values} → {row} (backs dataInsertRow)","The data grid hides its add-row footer."),dataUpdateRow:n("PUT","/__studio/data/rows","Update a row keyed on its primary key {table, connection?, pk, set} → {row} (backs "+"dataUpdateRow)","Data grid cells are read-only."),dataDeleteRow:n("DELETE","/__studio/data/rows","Delete a row (?table=&pk=&connection=) → {ok} (backs dataDeleteRow)","The data grid hides row deletion."),secretsList:n("GET","/__studio/secrets","Configured secret env-var NAMES, never values (SecretsListResponse; backs listSecrets)","Secret fields cannot show set/unset state."),secretsSet:n("PUT","/__studio/secrets","Write/remove secrets in the backend store (.dev.vars locally) {set?, remove?} → names "+"(backs setSecrets)","The secret form control renders disabled; secrets are edited in .dev.vars by hand."),aiChat:n("POST","/__studio/ai/chat","StreamEvent SSE chat proxy {messages, tools, systemPrompt, model}"),aiModels:n("GET","/__studio/ai/models","Model catalogue (AiModelsResponse)"),cfProxy:n("POST","/__studio/cf/proxy","Allowlisted Cloudflare API passthrough {path, method?, body?} (backs cfApi)","The Publish panel explains the git-push publishing path instead.")};var j1=200;var K=new Set(["reload","repeat","none"]);function Du(e){if(!Array.isArray(e))return[];return e.flatMap((t)=>{let o=t;if(!o||typeof o.id!=="string"||!o.id||typeof o.label!=="string"||!o.label)return[];return[{id:o.id,label:o.label,...typeof o.href==="string"&&o.href?{href:o.href}:{},...o.primary===!0?{primary:!0}:{}}]})}function qw(e){return typeof e==="string"&&K.has(e)?e:void 0}function H(e){return e.replaceAll("_","-")}function x(e){if(!e||typeof e!=="object")return{};let{actions:t,code:o,heading:r,installUrl:c,retry:m,type:u}=e,f=qw(m),i=Xf(u)??(typeof o==="string"?H(o):null);return{...i===null?{}:{code:i},...typeof c==="string"?{installUrl:c}:{},...t===void 0?{}:{actions:Du(t)},...typeof r==="string"&&r?{heading:r}:{},...f===void 0?{}:{retry:f}}}function nT(e){let t=x(e);return t.code==="needs-installation-access"&&t.installUrl?t.installUrl:null}function iT(e){return x(e).code==="action-required"}function vc(){return Lr(_t.aiOpenAiKey)}function oT(e){qr(_t.aiOpenAiKey,e||"")}function kb(){return aL(_t.aiOpenAiKey)}function da(){return Lr(_t.aiBaseUrl)}function Sb(){return Lr(_t.aiModel)}function rT(e){qr(_t.aiModel,e||"")}function sT(e){cL([[_t.aiOpenAiKey,e.apiKey],[_t.aiBaseUrl,e.baseUrl],[_t.aiModel,e.model]])}function aT(e){return!sp(_t.aiOpenAiKey,e.apiKey,vc())||!sp(_t.aiBaseUrl,e.baseUrl,da())||!sp(_t.aiModel,e.model,Sb())}function sp(e,t,o){return Qb(e,t)===Qb(e,o)}function lT(){Hu([_t.aiOpenAiKey,_t.aiBaseUrl,_t.aiModel])}function Gw(){return{apiKey:vc(),baseUrl:da()}}function N(e){return`${e.apiKey}\x00${e.baseUrl}`}var g=null,R="",P=!1,_=!1,A="",T,v="",E=null,O=null,U=new Set,W=600000,b=0,L=!1;function Tr(){g=null,R="",P=!1,_=!1,A="",T=void 0,v="",E=null,O=null,b=0}var z=new Set([_t.aiOpenAiKey.key,_t.aiBaseUrl.key,_t.cfToken.key,_t.cfAccountId.key]);Xb((e)=>{if(e.some((t)=>z.has(t)))Tr()});function H1(e){return g&&R===N(e)?g:null}function B(e){return g?.find((t)=>t.id===e)}function B1(e){return B(e)?.toolSupport}function cT(e){return B(e)?.contextWindow}function Eb(e){if(e)U.add(e);O??=bd({force:!0}).catch(()=>{}).then(()=>{b=Date.now();for(let t of U)t()})}function V(){if(!_||b===0||Date.now()-b<W)return!1;return O=null,b=0,Eb(),!0}function J(){if(typeof window>"u"||L)return;L=!0,window.addEventListener("focus",()=>{V()})}J();function Qf(){return kb()||Kw()}function Kw(){return P}function dT(){return _}function ap(){return T}function uT(){return v}function Jw(){return E}function Y(){return A}function Ba(){return Sb()||Y()||_t.aiModel.default}function X(e,t){let o;try{o=new URL(e,"http://jx.invalid")}catch{return e}return o.pathname=o.pathname.replace(/[^/]*$/,t),/^https?:/i.test(e)?o.href:`${o.pathname}${o.search}`}async function bd(e={}){let t=e.credentials??Gw(),o=N(t);if(g&&R===o&&!e.force)return g;let r=p(),c=await Promise.resolve(r.aiChatUrl()),m=X(c,"models"),u={};if(t.apiKey)u["X-Api-Key"]=t.apiKey;if(t.baseUrl)u["X-Api-Base-URL"]=t.baseUrl;let f=await fetch(m,{headers:u});if(!f.ok)throw Error(`HTTP ${f.status}`);let i=await f.json();return P=i.configured===!0,_=i.managed===!0,A=i.defaultModel??"",T=i.code,v=i.upstreamError!==void 0?i.upstreamMessage??"":"",E=i.code==="action_required"?{actions:Du(i.actions),...typeof i.detail==="string"&&i.detail?{detail:i.detail}:{}}:null,g=(i.models||[]).map((l)=>{let h={id:l.id,name:l.name||l.id};if(typeof l.contextWindow==="number")h.contextWindow=l.contextWindow;if(typeof l.toolSupport==="boolean")h.toolSupport=l.toolSupport;return h}),R=o,g}var S=new Set,C=null;function hT(e){if(S.size===0){C=e;return}for(let t of S)t(e)}function G(e){S.add(e);let t=C;if(C=null,t)e(t);return()=>{S.delete(e)}}function Yw(){return We()&&typeof p().performAction==="function"}function z1(e){let t=e.find((r)=>r.primary)??e[0];if(!t)return null;let o=e.find((r)=>r!==t);return o?{lead:t,other:o}:{lead:t}}var w=null,q=!1;function Zw(e){let t=z1(e.actions);if(!Yw()||!t)return Promise.resolve(!1);return w??=Q(e,t).finally(()=>{w=null}),w}async function lp(e){let t=x(e);if(t.code!=="action-required"||!t.actions?.length)return!1;return Zw({actions:t.actions,detail:e instanceof Error?e.message:void 0,heading:t.heading,retry:t.retry})}async function F(){Tr(),await bc(),W1()}function Q(e,t){let o=e.detail??"This needs one more step first.";return new Promise((r)=>{let c="offer",m=(y)=>{if(c==="done")return;c="done",h.close(),r(y)},u=(y)=>{c="offer",h.update({cancelLabel:"Not now",confirmLabel:t.lead.label,message:y,secondaryLabel:t.other?.label??""})},f=(y)=>{if(c!=="offer")return;c="waiting";let D;try{D=p().performAction(y)}catch(d){u(d instanceof Error?d.message:String(d));return}h.update({cancelLabel:"Cancel",confirmLabel:"Waiting…",message:"Finish in the window that opened. This closes by itself once it is done.",secondaryLabel:""}),D.then(async(d)=>{if(d?.status==="done"){await F(),m(!0);return}if(c!=="waiting"||!d||d.status==="redirect")return;bc(),u(o)},(d)=>{if(c==="waiting")u(d instanceof Error?d.message:String(d))})},{lead:i,other:l}=t,h=bs({cancelLabel:"Not now",confirmLabel:i.label,headline:e.heading??"One more step",layer:Ct("dialog"),message:o,onCancel:()=>{q=!0,m(!1)},onClosed:()=>{m(!1)},onConfirm:()=>{f(i)},region:"account/action",...l?{onSecondary:()=>{f(l)},secondaryLabel:l.label}:{}})})}function Z(e){if(e==="reload")location.reload();else if(e==="repeat")k.info("Done. Run that again now.",{key:"account.action.retry",source:"Account"})}function pT(){return G((e)=>{if(q||w)return;Zw(e).then((t)=>{if(t)Z(e.retry)})})}async function Tb(e){if(!Yw())return!1;let t=p().performAction(e),o;try{o=await t}catch(r){return k.error(r instanceof Error?r.message:String(r),{key:"account.action",source:"Account",tier:"toast"}),!1}if(o?.status==="done")return await F(),!0;if(o?.status!=="redirect")await bc();return!1}function W1(){for(let e of I()){let t={key:`account.notice.${e.id}`,source:"Account"};if(e.level==="warning")k.warn(e.message,t);else k.info(e.message,t)}}
|
|
2
|
+
export{bc,Ww,Vw,eT,tT,F1,Xf,Ro,Fs,Uw,j1,Du,qw,nT,iT,vc,oT,kb,da,Sb,rT,sT,aT,sp,lT,Gw,Tr,H1,B1,cT,Eb,Qf,Kw,dT,ap,uT,Jw,Ba,bd,hT,Yw,z1,Zw,lp,pT,Tb,W1};
|
|
3
|
+
|
|
4
|
+
//# debugId=4FD39BF317B161DD64756E2164756E21
|
|
5
|
+
//# sourceMappingURL=studio-222rqyyc.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{Mg,Os,Wy,Ur,Vy,as}from"./studio-c6zdm25z.js";var sS="meta",aS="frontmatter",lS="structure",cS="source",dS=2;function Xc(t){return t.getMap(sS)}function uS(t){return t.getMap(aS)}function _f(t){return t.getMap(lS)}function hS(t){return t.getText(cS)}function f(t){return JSON.parse(JSON.stringify(t))}function h(t){return typeof t==="object"&&t!==null&&!Array.isArray(t)}var y=new Set(["textContent"]),m=new Set(["style","attributes","$props"]);function g(t,e){let n=t.toString();if(n===e)return!1;let r=0,o=Math.min(n.length,e.length);while(r<o&&n[r]===e[r])r+=1;let i=n.length,a=e.length;while(i>r&&a>r&&n[i-1]===e[a-1])i-=1,a-=1;if(i>r)t.delete(r,i-r);if(a>r)t.insert(r,e.slice(r,a));return!0}function l(t){let e=new Ur;for(let[n,r]of Object.entries(t)){if(r===void 0)continue;e.set(n,h(r)?l(r):f(r))}return e}function Y(t,e){for(let n of[...t.keys()])if(!(n in e)||e[n]===void 0)t.delete(n);for(let[n,r]of Object.entries(e)){if(r===void 0)continue;let o=t.get(n);if(h(r))if(o instanceof Ur)Y(o,r);else t.set(n,l(r));else if(!b(o,r))t.set(n,f(r))}}function b(t,e){if(t===e)return!0;if(t instanceof Ur||t instanceof Os||t instanceof as)return!1;return JSON.stringify(t??null)===JSON.stringify(e??null)}function p(t){return typeof t==="string"?new as(t):pS(t)}function Wh(t){let e=new Os;return e.insert(0,t.map((n)=>p(n))),e}function pS(t){if(!h(t))throw TypeError("collab-schema: a document node must be a plain object");let e=new Ur;for(let[n,r]of Object.entries(t)){if(r===void 0)continue;if(n==="children"&&Array.isArray(r))e.set(n,Wh(r));else if(y.has(n)&&typeof r==="string")e.set(n,new as(r));else if(m.has(n)&&h(r))e.set(n,l(r));else e.set(n,f(r))}return e}function Qc(t){if(t instanceof Ur){let e={};for(let[n,r]of t.entries())e[n]=Qc(r);return e}if(t instanceof Os)return t.toArray().map((e)=>Qc(e));if(t instanceof as)return t.toString();return t}function PR(t){return Qc(_f(t))}function By(t,e){let n=_f(t);for(let r of e)if(n instanceof Ur)n=n.get(String(r));else if(n instanceof Os){let o=typeof r==="number"?r:Number(r);if(!Number.isInteger(o)||o<0||o>=n.length)return;n=n.get(o)}else return;return n}function m_(t,e,n){let r=hS(t);if(r.toString()===e)return!1;return t.transact(()=>{g(r,e)},n),!0}function FR(t,e,n={}){let r=Xc(t);if(r.get("structureSeeded")===!0)return!1;return t.transact(()=>{let o=_f(t);for(let[a,s]of Object.entries(e)){if(s===void 0)continue;if(a==="children"&&Array.isArray(s))o.set(a,Wh(s));else o.set(a,f(s))}let i=uS(t);for(let[a,s]of Object.entries(n.frontmatter??{}))if(s!==void 0)i.set(a,f(s));r.set("schemaVersion",dS),r.set("canonical","structure"),r.set("canonicalRev",0),r.set("sourceFormat",n.sourceFormat??null),r.set("structureSeeded",!0)},n.origin),!0}var jR="jx-local",HR="jx-mirror",BR="jx-seed";class ed extends Error{constructor(t){super(`collab-path-unresolved:${t.join("/")}`);this.name="CollabPathError"}}function w(t,e){let n=By(t,e);if(!(n instanceof Ur))throw new ed(e);return n}function d(t,e,n){let r=w(t,e),o=r.get("children");if(o instanceof Os)return o;if(n&&o===void 0){let i=new Os;return r.set("children",i),i}throw new ed([...e,"children"])}function R(t){return JSON.parse(JSON.stringify(t))}function P(t){return typeof t==="object"&&t!==null&&!Array.isArray(t)}function M(t,e,n){let r=t.get(e);if(e==="children"&&Array.isArray(n)){t.set(e,Wh(n));return}if(y.has(e)&&typeof n==="string"){if(r instanceof as)g(r,n);else t.set(e,new as(n));return}if(m.has(e)&&P(n)){if(r instanceof Ur)Y(r,n);else t.set(e,l(n));return}t.set(e,R(n))}function D(t,e){switch(e.op){case"set-key":{let n=w(t,e.path);if(e.value===void 0)n.delete(e.key);else M(n,e.key,e.value);return}case"insert-child":{let n=d(t,e.parentPath,!0);if(e.index<0||e.index>n.length)throw new ed([...e.parentPath,"children",e.index]);n.insert(e.index,[p(e.node)]);return}case"remove-child":{let n=d(t,e.parentPath,!1);if(e.index<0||e.index>=n.length)throw new ed([...e.parentPath,"children",e.index]);n.delete(e.index,1);return}case"set-child":{let n=d(t,e.parentPath,!1);if(e.index<0||e.index>=n.length)throw new ed([...e.parentPath,"children",e.index]);let r=n.get(e.index);if(r instanceof as&&typeof e.node==="string"){g(r,e.node);return}n.delete(e.index,1),n.insert(e.index,[p(e.node)]);return}case"move-child":{let n=d(t,e.fromParentPath,!1),r=d(t,e.toParentPath,!0);if(e.fromIndex<0||e.fromIndex>=n.length)throw new ed([...e.fromParentPath,"children",e.fromIndex]);let o=Qc(n.get(e.fromIndex));if(n.delete(e.fromIndex,1),e.toIndex<0||e.toIndex>r.length)throw new ed([...e.toParentPath,"children",e.toIndex]);r.insert(e.toIndex,[p(o)]);return}default:throw Error(`unknown-doc-op:${e.op}`)}}function zR(t,e,n){t.transact(()=>{for(let r of e)D(t,r)},n)}function C(t){for(let e=0;e<t.length;e++){let n=t[e];if(typeof n!=="string")continue;if(m.has(n))return{key:n,nodePath:t.slice(0,e)};if(y.has(n))return{key:n,nodePath:t.slice(0,e)}}return null}function J(t){return t.every((e)=>typeof e==="string"||typeof e==="number")}function WR(t){if(t.length===0)return[];let e=t.map((o)=>o.path);if(!e.every((o)=>J(o)))return null;for(let o=0;o<e.length;o++)for(let i=0;i<e.length;i++){if(o===i)continue;let a=e[o],s=e[i];if(a.length<=s.length&&a.every((c,u)=>c===s[u]))return null}if(t.filter((o)=>o instanceof Mg).length>1)return null;let r=[];for(let o of t){let i=o.path,a=C(i);if(a){let{doc:s}=o.target;if(!s)return null;let c=By(s,[...a.nodePath,a.key]);if(c===void 0)return null;r.push({key:a.key,op:"set-key",path:a.nodePath,value:Qc(c)});continue}if(o instanceof Vy){let s=i.at(-1);if(i.at(-2)==="children"&&typeof s==="number"){r.push({index:s,node:o.target.toString(),op:"set-child",parentPath:i.slice(0,-2)});continue}return null}if(o instanceof Wy){let s=o.target;for(let[c,u]of o.changes.keys)if(u.action==="delete")r.push({key:c,op:"set-key",path:i});else r.push({key:c,op:"set-key",path:i,value:Qc(s.get(c))})}else if(o instanceof Mg){if(i.at(-1)!=="children")return null;let s=i.slice(0,-1),c=0;for(let u of o.changes.delta)if(u.retain!==void 0)c+=u.retain;else if(u.delete!==void 0)for(let x=0;x<u.delete;x++)r.push({index:c,op:"remove-child",parentPath:s});else if(u.insert!==void 0){let x=Array.isArray(u.insert)?u.insert:[u.insert];for(let O of x)r.push({index:c,node:Qc(O),op:"insert-child",parentPath:s}),c+=1}}else return null}return r}function VR(t,e,n){t.transact(()=>{let r=_f(t),o=e,i=[...r.keys()];for(let s of i)if(!(s in o)||o[s]===void 0)r.delete(s);for(let[s,c]of Object.entries(o)){if(c===void 0)continue;if(s==="children"&&Array.isArray(c))r.set(s,Wh(c));else r.set(s,JSON.parse(JSON.stringify(c)))}let a=Xc(t);a.set("canonicalRev",Number(a.get("canonicalRev")??0)+1)},n)}function g_(t){return Xc(t).get("canonical")==="source"?"source":"structure"}function b_(t){return Number(Xc(t).get("canonicalRev")??0)}function UR(t,e,n){if(g_(t)==="source")return!1;return t.transact(()=>{m_(t,e,n);let r=Xc(t);r.set("canonical","source"),r.set("canonicalRev",b_(t)+1)},n),!0}function qR(t,e){if(g_(t)!=="source")return!1;return t.transact(()=>{let n=Xc(t);n.set("canonical","structure"),n.set("canonicalRev",b_(t)+1)},e),!0}function GR(t,e,n){let r=[];for(let[o,i]of t.getStates()){let a=i;if(o!==n&&a.mode==="source"&&a.focusedPath===e)r.push(o)}return r}function KR(t,e){let n=t.clientID,r=t.getStates().get(n);if(r?.mode!=="source"||r.focusedPath!==e)return!1;let o=n;for(let[i,a]of t.getStates()){let s=a;if(s.mode==="source"&&s.focusedPath===e&&s.canWrite!==!1&&i<o)o=i}return o===n}var v_=["#4f9cf9","#e5484d","#30a46c","#f5a524","#8e4ec6","#00a2c7","#e93d82","#a8845c"];function JR(t){let e=5381;for(let r=0;r<t.length;r++)e=Math.imul(e,33)+(t.codePointAt(r)??0);let n=Math.abs(e)%v_.length;return v_[n]}export{sS,aS,lS,cS,dS,Xc,uS,_f,hS,Wh,pS,Qc,PR,By,m_,FR,jR,HR,BR,ed,zR,WR,VR,g_,b_,UR,qR,GR,KR,v_,JR};
|
|
2
|
+
|
|
3
|
+
//# debugId=15ADD5B2190E687964756E2164756E21
|
|
4
|
+
//# sourceMappingURL=studio-4xppwncr.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{te}from"./studio-ery42sqr.js";import{v,
|
|
1
|
+
import{te}from"./studio-ery42sqr.js";import{v,k}from"./studio-fqq890ap.js";import{un,rn}from"./studio-0k9mvpgj.js";import{rt,zt,T,R,An,Ct}from"./studio-spf2skgc.js";var S={$schema:"https://jxsuite.com/schema/v1",$id:"StudioGithubAuth",$description:"The RFC 8628 device flow's waiting room: the code GitHub minted, the page to type it into, and a Cancel. A `jx-dialog`, so the platform owns modality, Escape, focus restoration and the backdrop — and it is the reason the dialog has no confirm button at all: the answer arrives from GitHub over a poll rather than from anything the reader can press here, so a primary button would be a control with nothing to do. Nothing in this document talks to GitHub: `github/github-auth.ts` keeps the client id, the poll loop, its failure budget and every report the three outcomes raise.",tagName:"jx-dialog",$props:{headline:"Sign in to GitHub",confirmLabel:"",cancelLabel:"Cancel",size:"sm"},attributes:{part:"github-auth"},oncancel:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/cancel"},value:[]}]},onclose:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},style:{$description:"Four `.github-auth-*` rules in `styles/overlays.css` become the parts below, and two things in them do not travel. `.github-auth-dialog`'s `padding: 16px 0` was the card's own body padding drawn by hand, and `jx-dialog` already pads its body; `.github-auth-dialog p { font-size: 13px }` was a body size this surface picked for itself, and what the paragraphs now inherit is the dialog's own `--jx-text-md`. The `8px 0` margins go with them — the column is a flex column with a gap, so a margin between two rows would be a second opinion about the same space. The code keeps its 24px, which is above the token scale on purpose: it is a string the reader has to copy onto another screen, and reading it out loud is the whole job of this dialog.",'& [part="device"]':{display:"flex",flexDirection:"column",alignItems:"center",gap:"var(--jx-space-3)",textAlign:"center"},'& [part="lede"], & [part="waiting"]':{margin:"0"},'& [part="code"]':{$description:"`<code>`, not a styled `<div>`: this is a literal string to be transcribed, and the element that says so is also the one a reader's own stylesheet and a screen reader's character-by-character mode already know about. It is this dialog's message, and the one string in it the reader must carry to another screen, so it opts back in to selection against the root's `user-select: none`. `all` rather than `text`: one click selects the whole code, so a copy never leaves a character behind.",userSelect:"all",fontFamily:"var(--font-mono)",fontSize:"24px",fontWeight:"700",letterSpacing:"2px",padding:"var(--jx-space-3) var(--jx-space-4)",background:"var(--hover-bg)",borderRadius:"var(--radius)"},'& [part="link"]':{$description:"The blue this carried as a `var(--accent, …)` fallback is gone: `--accent` is declared on `:root` in `styles/tokens.css`, so the fallback could only ever have painted when the token was missing — which is a theme fault to fix rather than a colour to hard-code.",color:"var(--accent)",textDecoration:"underline"},'& [part="waiting"]':{color:"var(--fg-dim)",fontStyle:"italic"}},children:[{tagName:"div",attributes:{part:"device"},children:[{tagName:"p",attributes:{part:"lede"},textContent:"Enter this code on GitHub to authorize Jx Studio:"},{tagName:"code",attributes:{part:"code"},textContent:"${state.userCode}"},{tagName:"a",attributes:{part:"link",href:"${state.verificationUri}",target:"_blank",rel:"noreferrer"},textContent:"Open ${state.verificationUri}"},{tagName:"p",attributes:{part:"waiting"},textContent:"Waiting for authorization…"}]}]};T("github-auth",S);function A(e){let t=document.createElement("div");t.style.pointerEvents="auto",t.setAttribute(rt,zt("dialog","github-auth")),e.layer.append(t);let r=!1,u=()=>{if(r)return;r=!0,e.onClosed()},f=v({cancel:()=>{e.onCancel()},closed:u,userCode:e.userCode,verificationUri:e.verificationUri}),s=null,c=R("github-auth",f,t).then(async(o)=>{s=o;let n=o.root;if(r)return o.dispose(),n;if(await An(n),r)return n;return un(n),n});return{close(){let o=s?.root;if(o instanceof HTMLElement)rn(o);s?.dispose(),s=null,t.remove(),u()},host:t,ready:c}}var _="jx_github_token";function p(){return globalThis.__jxPlatform?.githubAuth??null}var g=null,C=!1;function E(e){g=e}function h1(){return g!==null||C||localStorage.getItem("jx_github_token")!==null}function p1(){return p()?"desktop":"browser"}function b(){return g??localStorage.getItem("jx_github_token")}function f1(){g=null,C=!1,localStorage.removeItem("jx_github_token"),p()?.signOut().catch(()=>{})}var H="Ov23liYVlMFpgjOEPXJH",O="github.auth",j="Source Control",N="git.signInToGithub",U=3,M="The request never reached GitHub. GitHub's device-flow endpoints send no CORS headers, so a "+"browser cannot call them directly — the desktop app can. A machine that is offline fails "+"identically, and the browser does not say which happened.";function D(e){k.error("Could not reach GitHub to sign in.",{action:N,detail:`${M}
|
|
2
2
|
|
|
3
|
-
${te(e)}`,key:O,source:j})}function y(e,t){
|
|
4
|
-
export{
|
|
3
|
+
${te(e)}`,key:O,source:j})}function y(e,t){k.warn(e,{action:N,detail:t,key:O,source:j})}async function Y(){let e;try{e=await fetch("https://github.com/login/device/code",{body:JSON.stringify({client_id:H,scope:"repo"}),headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"})}catch(t){return D(t),null}if(!e.ok)return y("GitHub refused to start the sign-in.",`GitHub answered ${e.status}${e.statusText?` ${e.statusText}`:""}.`),null;return await e.json()}async function Cw(){let e=b();if(e)return e;let t=p();if(t)try{let{token:o}=await t.signIn();return E(o),o}catch(o){return y("GitHub sign-in was not completed.",te(o)),null}let r=await Y();if(!r)return null;let{device_code:u,user_code:f,verification_uri:s,interval:c=5}=r;return new Promise((o)=>{let n=!1,a=null,m=0,w=!1,I=(l)=>{if(w)return;if(w=!0,n=!0,a)clearTimeout(a),a=null;o(l)},x=!1,G=()=>{if(x)return;x=!0,L.close()},d=(l)=>{I(l),G()},h=async()=>{if(n)return;try{let i=await(await fetch("https://github.com/login/oauth/access_token",{body:JSON.stringify({client_id:H,device_code:u,grant_type:"urn:ietf:params:oauth:grant-type:device_code"}),headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"})).json();if(m=0,i.access_token){localStorage.setItem(_,i.access_token),d(i.access_token);return}if(i.error==="authorization_pending"){a=setTimeout(h,c*1000);return}if(i.error==="slow_down"){a=setTimeout(h,(c+5)*1000);return}y("GitHub sign-in was not completed.",i.error==="access_denied"?"The authorization was declined on GitHub.":i.error==="expired_token"?"The device code expired before it was entered.":`GitHub answered "${i.error??"an unrecognised response"}".`),d(null)}catch(l){if(m+=1,m>=U){D(l),d(null);return}a=setTimeout(h,c*1000)}},L=A({layer:Ct("dialog"),onCancel:()=>{G()},onClosed:()=>{d(null)},userCode:f,verificationUri:s});a=setTimeout(h,c*1000)})}
|
|
4
|
+
export{h1,p1,f1,Cw};
|
|
5
5
|
|
|
6
|
-
//# debugId=
|
|
7
|
-
//# sourceMappingURL=studio-
|
|
6
|
+
//# debugId=1B7FC845BC721E9264756E2164756E21
|
|
7
|
+
//# sourceMappingURL=studio-54g077x3.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{v}from"./studio-fqq890ap.js";import{$o,bL,ot,Jo,Se,He,qu,m,No,ci}from"./studio-cvbkkfqb.js";import{p}from"./studio-y7jehjrp.js";import{qt,Zt}from"./studio-1x8x26k3.js";import{T,R,bs,Ct}from"./studio-spf2skgc.js";import{te}from"./studio-ery42sqr.js";import{Ir}from"./studio-888knnkc.js";import{Ps,mc}from"./studio-9mqfamps.js";import{Fw,R1,$1}from"./studio-65fhspdd.js";import{Ld,Gi}from"./studio-c6w3tq7t.js";import{ds,Kf,vb,yb,Iu,Io,Ru}from"./studio-skzanb0k.js";import{D}from"./studio-tp642n5g.js";var I={$schema:"https://jxsuite.com/schema/v1",$id:"StudioGridOpen",$description:"Every grid-able source a project has, grouped by where it comes from: the project's own pages and content collections first, then each connection's tables. It is the ISLAND of a confirm dialog rather than a dialog of its own — `ui/layers.ts`'s dialog owns the headline, the cancel button, modality and focus, and this document is only the list — because a second answer to \"what is a dialog\" is a defect (studio-ui-guidelines.md §12.5). Group headings are why it is not the kit menu: a menu row can carry a divider above it and cannot carry a name for the run it opens.",tagName:"div",attributes:{part:"sources"},style:{display:"flex",flexDirection:"column",gap:"var(--jx-space-3)",minWidth:"280px",fontFamily:"var(--jx-font-sans)",fontSize:"var(--jx-text-md)",color:"var(--fg)",'& [part="group-title"]':{margin:"0",fontSize:"var(--jx-text-xs)",fontWeight:"600",textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--fg-dim)"},'& [part="rows"]':{display:"flex",flexDirection:"column",gap:"1px",marginTop:"var(--jx-space-1)"},'& [part="source"]':{textAlign:"left",background:"none",border:"none",color:"var(--fg)",font:"inherit",padding:"var(--jx-space-2) var(--jx-space-2)",borderRadius:"var(--jx-radius-sm)",cursor:"pointer"},'& [part="source"]:hover':{background:"var(--bg-hover)"},'& [part="source"]:focus-visible':{outline:"var(--jx-focus-ring)",outlineOffset:"-2px"},'& [part="group-empty"]':{margin:"0",padding:"var(--jx-space-2)",color:"var(--fg-dim)",fontSize:"var(--jx-text-sm)"}},children:[{$prototype:"Array",items:{$ref:"#/state/groups"},key:{$ref:"$map/item/key"},map:{$description:"One origin of grid-able sources. A connection with no tables says why it has none instead of drawing an empty box — an author who has not pushed a schema yet is exactly the reader who needs the sentence.",tagName:"section",attributes:{part:"group","data-group":"${$map.item.key}"},children:[{tagName:"h3",attributes:{part:"group-title"},textContent:"${$map.item.title}"},{tagName:"div",attributes:{part:"rows"},$switch:{$ref:"$map/item/state"},cases:{listed:{tagName:"div",attributes:{part:"rows-list",role:"none"},style:{display:"contents"},children:[{$prototype:"Array",items:{$ref:"$map/item/rows"},key:{$ref:"$map/item/id"},map:{tagName:"button",attributes:{part:"source",type:"button","data-source":"${$map.item.id}"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/open"},value:[{$ref:"$map/item/id"}]}]},textContent:"${$map.item.label}"}}]},empty:{tagName:"p",attributes:{part:"group-empty"},textContent:"${$map.item.emptyMessage}"}}}]}}]};T("grid-open",I);function j(e,r,t){let n=v({groups:r,open:t}),o=null,i=!1,s=R("grid-open",n,e).then((l)=>{if(i)return l.dispose(),l.root;return o=l,l.root});return{dispose(){i=!0,o?.dispose(),o=null},ready:s}}function S(){try{return p()}catch{return null}}function Rw(){return typeof S()?.dataRows==="function"}async function E(){let e=S();if(typeof e?.dataConnections!=="function")return null;return e.dataConnections()}async function SE(e){let r=S();if(typeof r?.dataConnectionTest!=="function")return{error:"Connection tests are not supported by this backend",ok:!1};try{return await r.dataConnectionTest(e)}catch(t){return{error:t instanceof Error?t.message:String(t),ok:!1}}}async function _1(e){let r=S();if(typeof r?.dataPush!=="function")return{applied:!1,errors:["Schema push is not supported by this backend"],plan:[]};try{return await r.dataPush(e)}catch(t){return{applied:!1,errors:[t instanceof Error?t.message:String(t)],plan:[]}}}function C(e){let t=S()?.[e];if(t===void 0||t===null)throw Error(`The ${String(e)} surface is not supported by this backend`);return t}function x(e){return C("dataRows")(e)}function M(e){return C("dataInsertRow")(e)}function A(e){return C("dataUpdateRow")(e)}function K(e){return C("dataDeleteRow")(e)}function EE(e,r,t){let n=(s)=>s.replaceAll(/([a-z0-9])([A-Z])/g,"$1_$2").replaceAll(/[^A-Za-z0-9]+/g,"_").replaceAll(/^_+|_+$/g,"").toUpperCase(),i=[r??e,t.replace(/Env$/,"")].map((s)=>n(s)).filter(Boolean).join("_")||"SECRET";return/^\d/.test(i)?`JX_${i}`:i}function W(e){let r=[],t=[],n="",o=!1,i=!1,s=()=>{t.push(n),n="",i=!1},l=()=>{if(s(),t.length===1&&t[0]===""){t=[];return}r.push(t),t=[]};for(let a=0;a<e.length;a++){let c=e[a];if(o){if(c==='"')if(e[a+1]==='"')n+='"',a+=1;else o=!1;else n+=c;continue}if(c==='"'&&!i)o=!0,i=!0;else if(c==='"')n+=c;else if(c===",")s();else if(c===`
|
|
2
|
+
`)l();else if(c==="\r"){if(e[a+1]===`
|
|
3
|
+
`)a+=1;l()}else n+=c,i=!0}if(n!==""||t.length>0)l();return r}function $w(e){let r=(e.match(/\r\n/g)??[]).length,t=(e.match(/(?<!\r)\n/g)??[]).length,n=r>t?`\r
|
|
4
|
+
`:`
|
|
5
|
+
`,o=e.endsWith(`
|
|
6
|
+
`),i=W(e),s=i[0]??[],l=i.slice(1),a=Math.max(s.length,...l.map((c)=>c.length),0);while(s.length<a)s.push("");for(let c of l)while(c.length<a)c.push("");return{eol:n,headers:s,rows:l,trailingNewline:o}}function U(e){if(/[",\n\r]/.test(e))return`"${e.replaceAll('"','""')}"`;return e}function k(e){return[e.headers,...e.rows].map((t)=>t.map((n)=>U(n)).join(",")).join(e.eol)+(e.trailingNewline?e.eol:"")}var Q=["id","sku","slug","Slug"];function q(e){let r=new Set;return e.map((t,n)=>{let o=t.trim()===""?`column${n+1}`:t;if(r.has(o))o=`${o}__${n+1}`;return r.add(o),o})}function J(e,r){for(let t of Q){let n=e.indexOf(t);if(n===-1)continue;let o=r.rows.map((i)=>i[n]??"");if(o.every((i)=>i!=="")&&new Set(o).size===o.length)return t}return null}function O(e,r){let t=$w(e),n=q(t.headers),o=J(n,t),i=o?n.indexOf(o):-1,s=t.rows.map((d,u)=>i===-1?String(u):d[i]),l=new Map(s.map((d,u)=>[d,u])),a=qu(r,D?.projectConfig),c=a?.schema?.properties??{},y=t.rows.slice(0,50).map((d)=>{let u={};for(let[h,w]of n.entries())u[w]=d[h]??"";return u}),f=new Map(yb(y).map((d)=>[d.field,d])),g=new Map(vb(a?.schema,{idField:o??void 0}).map((d)=>[d.field,d]));return{columns:n.map((d,u)=>{let w=(d in c?g.get(d):void 0)??f.get(d)??{editable:!0,field:d,kind:"string",title:t.headers[u]||d};return{...w,pk:d===o,title:t.headers[u]?.trim()||w.title}}),doc:t,fields:n,keys:s,keyToIndex:l,loadText:e}}function X(e,r){let t={},n=e.doc.rows[r]??[];for(let[o,i]of e.fields.entries()){let s=e.columns[o],l=n[o]??"";t[i]=s.kind==="string"||s.kind==="text"||s.kind==="readonly"?l:Iu(l,s)}return t}function _(e,r){let t=e.doc.rows.map((i)=>[...i]),n=(i)=>e.fields.indexOf(i);for(let i of r.cells){let s=e.keyToIndex.get(i.rowKey),l=n(i.field);if(s===void 0||l===-1)continue;t[s][l]=Io(i.value)}for(let i of r.inserts){let s=e.fields.map((l)=>Io(i.cells[l]??null));t.push(s)}let o=r.deletes.map((i)=>e.keyToIndex.get(i.rowKey)).filter((i)=>i!==void 0).toSorted((i,s)=>s-i);for(let i of o)t.splice(i,1);return{...e.doc,rows:t}}function N(e,r){return{cells:e.cells.map((t)=>({field:t.field,rowKey:t.rowKey,...r})),deletes:e.deletes.map((t)=>({rowKey:t.rowKey,...r})),inserts:e.inserts.map((t)=>({error:r.error,ok:r.ok,tempKey:t.tempKey}))}}function Dw(e){let r=null,t=(n=!1)=>{if(!n&&r)return r;return r=p().readFile(e).then((o)=>O(o,e)),r};return{backingPaths:()=>new Map([[e,"*"]]),capabilities:{delete:!0,insert:!0,remotePaging:!1,remoteSort:!1},async columns(){return(await t()).columns},async commit(n){let o=await t(),i=p(),s=null;try{s=await i.readFile(e)}catch{s=null}if(s!==o.loadText&&!mc(e))return N(n,{error:"File changed on disk — refresh to reload",ok:!1,stale:!0});let l=_(o,n),a=k(l);return Ps(e),await i.writeFile(e,a),r=Promise.resolve(O(a,e)),N(n,{ok:!0})},id:e,label:e.split("/").pop()??e,async refresh(){await t(!0)},async rows(){let n=await t(),o=n.doc.rows.map((i,s)=>({cells:X(n,s),key:n.keys[s]}));return{rows:o,total:o.length}},async serializeForSource(n){let o=await t();return k(_(o,n))}}}var Z=50;function ee(e){let r=e.toLowerCase();if(/(int|real|floa|doub|num|dec)/.test(r))return"number";if(r.includes("bool"))return"boolean";if(/(timestamp|datetime|date)/.test(r))return"date";return"string"}function re(e){return!e.pk&&e.name!=="created_at"&&e.name!=="updated_at"}function ne(e){if(e===null||e===void 0)return null;if(typeof e==="string"||typeof e==="number"||typeof e==="boolean")return e;return JSON.stringify(e)}function B(e,r){let t=[],n="id",o=new Map,i=(a)=>{if(a.length>0)t=a,n=a.find((c)=>c.pk)?.name??"id"},s=(a)=>({table:r,...e?{connection:e}:{},limit:a?.limit??Z,offset:a?.offset??0,...a?.orderBy?{dir:a.dir??"asc",orderBy:a.orderBy}:{}}),l=(a,c)=>{let y=a[n];if(typeof y==="string"||typeof y==="number")return o.set(String(y),y),String(y);return`row-${c}`};return{capabilities:{delete:!0,insert:!0,remotePaging:!0,remoteSort:!0},async columns(){if(t.length===0){let a=await x(s({limit:1,offset:0}));i(a.columns)}return t.map((a)=>{let c=re(a)?ee(a.type):"readonly";return{editable:c!=="readonly",field:a.name,kind:c,pk:a.pk===!0,title:a.name,widthHint:a.pk?80:void 0}})},async commit(a){let c={cells:[],deletes:[],inserts:[]},y=new Map;for(let f of a.cells){let g=y.get(f.rowKey)??[];g.push({field:f.field,value:f.value}),y.set(f.rowKey,g)}for(let[f,g]of y){let b=o.get(f),d=(u,h)=>{for(let w of g)c.cells.push({error:h,field:w.field,ok:u,rowKey:f})};if(b===void 0){d(!1,"Row has no primary key — refresh the grid");continue}try{let u={};for(let h of g)u[h.field]=h.value;await A({pk:b,set:u,table:r,...e?{connection:e}:{}}),d(!0)}catch(u){d(!1,u instanceof Error?u.message:String(u))}}for(let f of a.inserts)try{let g={};for(let[h,w]of Object.entries(f.cells))if(w!==null)g[h]=w;let{row:b}=await M({table:r,values:g,...e?{connection:e}:{}}),d=b[n],u=typeof d==="string"||typeof d==="number"?String(d):void 0;if(u!==void 0&&(typeof d==="string"||typeof d==="number"))o.set(u,d);c.inserts.push({newKey:u,ok:!0,tempKey:f.tempKey})}catch(g){c.inserts.push({error:g instanceof Error?g.message:String(g),ok:!1,tempKey:f.tempKey})}for(let f of a.deletes){let g=o.get(f.rowKey);if(g===void 0){c.deletes.push({error:"Row has no primary key — refresh the grid",ok:!1,rowKey:f.rowKey});continue}try{await K({pk:g,table:r,...e?{connection:e}:{}}),c.deletes.push({ok:!0,rowKey:f.rowKey})}catch(b){c.deletes.push({error:b instanceof Error?b.message:String(b),ok:!1,rowKey:f.rowKey})}}return c},id:ds({connection:e??"default",kind:"data",table:r}),label:r,async refresh(){t=[],o.clear()},async rows(a){let c=await x(s(a));return i(c.columns),{rows:c.rows.map((f,g)=>{let b=l(f,g),d={};for(let u of t)d[u.name]=ne(f[u.name]);return{cells:d,key:b}}),total:c.total}}}}var pb=[{key:"all",label:"All"},{dir:"pages",key:"pages",label:"Pages"},{dir:"layouts",key:"layouts",label:"Layouts"},{dir:"components",key:"components",label:"Components"},{dir:"content",key:"content",label:"Content"},{dir:"public",key:"media",label:"Media"}],C1=pb.map((e)=>e.key);function Aw(e){return pb.find((r)=>r.key===e)}function k1(e){return Aw(e)?.dir}function oe(e,r){if(r&&Ld.has(r))return"Media";if(e.startsWith("pages"))return"Pages";if(e.startsWith("layouts"))return"Layouts";if(e.startsWith("components"))return"Components";if(e.startsWith("content"))return"Content";if(e.startsWith("public"))return"Media";if(e.startsWith("data"))return"Content";if(e.startsWith("styles"))return"Components";return"Other"}function ie(e){let r=D?.projectConfig?.content??{};for(let[t,n]of Object.entries(r)){if(!n.source)continue;let o=n.source.replace(/^\.\//,"").replace(/\/$/,"");if(e.startsWith(`${o}/`)||e===o)return t.charAt(0).toUpperCase()+t.slice(1)}return null}var se=new Set(["node_modules",".git",".jx","dist","build",".cache"]);async function H(e,r,t,n,o){let i;try{i=await Ir(()=>r.listDirectory(e))}catch(l){n.push({dir:e,error:te(l)});return}let s=[];for(let l of i){if(l.type==="directory"){if(!se.has(l.name))s.push(l.path);continue}let a=Gi(l.name),c=oe(l.path,a);t.push({category:c,ext:a,locale:bL(l.path,o)??void 0,modified:l.modified,name:l.name,path:l.path,size:l.size,type:c==="Content"?ie(l.path)??a??"file":a||"file"})}await Promise.all(s.map((l)=>H(l,r,t,n,o)))}async function Uf(e,r){let t=[],n=[],{i18n:o}=$o(D?.projectConfig??{});return await Promise.all(e.map((i)=>H(i,r,t,n,o))),t.sort((i,s)=>i.path.localeCompare(s.path)),{failures:n,files:t}}function TE(e,r){let t=e,n=Aw(r.category);if(n&&n.key!=="all")t=t.filter((s)=>s.category===n.label);let o=r.query.trim().toLowerCase();if(o)t=t.filter((s)=>s.name.toLowerCase().includes(o)||s.path.toLowerCase().includes(o));let i=r.locale?.trim();if(i)t=t.filter((s)=>s.locale===i);return t}var qf=["table","cards","media","calendar","board"],Nw={board:"Board",calendar:"Calendar",cards:"Cards",media:"Media",table:"Table"};var LE=new Set(["cards","media"]),ae=/^(\d{4}-\d{2}-\d{2})/;function le(e){let r=ae.exec(e.name);if(r)return r[1];if(e.modified){let t=new Date(e.modified);if(!Number.isNaN(t.getTime()))return t.toISOString().slice(0,10)}return null}function S1(){return $o(D?.projectConfig??{}).i18n?.locales??[]}function IE(e){let r=new Set;for(let t of e)if(t.locale)r.add(t.locale);return S1().filter((t)=>r.has(t))}function RE(e){let r=new Map,t=[];for(let o of e){let i=le(o);if(i===null){t.push(o);continue}let s=r.get(i);if(s)s.push(o);else r.set(i,[o])}return{days:[...r.entries()].map(([o,i])=>({date:o,files:i})).toSorted((o,i)=>i.date.localeCompare(o.date)),undated:t}}function $E(e){let r=new Map;for(let n of e){let o=r.get(n.category);if(o)o.push(n);else r.set(n.category,[n])}let t=pb.map((n)=>n.label);return[...r.entries()].map(([n,o])=>({files:o,group:n})).toSorted((n,o)=>{let i=t.indexOf(n.group),s=t.indexOf(o.group);if(i===s)return n.group.localeCompare(o.group);return(i===-1?t.length:i)-(s===-1?t.length:s)})}var G="The Library lists files; it does not edit them. Rename, duplicate or delete from the file's context menu, or open the file to edit it.";function Ow(){return[{editable:!1,field:"name",kind:"string",pk:!0,title:"Name",widthHint:260},{editable:!1,field:"category",kind:"string",title:"Category",widthHint:120},{editable:!1,field:"locale",kind:"string",title:"Locale",widthHint:90},{editable:!1,field:"type",kind:"string",title:"Type",widthHint:120},{editable:!1,field:"size",kind:"number",title:"Size",widthHint:90},{editable:!1,field:"modified",kind:"date",title:"Modified",widthHint:160},{editable:!1,field:"path",kind:"readonly",title:"Path",widthHint:320}]}function ce(e){return{cells:{category:e.category,locale:e.locale??null,modified:e.modified??null,name:e.name,path:e.path,size:e.size??null,type:e.type},key:e.path}}function L(){return ds({kind:"library"})}function DE(e){let r=null,t=null,n=e??(()=>D?.projectDirs??[]);async function o(){if(r)return r;return t??=Uf(n(),p()).then((i)=>(r=i,t=null,i)),t}return{capabilities:{delete:!1,insert:!1,remotePaging:!1,remoteSort:!1},columns:()=>Promise.resolve(Ow()),commit(i){return Promise.resolve({cells:i.cells.map((s)=>({error:G,field:s.field,ok:!1,rowKey:s.rowKey})),deletes:i.deletes.map((s)=>({error:G,ok:!1,rowKey:s.rowKey})),inserts:i.inserts.map((s)=>({error:G,ok:!1,tempKey:s.tempKey}))})},failures:()=>r?.failures??[],files:()=>r?.files??[],id:L(),label:"Library",async refresh(){r=null,t=null,await o()},async rows(){let i=await o();return{rows:i.files.map((s)=>ce(s)),total:i.files.length}},scanned:()=>r!==null}}var P={children:[],tagName:"div"};async function AE(e,r={}){let t=m.tabs.get(e);if(t)return ci(e,{focus:r.focus!==!1}),t;try{await qt()}catch{}let n=Dw(e),o=No({capabilities:{modes:["grid","source"]},document:structuredClone(P),documentPath:e,id:e,sourceFormat:Zt(e)?.name??null,...r.paneId!==void 0&&{paneId:r.paneId},...r.preview===!0&&{preview:!0},...r.focus===!1&&{focus:!1}});return Ru(o,n).load(),o}function F(e){let r=No({capabilities:{modes:["grid"]},document:structuredClone(P),documentPath:null,id:e.id});return Ru(r,e).load(),r}function z(e){let r=ds({kind:"collection",name:e}),t=m.tabs.get(r);if(t)return ci(r),t;return F(R1(e))}function NE(){let e=L(),r=m.tabs.get(e);if(r)return ci(e),r;return No({capabilities:{modes:["manage"]},document:structuredClone(P),documentPath:null,id:e})}function E1(){let e=ds({kind:"pages"}),r=m.tabs.get(e);if(r)return ci(e),r;return F($1())}function Y(e,r){let t=ds({connection:e??"default",kind:"data",table:r}),n=m.tabs.get(t);if(n)return ci(t),n;return F(B(e,r))}function de(e){let r=Kf(e);if(r?.kind==="pages")E1();else if(r?.kind==="collection")z(r.name);else if(r?.kind==="data")Y(r.connection,r.table)}function ue(e,r){return[{emptyMessage:"",key:"project",rows:[{id:ds({kind:"pages"}),label:"Pages"},...e.map(({name:t})=>({id:ds({kind:"collection",name:t}),label:`Collection: ${t}`}))],state:"listed",title:"Project"},...r.map((t)=>({emptyMessage:"No tables — push a schema first.",key:`data:${t.name}`,rows:t.tables.map((n)=>({id:ds({connection:t.name,kind:"data",table:n}),label:n})),state:t.tables.length===0?"empty":"listed",title:`Data · ${t.name}`}))]}async function OE(){let e=Fw(),r=[];if(Rw())r=(await E().catch(()=>null))?.connections??[];let t=null,n=bs({cancelLabel:"Cancel",confirmLabel:"",headline:"Open Grid",island:(o)=>{t=j(o,ue(e,r),(i)=>{n.close(),de(i)})},layer:Ct("dialog"),onCancel:()=>n.close(),onClosed:()=>{t?.dispose(),t=null},onConfirm:()=>{},region:"grid/open"});n.ready}function pe(){return[{args:Se({name:He("The content collection's name, as project.json declares it.")}),category:"Project",id:"collection.editInGrid",level:"project",menus:["context/file","palette"],group:"5_data",requires:"a project that declares content collections",when:(e)=>e.project.open,run:(e,r)=>{let t=ot("collection.editInGrid",r,"name"),n=Fw().map((o)=>o.name);if(!n.includes(t))throw RangeError(`command "collection.editInGrid" argument "name": "${t}" is not a content `+"collection this project declares — it declares: "+`${n.length>0?n.join(", "):"none"}`);z(t)},title:"Edit Collection in Grid"},{args:{additionalProperties:!1,properties:{connection:He('The connection name from project.json. Defaults to "default".'),table:He("The table to open.")},required:["table"],type:"object"},category:"Project",id:"data.openGrid",level:"project",menus:["palette"],group:"5_data",requires:"a platform that serves the data routes",when:(e)=>e.project.open,enablement:(e)=>e.capability.dataRows,run:(e,r)=>{let t=ot("data.openGrid",r,"table");Y(Jo("data.openGrid",r,"connection"),t)},title:"Open Data Grid"}]}function ME(e){e.registerAll(pe())}
|
|
7
|
+
export{Rw,SE,_1,EE,$w,Dw,pb,C1,Aw,k1,Uf,TE,qf,Nw,LE,S1,IE,RE,$E,Ow,DE,AE,NE,E1,OE,ME};
|
|
8
|
+
|
|
9
|
+
//# debugId=5E34916DF590526664756E2164756E21
|
|
10
|
+
//# sourceMappingURL=studio-56z7evx4.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{Xi,Ln,Cn,xi,Uv,J,dt,Gn,Qi,Ie,ol,e,h,Wt,ao,r0,es,xs,$e,E,c,n,ie,Kt,C,i,yr,lo,Qm,he,Me,Jt,Cs,W,r,t,O,b,Zd,zI,Xd,$t,Fe,Zs,WI,co,ns,Pt,al,Ci,ir,Kn,Zv,be,ks,ee,Vp,ll,uh,og,d,fn,H,Fn,M,u0,Te,Ho,F,l,qp,Ye,Et,Pe,Yn,w,Qt,g,_e,se,L,Z,ye,gt,mn,Qe,G,Ne,we,_,Gp,A,V,it,a,hi,Rn,Si,an,Ze,Sn,Ht,Ei,Pr,pi,Be,Bt,z,Bo,po,U,I,le,X,pt,fe,et,g0,tu,Y,f,j,Bc,ug,Ch,Li,En,fi,s,zo,Ls,Ih,my,E0,ii,xt,o,De,wR,ml,cu,ut,ji,ce,oe,vn,M0,SR,ER,du,ic,Nh,yn,Rs,Gc,RR,ta,cn,wn,vl,Hi,ff,H0,mf,ke,$R,bf,Na,Ut,dr,Ds,Mt,Oa,Q0,e_,My,Rg,t_,Vo,As,Yc,yf,Ph,Fh,Sr,pu,iS,si,Xn,Xe,jh,mu,Ma,Ag,Hh,Vr,Tn}from"./studio-01kbbqg3.js";import{It,Wm,Vd,qx,Gx,Kx,Vm,Um,Ak,Jx,Vl,OI,Wv,Ud,ya,qm,Pp,Yx,Zx,Nk,Ok,Xx,Mk,qd,Vv,Qx,e0,Fp,Gm,jp,Km,t0,so,Jm,Pk,Gd,Yr}from"./studio-x92tgnee.js";class at extends an{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:h(101,"Toggle Collapse Unchanged Regions"),icon:b.map,toggled:_.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:_.has("isInDiffEditor"),menu:{when:_.has("isInDiffEditor"),id:a.EditorTitle,order:22,group:"navigation"}})}run(p,...u){let m=p.get(X),v=!m.getValue("diffEditor.hideUnchangedRegions.enabled");m.updateValue("diffEditor.hideUnchangedRegions.enabled",v)}}class Co extends an{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:h(102,"Toggle Show Moved Code Blocks"),precondition:_.has("isInDiffEditor")})}run(p,...u){let m=p.get(X),v=!m.getValue("diffEditor.experimental.showMoves");m.updateValue("diffEditor.experimental.showMoves",v)}}class ct extends an{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:h(103,"Toggle Use Inline View When Space Is Limited"),precondition:_.has("isInDiffEditor")})}run(p,...u){let m=p.get(X),v=!m.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");m.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",v)}}var ro=h(104,"Diff Editor");class lt extends Bo{constructor(){super({id:"diffEditor.switchSide",title:h(105,"Switch Side"),icon:b.arrowSwap,precondition:_.has("isInDiffEditor"),f1:!0,category:ro})}runEditorCommand(p,u,m){let v=qe(p);if(v instanceof Ma)if(m&&m.dryRun)return{destinationSelection:v.mapToOtherSide().destinationSelection};else v.switchSide();return}}class mt extends Bo{constructor(){super({id:"diffEditor.exitCompareMove",title:h(106,"Exit Compare Move"),icon:b.close,precondition:o.comparingMovedCode,f1:!1,category:ro,keybinding:{weight:1e4,primary:9}})}runEditorCommand(p,u,...m){let v=qe(p);if(v instanceof Ma)v.exitCompareMove()}}class ht extends Bo{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:h(107,"Collapse All Unchanged Regions"),icon:b.fold,precondition:_.has("isInDiffEditor"),f1:!0,category:ro})}runEditorCommand(p,u,...m){let v=qe(p);if(v instanceof Ma)v.collapseAllUnchangedRegions()}}class ft extends Bo{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:h(108,"Show All Unchanged Regions"),icon:b.unfold,precondition:_.has("isInDiffEditor"),f1:!0,category:ro})}runEditorCommand(p,u,...m){let v=qe(p);if(v instanceof Ma)v.showAllUnchangedRegions()}}class no extends an{constructor(){super({id:"diffEditor.revert",title:h(109,"Revert"),f1:!0,category:ro,precondition:_.has("isInDiffEditor")})}run(p,u){return u?this.runViaToolbarContext(p,u):this.runViaCursorOrSelection(p)}runViaCursorOrSelection(p){let u=qe(p);if(u instanceof Ma)u.revertFocusedRangeMappings();return}runViaToolbarContext(p,u){let m=nn(p,u.originalUri,u.modifiedUri);if(m instanceof Ma)m.revertRangeMappings(u.mapping.innerChanges??[]);return}}var Gi=h(110,"Accessible Diff Viewer");class Ve extends an{static{this.id="editor.action.accessibleDiffViewer.next"}constructor(){super({id:Ve.id,title:h(111,"Go to Next Difference"),category:Gi,precondition:_.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(p){qe(p)?.accessibleDiffViewerNext()}}class uo extends an{static{this.id="editor.action.accessibleDiffViewer.prev"}constructor(){super({id:uo.id,title:h(112,"Go to Previous Difference"),category:Gi,precondition:_.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(p){qe(p)?.accessibleDiffViewerPrev()}}function nn(p,u,m){return p.get(ye).listDiffEditors().find((x)=>{let y=x.getModifiedEditor(),S=x.getOriginalEditor();return y&&y.getModel()?.uri.toString()===m.toString()&&S&&S.getModel()?.uri.toString()===u.toString()})||null}function qe(p){let m=p.get(ye).listDiffEditors(),v=Et();if(v){for(let k of m)if(k.getContainerDomNode().contains(v))return k}return null}Ze(at);Ze(Co);Ze(ct);Rn.appendMenuItem(a.EditorTitle,{command:{id:new Co().desc.id,title:e(135,"Show Moved Code Blocks"),icon:b.move,toggled:Gp.create("config.diffEditor.experimental.showMoves",!0),precondition:_.has("isInDiffEditor")},order:10,group:"1_diff",when:_.has("isInDiffEditor")});Ze(no);for(let p of[{icon:b.arrowRight,key:o.diffEditorInlineMode.toNegated()},{icon:b.discard,key:o.diffEditorInlineMode}])Rn.appendMenuItem(a.DiffEditorHunkToolbar,{command:{id:new no().desc.id,title:e(136,"Revert Block"),icon:p.icon},when:_.and(o.diffEditorModifiedWritable,p.key),order:5,group:"primary"}),Rn.appendMenuItem(a.DiffEditorSelectionToolbar,{command:{id:new no().desc.id,title:e(137,"Revert Selection"),icon:p.icon},when:_.and(o.diffEditorModifiedWritable,p.key),order:5,group:"primary"});Ze(lt);Ze(mt);Ze(ht);Ze(ft);Rn.appendMenuItem(a.EditorTitle,{command:{id:Ve.id,title:e(138,"Open Accessible Diff Viewer"),precondition:_.has("isInDiffEditor")},order:10,group:"2_diff",when:_.and(o.accessibleDiffViewerVisible.negate(),_.has("isInDiffEditor"))});we.registerCommandAlias("editor.action.diffReview.next",Ve.id);Ze(Ve);we.registerCommandAlias("editor.action.diffReview.prev",uo.id);Ze(uo);var sn=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},dn=function(p,u){return function(m,v){u(m,v,p)}},bt,So=new A("selectionAnchorSet",!1),Ee=class p{static{bt=this}static{this.ID="editor.contrib.selectionAnchorController"}static get(u){return u.getContribution(bt.ID)}constructor(u,m){this.editor=u,this.selectionAnchorSetContextKey=So.bindTo(m),this.modelChangeListener=u.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){let u=this.editor.getPosition();this.editor.changeDecorations((m)=>{if(this.decorationId)m.removeDecoration(this.decorationId);this.decorationId=m.addDecoration(O.fromPositions(u,u),{description:"selection-anchor",stickiness:1,hoverMessage:new yn().appendText(e(849,"Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),En(e(850,"Anchor set at {0}:{1}",u.lineNumber,u.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){let u=this.editor.getModel().getDecorationRange(this.decorationId);if(u)this.editor.setPosition(u.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){let u=this.editor.getModel().getDecorationRange(this.decorationId);if(u){let m=this.editor.getPosition();this.editor.setSelection(O.fromPositions(u.getStartPosition(),m)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){let u=this.decorationId;this.editor.changeDecorations((m)=>{m.removeDecoration(u),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};Ee=bt=sn([dn(1,V)],Ee);class Ki extends z{constructor(){super({id:"editor.action.setSelectionAnchor",label:h(851,"Set Selection Anchor"),precondition:void 0,kbOpts:{kbExpr:o.editorTextFocus,primary:Jt(2089,2080),weight:100}})}async run(p,u){Ee.get(u)?.setSelectionAnchor()}}class Yi extends z{constructor(){super({id:"editor.action.goToSelectionAnchor",label:h(852,"Go to Selection Anchor"),precondition:So})}async run(p,u){Ee.get(u)?.goToSelectionAnchor()}}class Zi extends z{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:h(853,"Select from Anchor to Cursor"),precondition:So,kbOpts:{kbExpr:o.editorTextFocus,primary:Jt(2089,2089),weight:100}})}async run(p,u){Ee.get(u)?.selectFromAnchorToCursor()}}class $i extends z{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:h(854,"Cancel Selection Anchor"),precondition:So,kbOpts:{kbExpr:o.editorTextFocus,primary:9,weight:100}})}async run(p,u){Ee.get(u)?.cancelSelectionAnchor()}}le(Ee.ID,Ee,4);I(Ki);I(Yi);I(Zi);I($i);class vt{constructor(p,u){this._selection=p,this._isMovingLeft=u}getEditOperations(p,u){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;let m=this._selection.startLineNumber,v=this._selection.startColumn,k=this._selection.endColumn;if(this._isMovingLeft&&v===1)return;if(!this._isMovingLeft&&k===p.getLineMaxColumn(m))return;if(this._isMovingLeft){let x=new t(m,v-1,m,v),y=p.getValueInRange(x);u.addEditOperation(x,null),u.addEditOperation(new t(m,k,m,k),y)}else{let x=new t(m,k,m,k+1),y=p.getValueInRange(x);u.addEditOperation(x,null),u.addEditOperation(new t(m,v,m,v),y)}}computeCursorState(p,u){if(this._isMovingLeft)return new O(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1);else return new O(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class wt extends z{constructor(p,u){super(u);this.left=p}run(p,u){if(!u.hasModel())return;let m=[],v=u.getSelections();for(let k of v)m.push(new vt(k,this.left));u.pushUndoStop(),u.executeCommands(this.id,m),u.pushUndoStop()}}class Ji extends wt{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:h(861,"Move Selected Text Left"),precondition:o.writable})}}class er extends wt{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:h(862,"Move Selected Text Right"),precondition:o.writable})}}I(Ji);I(er);class or extends z{constructor(){super({id:"editor.action.transposeLetters",label:h(863,"Transpose Letters"),precondition:o.writable,kbOpts:{kbExpr:o.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(p,u){if(!u.hasModel())return;let m=u.getModel(),v=[],k=u.getSelections();for(let x of k){if(!x.isEmpty())continue;let{startLineNumber:y,startColumn:S}=x,D=m.getLineMaxColumn(y);if(y===1&&(S===1||S===2&&D===2))continue;let T=S===D?x.getPosition():xt.rightPosition(m,x.getPosition().lineNumber,x.getPosition().column),R=xt.leftPosition(m,T),q=xt.leftPosition(m,R),P=m.getValueInRange(t.fromPositions(q,R)),N=m.getValueInRange(t.fromPositions(R,T)),B=t.fromPositions(q,T);v.push(new ii(B,N+P))}if(v.length>0)u.pushUndoStop(),u.executeCommands(this.id,v),u.pushUndoStop()}}I(or);class je{constructor(){this.lenses=[]}static{this.Empty=new je}dispose(){this._store?.dispose()}get isDisposed(){return this._store?.isDisposed??!1}add(p,u){if(xs(p))this._store??=new c,this._store.add(p);for(let m of p.lenses)this.lenses.push({symbol:m,provider:u})}}async function kt(p,u,m){let v=p.ordered(u),k=new Map,x=new je,y=v.map(async(S,D)=>{k.set(S,D);try{let T=await Promise.resolve(S.provideCodeLenses(u,m));if(T)x.add(T,S)}catch(T){dt(T)}});if(await Promise.all(y),m.isCancellationRequested)return x.dispose(),je.Empty;return x.lenses=x.lenses.sort((S,D)=>{if(S.symbol.range.startLineNumber<D.symbol.range.startLineNumber)return-1;else if(S.symbol.range.startLineNumber>D.symbol.range.startLineNumber)return 1;else if(k.get(S.provider)<k.get(D.provider))return-1;else if(k.get(S.provider)>k.get(D.provider))return 1;else if(S.symbol.range.startColumn<D.symbol.range.startColumn)return-1;else if(S.symbol.range.startColumn>D.symbol.range.startColumn)return 1;else return 0}),x}we.registerCommand("_executeCodeLensProvider",function(p,...u){let[m,v]=u;Ie(W.isUri(m)),Ie(typeof v==="number"||!v);let{codeLensProvider:k}=p.get(j),x=p.get(gt).getModel(m);if(!x)throw Qi();let y=[],S=new c;return kt(k,x,he.None).then((D)=>{S.add(D);let T=[];for(let R of D.lenses)if(v===void 0||v===null||Boolean(R.symbol.command))y.push(R.symbol);else if(v-- >0&&R.provider.resolveCodeLens)T.push(Promise.resolve(R.provider.resolveCodeLens(x,R.symbol,he.None)).then((q)=>y.push(q||R.symbol)));return Promise.all(T)}).then(()=>y).finally(()=>{setTimeout(()=>S.dispose(),100)})});var ln=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},un=function(p,u){return function(m,v){u(m,v,p)}},Ct=Z("ICodeLensCache");class yt{constructor(p,u){this.lineCount=p,this.data=u}}var _t=class p{constructor(u){this._fakeProvider=new class{provideCodeLenses(){throw Error("not supported")}},this._cache=new Ei(20,0.75);let m="codelens/cache";qp(Fe,()=>u.remove(m,1));let v="codelens/cache2",k=u.get(v,1,"{}");this._deserialize(k);let x=C.filter(u.onWillSaveState,(y)=>y.reason===vl.SHUTDOWN);C.once(x)((y)=>{u.store(v,this._serialize(),1,1)})}put(u,m){let v=m.lenses.map((y)=>({range:y.symbol.range,command:y.symbol.command&&{id:"",title:y.symbol.command?.title}})),k=new je;k.add({lenses:v},this._fakeProvider);let x=new yt(u.getLineCount(),k);this._cache.set(u.uri.toString(),x)}get(u){let m=this._cache.get(u.uri.toString());return m&&m.lineCount===u.getLineCount()?m.data:void 0}delete(u){this._cache.delete(u.uri.toString())}_serialize(){let u=Object.create(null);for(let[m,v]of this._cache){let k=new Set;for(let x of v.data.lenses)k.add(x.symbol.range.startLineNumber);u[m]={lineCount:v.lineCount,lines:[...k.values()]}}return JSON.stringify(u)}_deserialize(u){try{let m=JSON.parse(u);for(let v in m){let k=m[v],x=[];for(let S of k.lines)x.push({range:new t(S,1,S,11)});let y=new je;y.add({lenses:x},this._fakeProvider),this._cache.set(v,new yt(k.lineCount,y))}}catch{}}};_t=ln([un(0,wn)],_t);fe(Ct,_t,1);class rr{constructor(p,u,m){this.afterColumn=1073741824,this.afterLineNumber=p,this.heightInPx=u,this._onHeight=m,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(p){if(this._lastHeight===void 0)this._lastHeight=p;else if(this._lastHeight!==p)this._lastHeight=p,this._onHeight()}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class Io{static{this._idPool=0}constructor(p,u){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=p,this._id=`codelens.widget-${Io._idPool++}`,this.updatePosition(u),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(p,u){this._commands.clear();let m=[],v=!1;for(let k=0;k<p.length;k++){let x=p[k];if(!x)continue;if(v=!0,x.command){let y=Rs(x.command.title.trim());if(x.command.id){let S=`c${Io._idPool++}`;m.push(g("a",{id:S,title:x.command.tooltip,role:"button"},...y)),this._commands.set(S,x.command)}else m.push(g("span",{title:x.command.tooltip},...y));if(k+1<p.length)m.push(g("span",void 0," | "))}}if(!v)Qt(this._domNode,g("span",void 0,"no commands"));else{if(Qt(this._domNode,...m),this._isEmpty&&u)this._domNode.classList.add("fadein");this._isEmpty=!1}}getCommand(p){return p.parentElement===this._domNode?this._commands.get(p.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(p){let u=this._editor.getModel().getLineFirstNonWhitespaceColumn(p);this._widgetPosition={position:{lineNumber:p,column:u},preference:[1]}}getPosition(){return this._widgetPosition||null}}class mo{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(p,u){this._addDecorations.push(p),this._addDecorationsCallbacks.push(u)}removeDecoration(p){this._removeDecorations.push(p)}commit(p){let u=p.deltaDecorations(this._removeDecorations,this._addDecorations);for(let m=0,v=u.length;m<v;m++)this._addDecorationsCallbacks[m](u[m])}}var tr=oe.register({collapseOnReplaceEdit:!0,description:"codelens"});class Mo{constructor(p,u,m,v,k,x){this._isDisposed=!1,this._editor=u,this._data=p,this._decorationIds=[];let y,S=[];if(this._data.forEach((D,T)=>{if(D.symbol.command)S.push(D.symbol);if(m.addDecoration({range:D.symbol.range,options:tr},(R)=>this._decorationIds[T]=R),!y)y=t.lift(D.symbol.range);else y=t.plusRange(y,D.symbol.range)}),this._viewZone=new rr(y.startLineNumber-1,k,x),this._viewZoneId=v.addZone(this._viewZone),S.length>0)this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(S,!1)}_createContentWidgetIfNecessary(){if(!this._contentWidget)this._contentWidget=new Io(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget);else this._editor.layoutContentWidget(this._contentWidget)}dispose(p,u){if(this._decorationIds.forEach(p.removeDecoration,p),this._decorationIds=[],u?.removeZone(this._viewZoneId),this._contentWidget)this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0;this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((p,u)=>{let m=this._editor.getModel().getDecorationRange(p),v=this._data[u].symbol;return!!(m&&t.isEmpty(v.range)===m.isEmpty())})}updateCodeLensSymbols(p,u){this._decorationIds.forEach(u.removeDecoration,u),this._decorationIds=[],this._data=p,this._data.forEach((m,v)=>{u.addDecoration({range:m.symbol.range,options:tr},(k)=>this._decorationIds[v]=k)})}updateHeight(p,u){if(this._viewZone.heightInPx=p,u.layoutZone(this._viewZoneId),this._contentWidget)this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(p){if(!this._viewZone.isVisible())return null;for(let u=0;u<this._decorationIds.length;u++){let m=p.getDecorationRange(this._decorationIds[u]);if(m)this._data[u].symbol.range=m}return this._data}updateCommands(p){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(p,!0);for(let u=0;u<this._data.length;u++){let m=p[u];if(m){let{symbol:v}=this._data[u];v.command=m.command||v.command}}}getCommand(p){return this._contentWidget?.getCommand(p)}getLineNumber(){let p=this._editor.getModel().getDecorationRange(this._decorationIds[0]);if(p)return p.startLineNumber;return-1}update(p){if(this.isValid()){let u=this._editor.getModel().getDecorationRange(this._decorationIds[0]);if(u){if(this._viewZone.afterLineNumber=u.startLineNumber-1,p.layoutZone(this._viewZoneId),this._contentWidget)this._contentWidget.updatePosition(u.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)}}}}var hn=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},ho=function(p,u){return function(m,v){u(m,v,p)}},go=class p{static{this.ID="css.editor.codeLens"}constructor(u,m,v,k,x,y){this._editor=u,this._languageFeaturesService=m,this._commandService=k,this._notificationService=x,this._codeLensCache=y,this._disposables=new c,this._localToDispose=new c,this._lenses=[],this._oldCodeLensModels=new c,this._provideCodeLensDebounce=v.for(m.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=v.for(m.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new be(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration((S)=>{if(S.hasChanged(59)||S.hasChanged(25)||S.hasChanged(24))this._updateLensStyle();if(S.hasChanged(23))this._onModelChange()})),this._disposables.add(m.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){this._localDispose(),this._localToDispose.dispose(),this._disposables.dispose(),this._resolveCodeLensesScheduler.dispose(),this._oldCodeLensModels.dispose(),this._currentCodeLensModel?.dispose()}_getLayoutInfo(){let u=Math.max(1.3,this._editor.getOption(75)/this._editor.getOption(61)),m=this._editor.getOption(25);if(!m||m<5)m=this._editor.getOption(61)*0.9|0;return{fontSize:m,codeLensHeight:m*u|0}}_updateLensStyle(){let{codeLensHeight:u,fontSize:m}=this._getLayoutInfo(),v=this._editor.getOption(24),k=this._editor.getOption(59),{style:x}=this._editor.getContainerDomNode();if(x.setProperty("--vscode-editorCodeLens-lineHeight",`${u}px`),x.setProperty("--vscode-editorCodeLens-fontSize",`${m}px`),x.setProperty("--vscode-editorCodeLens-fontFeatureSettings",k.fontFeatureSettings),v)x.setProperty("--vscode-editorCodeLens-fontFamily",v),x.setProperty("--vscode-editorCodeLens-fontFamilyDefault",lo.fontFamily);this._editor.changeViewZones((y)=>{for(let S of this._lenses)S.updateHeight(u,y)})}_localDispose(){this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=void 0,this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),this._currentCodeLensModel?.dispose()}_onModelChange(){this._localDispose();let u=this._editor.getModel();if(!u)return;if(!this._editor.getOption(23)||u.isTooLargeForTokenization())return;let m=this._codeLensCache.get(u);if(m)this._renderCodeLensSymbols(m);if(!this._languageFeaturesService.codeLensProvider.has(u)){if(m)Kn(()=>{let k=this._codeLensCache.get(u);if(m===k)this._codeLensCache.delete(u),this._onModelChange()},30000,this._localToDispose);return}for(let k of this._languageFeaturesService.codeLensProvider.all(u))if(typeof k.onDidChange==="function"){let x=k.onDidChange(()=>v.schedule());this._localToDispose.add(x)}let v=new be(()=>{let k=Date.now();this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=Pt((x)=>kt(this._languageFeaturesService.codeLensProvider,u,x)),this._getCodeLensModelPromise.then((x)=>{if(this._currentCodeLensModel)this._oldCodeLensModels.add(this._currentCodeLensModel);this._currentCodeLensModel=x,this._codeLensCache.put(u,x);let y=this._provideCodeLensDebounce.update(u,Date.now()-k);v.delay=y,this._renderCodeLensSymbols(x),this._resolveCodeLensesInViewportSoon()},J)},this._provideCodeLensDebounce.get(u));this._localToDispose.add(v),this._localToDispose.add(E(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations((k)=>{this._editor.changeViewZones((x)=>{let y=[],S=-1;this._lenses.forEach((T)=>{if(!T.isValid()||S===T.getLineNumber())y.push(T);else T.update(x),S=T.getLineNumber()});let D=new mo;y.forEach((T)=>{T.dispose(D,x),this._lenses.splice(this._lenses.indexOf(T),1)}),D.commit(k)})}),v.schedule(),this._resolveCodeLensesScheduler.cancel(),this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{v.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{v.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange((k)=>{if(k.scrollTopChanged&&this._lenses.length>0)this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(E(()=>{if(this._editor.getModel()){let k=Sr.capture(this._editor);this._editor.changeDecorations((x)=>{this._editor.changeViewZones((y)=>{this._disposeAllLenses(x,y)})}),k.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown((k)=>{if(k.target.type!==9)return;let x=k.target.element;if(x?.tagName==="SPAN")x=x.parentElement;if(x?.tagName==="A")for(let y of this._lenses){let S=y.getCommand(x);if(S){this._commandService.executeCommand(S.id,...S.arguments||[]).catch((D)=>this._notificationService.error(D));break}}})),v.schedule()}_disposeAllLenses(u,m){let v=new mo;for(let k of this._lenses)k.dispose(v,m);if(u)v.commit(u);this._lenses.length=0}_renderCodeLensSymbols(u){if(!this._editor.hasModel())return;let m=this._editor.getModel().getLineCount(),v=[],k;for(let S of u.lenses){let D=S.symbol.range.startLineNumber;if(D<1||D>m)continue;else if(k&&k[k.length-1].symbol.range.startLineNumber===D)k.push(S);else k=[S],v.push(k)}if(!v.length&&!this._lenses.length)return;let x=Sr.capture(this._editor),y=this._getLayoutInfo();this._editor.changeDecorations((S)=>{this._editor.changeViewZones((D)=>{let T=new mo,R=0,q=0;while(q<v.length&&R<this._lenses.length){let P=v[q][0].symbol.range.startLineNumber,N=this._lenses[R].getLineNumber();if(N<P)this._lenses[R].dispose(T,D),this._lenses.splice(R,1);else if(N===P)this._lenses[R].updateCodeLensSymbols(v[q],T),q++,R++;else this._lenses.splice(R,0,new Mo(v[q],this._editor,T,D,y.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),R++,q++}while(R<this._lenses.length)this._lenses[R].dispose(T,D),this._lenses.splice(R,1);while(q<v.length)this._lenses.push(new Mo(v[q],this._editor,T,D,y.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),q++;T.commit(S)})}),x.restore(this._editor)}_resolveCodeLensesInViewportSoon(){if(this._editor.getModel())this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0;let u=this._editor.getModel();if(!u)return;let m=[],v=[];if(this._lenses.forEach((y)=>{let S=y.computeIfNecessary(u);if(S)m.push(S),v.push(y)}),m.length===0){this._oldCodeLensModels.clear();return}let k=Date.now(),x=Pt((y)=>{let S=m.map((D,T)=>{let R=Array(D.length),q=D.map((P,N)=>{if(!P.symbol.command&&typeof P.provider.resolveCodeLens==="function")return Promise.resolve(P.provider.resolveCodeLens(u,P.symbol,y)).then((B)=>{R[N]=B},dt);else return R[N]=P.symbol,Promise.resolve(void 0)});return Promise.all(q).then(()=>{if(!y.isCancellationRequested&&!v[T].isDisposed())v[T].updateCommands(R)})});return Promise.all(S)});this._resolveCodeLensesPromise=x,this._resolveCodeLensesPromise.then(()=>{let y=this._resolveCodeLensesDebounce.update(u,Date.now()-k);if(this._resolveCodeLensesScheduler.delay=y,this._currentCodeLensModel)this._codeLensCache.put(u,this._currentCodeLensModel);if(this._oldCodeLensModels.clear(),x===this._resolveCodeLensesPromise)this._resolveCodeLensesPromise=void 0},(y)=>{if(J(y),x===this._resolveCodeLensesPromise)this._resolveCodeLensesPromise=void 0})}async getModel(){return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,!this._currentCodeLensModel?.isDisposed?this._currentCodeLensModel:void 0}};go=hn([ho(1,j),ho(2,Hi),ho(3,Ne),ho(4,ut),ho(5,Ct)],go);le(go.ID,go,1);I(class p extends z{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:o.hasCodeLensProvider,label:h(935,"Show CodeLens Commands for Current Line")})}async run(u,m){if(!m.hasModel())return;let v=u.get(cn),k=u.get(Ne),x=u.get(ut),y=m.getSelection().positionLineNumber,S=m.getContribution(go.ID);if(!S)return;let D=await S.getModel();if(!D)return;let T=[];for(let P of D.lenses)if(P.symbol.command&&P.symbol.range.startLineNumber===y)T.push({label:P.symbol.command.title,command:P.symbol.command});if(T.length===0)return;let R=await v.pick(T,{canPickMany:!1,placeHolder:e(934,"Select a command")});if(!R)return;let q=R.command;if(D.isDisposed){let N=(await S.getModel())?.lenses.find((B)=>B.symbol.range.startLineNumber===y&&B.symbol.command?.title===q.title);if(!N||!N.symbol.command)return;q=N.symbol.command}try{await k.executeCommand(q.id,...q.arguments||[])}catch(P){x.error(P)}}});class Do extends n{static{this.ID="editor.contrib.colorContribution"}constructor(p){super();this._editor=p,this._register(p.onMouseDown((u)=>this.onMouseDown(u)))}dispose(){super.dispose()}onMouseDown(p){let u=this._editor.getOption(169);if(u!=="click"&&u!=="clickAndHover")return;if(!t0(p))return;let m=this._editor.getContribution(so.ID);if(!m)return;if(m.isColorPickerVisible)return;let v=p.target.range;if(!v)return;let k=new t(v.startLineNumber,v.startColumn+1,v.endLineNumber,v.endColumn+1);m.showContentHover(k,1,1,!1)}}var pn=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},gn=function(p,u){return function(m,v){u(m,v,p)}};class St{constructor(p,u,m,v){this.owner=p,this.range=u,this.model=m,this.provider=v}static fromBaseColor(p,u){return new St(p,u.range,u.model,u.provider)}}class nr extends n{constructor(p,u,m,v){super();let k=p.getModel(),x=m.model;this.color=m.model.color,this.colorPicker=this._register(new Vv(u.fragment,x,p.getOption(164),v,"standalone")),this._register(x.onColorFlushed((y)=>{this.color=y})),this._register(x.onDidChangeColor((y)=>{Fp(k,x,y,m.range,m)})),this._register(p.onDidChangeModelContent((y)=>{u.hide(),p.focus()})),Fp(k,x,this.color,m.range,m)}}var Lo=class p{constructor(u,m){this._editor=u,this._themeService=m}async createColorHover(u,m,v){if(!this._editor.hasModel())return null;if(!qd.get(this._editor))return null;let x=await Zx(v,this._editor.getModel(),he.None),y=null,S=null;for(let P of x){let N=P.colorInfo;if(t.containsRange(N.range,u.range))y=N,S=P.provider}let D=y??u,T=S??m,R=!!y;return{colorHover:St.fromBaseColor(this,await Qx(this._editor.getModel(),D,T)),foundInEditor:R}}async updateEditorModel(u,m){if(!this._editor.hasModel())return;let v=u.model,k=new t(u.range.startLineNumber,u.range.startColumn,u.range.endLineNumber,u.range.endColumn);if(this._color)await Fp(this._editor.getModel(),v,this._color,k,u),k=e0(this._editor,k,v,m)}renderHoverParts(u,m){if(m.length===0||!this._editor.hasModel())return;return this._setMinimumDimensions(u),this._renderedParts=new nr(this._editor,u,m[0],this._themeService),this._renderedParts}_setMinimumDimensions(u){let m=this._editor.getOption(75)+8;u.setMinimumDimensions(new Ye(302,m))}get _color(){return this._renderedParts?.color}};Lo=pn([gn(1,De)],Lo);var bn=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},fo=function(p,u){return function(m,v){u(m,v,p)}},Dt;class ar{constructor(p,u){this.value=p,this.foundInEditor=u}}var sr=8,xn=22,To=class p extends n{static{Dt=this}static{this.ID="editor.contrib.standaloneColorPickerWidget"}constructor(u,m,v,k,x,y,S,D){super();this._editor=u,this._standaloneColorPickerVisible=m,this._standaloneColorPickerFocused=v,this._keybindingService=x,this._languageFeaturesService=y,this._editorWorkerService=S,this._hoverService=D,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new i),this.onResult=this._onResult.event,this._renderedHoverParts=this._register(new ie),this._renderedStatusBar=this._register(new ie),this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=k.createInstance(Lo,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;let T=this._editor.getSelection();this._selections=this._editor.getSelections()??[];let R=T?{startLineNumber:T.startLineNumber,startColumn:T.startColumn,endLineNumber:T.endLineNumber,endColumn:T.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},q=this._register(Yn(this._body));this._register(q.onDidBlur((P)=>{this.hide()})),this._register(q.onDidFocus((P)=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{if(!this._selectionSetInEditor)this.hide();else this._selectionSetInEditor=!1;this._selections=this._editor.getSelections()??[]})),this._register(this._editor.onMouseMove((P)=>{let N=P.target.element?.classList;if(N&&N.contains("colorpicker-color-decoration"))this.hide()})),this._register(this.onResult((P)=>{this._render(P.value,P.foundInEditor)})),this._start(R),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){if(this._colorHover)this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover,this._selections)}getId(){return Dt.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;let u=this._editor.getOption(69).above;return{position:this._position,secondaryPosition:this._position,preference:u?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(u){let m=await this._computeAsync(u);if(!m)return;this._onResult.fire(new ar(m.result,m.foundInEditor))}async _computeAsync(u){if(!this._editor.hasModel())return null;let m={range:u,color:{red:0,green:0,blue:0,alpha:1}},v=await this._standaloneColorPickerParticipant.createColorHover(m,new Pp(this._editorWorkerService),this._languageFeaturesService.colorProvider);if(!v)return null;return{result:v.colorHover,foundInEditor:v.foundInEditor}}_render(u,m){let v=document.createDocumentFragment();this._renderedStatusBar.value=this._register(new qm(this._keybindingService,this._hoverService));let k={fragment:v,statusBar:this._renderedStatusBar.value,onContentsChanged:()=>{},setMinimumDimensions:()=>{},hide:()=>this.hide(),focus:()=>this.focus()};if(this._colorHover=u,this._renderedHoverParts.value=this._standaloneColorPickerParticipant.renderHoverParts(k,[u]),!this._renderedHoverParts.value){this._renderedStatusBar.clear(),this._renderedHoverParts.clear();return}let x=this._renderedHoverParts.value.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*0.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(v),x.layout();let y=x.body,S=y.saturationBox.domNode.clientWidth,D=y.domNode.clientWidth-S-xn-sr,T=x.body.enterButton;T?.onClicked(()=>{this.updateEditor(),this.hide()});let R=x.header,q=R.pickedColorNode;q.style.width=S+sr+"px";let P=R.originalColorNode;if(P.style.width=D+"px",x.header.closeButton?.onClicked(()=>{this.hide()}),m){if(T)T.button.textContent="Replace";this._selectionSetInEditor=!0,this._editor.setSelection(u.range)}this._editor.layoutContentWidget(this)}};To=Dt=bn([fo(3,L),fo(4,ce),fo(5,j),fo(6,fi),fo(7,vn)],To);var kn=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},cr=function(p,u){return function(m,v){u(m,v,p)}},Lt,Ce=class p extends n{static{Lt=this}static{this.ID="editor.contrib.standaloneColorPickerController"}constructor(u,m,v){super();this._editor=u,this._instantiationService=v,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=o.standaloneColorPickerVisible.bindTo(m),this._standaloneColorPickerFocused=o.standaloneColorPickerFocused.bindTo(m)}showOrFocus(){if(!this._editor.hasModel())return;if(!this._standaloneColorPickerVisible.get())this._standaloneColorPickerWidget=this._instantiationService.createInstance(To,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused);else if(!this._standaloneColorPickerFocused.get())this._standaloneColorPickerWidget?.focus()}hide(){this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerWidget?.hide(),this._editor.focus()}insertColor(){this._standaloneColorPickerWidget?.updateEditor(),this.hide()}static get(u){return u.getContribution(Lt.ID)}};Ce=Lt=kn([cr(1,V),cr(2,L)],Ce);class Tt extends Bo{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...h(940,"Show or Focus Standalone Color Picker"),mnemonicTitle:e(939,"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:a.CommandPalette}],metadata:{description:h(941,"Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(p,u){Ce.get(u)?.showOrFocus()}}class At extends z{constructor(){super({id:"editor.action.hideColorPicker",label:h(942,"Hide the Color Picker"),precondition:o.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:h(943,"Hide the standalone color picker.")}})}run(p,u){Ce.get(u)?.hide()}}class Rt extends z{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:h(944,"Insert Color with Standalone Color Picker"),precondition:o.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:h(945,"Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(p,u){Ce.get(u)?.insertColor()}}I(At);I(Rt);Ze(Tt);le(Do.ID,Do,2);le(Ce.ID,Ce,1);le(qd.ID,qd,1);Oa(Yx);ya.register(Gm);we.registerCommand("_executeDocumentColorProvider",function(p,...u){let[m]=u;if(!(m instanceof W))throw Qi();let{model:v,colorProviderRegistry:k,defaultColorDecoratorsEnablement:x}=Mk(p,m);return Xx(new Nk,k,v,he.None,x)});we.registerCommand("_executeColorPresentationProvider",function(p,...u){let[m,v]=u;if(!v)return;let{uri:k,range:x}=v;if(!(k instanceof W)||!Array.isArray(m)||m.length!==4||!t.isIRange(x))throw Qi();let{model:y,colorProviderRegistry:S,defaultColorDecoratorsEnablement:D}=Mk(p,k),[T,R,q,P]=m;return Xx(new Ok({range:x,color:{red:T,green:R,blue:q,alpha:P}}),S,y,he.None,D)});var _n="editor.action.pasteAs";le(Vl.ID,Vl,0);Oa(Gx);U(new class extends Bt{constructor(){super({id:Ak,precondition:Jx,kbOpts:{weight:100,primary:2137}})}runEditorCommand(p,u){return Vl.get(u)?.changePasteType()}});U(new class extends Bt{constructor(){super({id:"editor.hidePasteWidget",precondition:Jx,kbOpts:{weight:100,primary:9}})}runEditorCommand(p,u){Vl.get(u)?.clearWidgets()}});I(class p extends z{static{this.argsSchema={oneOf:[{type:"object",required:["kind"],properties:{kind:{type:"string",description:e(967,`The kind of the paste edit to try pasting with.
|
|
2
|
+
If there are multiple edits for this kind, the editor will show a picker. If there are no edits of this kind, the editor will show an error message.`)}}},{type:"object",required:["preferences"],properties:{preferences:{type:"array",description:e(968,`List of preferred paste edit kind to try applying.
|
|
3
|
+
The first edit matching the preferences will be applied.`),items:{type:"string"}}}}]}}constructor(){super({id:_n,label:h(969,"Paste As..."),precondition:o.writable,metadata:{description:"Paste as",args:[{name:"args",schema:p.argsSchema}]},canTriggerInlineEdits:!0})}run(u,m,v){let k;if(v){if("kind"in v)k={only:new It(v.kind)};else if("preferences"in v)k={preferences:v.preferences.map((x)=>new It(x))}}return Vl.get(m)?.pasteAs(k)}});I(class extends z{constructor(){super({id:"editor.action.pasteAsText",label:h(970,"Paste as Text"),precondition:o.writable,canTriggerInlineEdits:!0})}run(p,u){return Vl.get(u)?.pasteAs({providerId:Vd.id})}});class zt{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(p){if(p&&this._dragOperations.has(p)){let u=this._dragOperations.get(p);return this._dragOperations.delete(p),u}return}}class Eo{constructor(p){this.identifier=p}}var Ot=Z("treeViewsDndService");fe(Ot,zt,1);var In=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},Ao=function(p,u){return function(m,v){u(m,v,p)}},Se,Mn="editor.dropIntoEditor.preferences",qt="editor.changeDropType",Ro=new A("dropWidgetVisible",!1,e(988,"Whether the drop widget is showing")),He=class p extends n{static{Se=this}static{this.ID="editor.contrib.dropIntoEditorController"}static get(u){return u.getContribution(Se.ID)}constructor(u,m,v,k,x){super();this._configService=v,this._languageFeaturesService=k,this._treeViewsDragAndDropService=x,this.treeItemsTransfer=my.getInstance(),this._dropProgressManager=this._register(m.createInstance(Wm,"dropIntoEditor",u)),this._postDropWidgetManager=this._register(m.createInstance(Um,"dropIntoEditor",u,Ro,{id:qt,label:e(989,"Show drop options...")},()=>Se._configureDefaultAction?[Se._configureDefaultAction]:[])),this._register(u.onDropIntoEditor((y)=>this.onDropIntoEditor(u,y.position,y.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(u,m,v){if(!v.dataTransfer||!u.hasModel())return;Se._currentDropOperation?.cancel(),u.focus(),u.setPosition(m);let k=Pt(async(x)=>{let y=new c,S=y.add(new Vr(u,1,void 0,x));try{let D=await this.extractDataTransferData(v);if(D.size===0||S.token.isCancellationRequested)return;let T=u.getModel();if(!T)return;let R=this._languageFeaturesService.documentDropEditProvider.ordered(T).filter((P)=>{if(!P.dropMimeTypes)return!0;return P.dropMimeTypes.some((N)=>D.matches(N))}),q=y.add(await this.getDropEdits(R,T,m,D,S.token));if(S.token.isCancellationRequested)return;if(q.edits.length){let P=this.getInitialActiveEditIndex(T,q.edits),N=u.getOption(43).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([t.fromPositions(m)],{activeEditIndex:P,allEdits:q.edits},N,async(B)=>B,x)}}finally{if(y.dispose(),Se._currentDropOperation===k)Se._currentDropOperation=void 0}});this._dropProgressManager.showWhile(m,e(990,"Running drop handlers. Click to cancel"),k,{cancel:()=>k.cancel()}),Se._currentDropOperation=k}async getDropEdits(u,m,v,k,x){let y=new c,S=await al(Promise.all(u.map(async(T)=>{try{let R=await T.provideDocumentDropEdits(m,v,k,x);if(R)y.add(R);return R?.edits.map((q)=>({...q,providerId:T.id}))}catch(R){if(!Gn(R))console.error(R);console.error(R)}return})),x),D=Xi(S??[]).flat();return{edits:Kx(D),dispose:()=>y.dispose()}}getInitialActiveEditIndex(u,m){let v=this._configService.getValue(Mn,{resource:u.uri});for(let k of Array.isArray(v)?v:[]){let x=new It(k),y=m.findIndex((S)=>S.kind&&x.contains(S.kind));if(y>=0)return y}return 0}async extractDataTransferData(u){if(!u.dataTransfer)return new Ih;let m=E0(u.dataTransfer);if(this.treeItemsTransfer.hasData(Eo.prototype)){let v=this.treeItemsTransfer.getData(Eo.prototype);if(Array.isArray(v))for(let k of v){let x=await this._treeViewsDragAndDropService.removeDragOperationTransfer(k.identifier);if(x)for(let[y,S]of x)m.replace(y,S)}}return m}};He=Se=In([Ao(1,L),Ao(2,X),Ao(3,j),Ao(4,Ot)],He);le(He.ID,He,2);Oa(qx);U(new class extends Bt{constructor(){super({id:qt,precondition:Ro,kbOpts:{weight:100,primary:2137}})}runEditorCommand(p,u,m){He.get(u)?.changeDropType()}});U(new class extends Bt{constructor(){super({id:"editor.hideDropWidget",precondition:Ro,kbOpts:{weight:100,primary:9}})}runEditorCommand(p,u,m){He.get(u)?.clearWidgets()}});class lr extends z{constructor(){super({id:"editor.action.fontZoomIn",label:h(1069,"Increase Editor Font Size"),precondition:void 0})}run(p,u){yr.setZoomLevel(yr.getZoomLevel()+1)}}class ur extends z{constructor(){super({id:"editor.action.fontZoomOut",label:h(1070,"Decrease Editor Font Size"),precondition:void 0})}run(p,u){yr.setZoomLevel(yr.getZoomLevel()-1)}}class mr extends z{constructor(){super({id:"editor.action.fontZoomReset",label:h(1071,"Reset Editor Font Size"),precondition:void 0})}run(p,u){yr.setZoomLevel(0)}}I(lr);I(ur);I(mr);we.registerCommand("_executeDocumentSymbolProvider",async function(p,...u){let[m]=u;Ie(W.isUri(m));let v=p.get(Gd),x=await p.get(mn).createModelReference(m);try{return(await v.getOrCreate(x.object.textEditorModel,he.None)).getTopLevelSymbols()}finally{x.dispose()}});var Dn=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},hr=function(p,u){return function(m,v){u(m,v,p)}},Po=class p extends n{static{this.ID="editor.contrib.markerSelectionStatus"}constructor(u,m,v){super();this._editor=u,this._markerService=v,this._ctxHasDiagnostics=o.selectionHasDiagnostics.bindTo(m),this._store.add(this._editor.onDidChangeCursorSelection(()=>this._update())),this._store.add(this._editor.onDidChangeModel(()=>this._update())),this._store.add(this._markerService.onMarkerChanged((k)=>{let x=this._editor.getModel();if(x&&k.some((y)=>Pr(y,x.uri)))this._update()})),this._update()}dispose(){this._ctxHasDiagnostics.reset(),super.dispose()}_update(){let u=this._editor.getModel(),m=this._editor.getSelection();if(!u||!m){this._ctxHasDiagnostics.reset();return}let k=this._markerService.read({resource:u.uri,severities:Ut.Error|Ut.Warning|Ut.Info}).some((x)=>t.areIntersecting({startLineNumber:x.startLineNumber,startColumn:x.startColumn,endLineNumber:x.endLineNumber,endColumn:x.endColumn},m));this._ctxHasDiagnostics.set(k)}};Po=Dn([hr(1,V),hr(2,dr)],Po);le(Po.ID,Po,1);class pr extends z{constructor(){super({id:"editor.action.debugEditorGpuRenderer",label:h(1159,"Developer: Debug Editor GPU Renderer"),precondition:_.true()})}async run(p,u){let m=p.get(L),k=await p.get(cn).pick([{label:e(1156,"Log Texture Atlas Stats"),id:"logTextureAtlasStats"},{label:e(1157,"Save Texture Atlas"),id:"saveTextureAtlas"},{label:e(1158,"Draw Glyph"),id:"drawGlyph"}],{canPickMany:!1});if(!k)return;switch(k.id){case"logTextureAtlasStats":m.invokeFunction((x)=>{let y=x.get(Be),S=ji.atlas;if(!ji.atlas){y.error("No texture atlas found");return}let D=S.getStats();y.info(["Texture atlas stats",...D].join(`
|
|
4
|
+
|
|
5
|
+
`))});break;case"saveTextureAtlas":m.invokeFunction(async(x)=>{let y=x.get(Ds),S=x.get(Pk),D=y.getWorkspace().folders;if(D.length>0){let T=ji.atlas,R=[];for(let[q,P]of T.pages.entries())R.push(...[S.writeFile(W.joinPath(D[0].uri,`textureAtlasPage${q}_actual.png`),ll.wrap(new Uint8Array(await(await P.source.convertToBlob()).arrayBuffer()))),S.writeFile(W.joinPath(D[0].uri,`textureAtlasPage${q}_usage.png`),ll.wrap(new Uint8Array(await(await P.getUsagePreview()).arrayBuffer())))]);await Promise.all(R)}});break;case"drawGlyph":m.invokeFunction(async(x)=>{let y=x.get(X),S=x.get(Pk),D=x.get(cn),R=x.get(Ds).getWorkspace().folders;if(R.length===0)return;let q=ji.atlas,P=y.getValue("editor.fontFamily"),N=y.getValue("editor.fontSize"),B=new cu(N,P,Pe().devicePixelRatio,ji.decorationStyleCache),Q=await D.input({prompt:"Enter a character to draw (prefix with 0x for code point))"});if(!Q)return;let K=Q.match(/0x(?<codePoint>[0-9a-f]+)/i)?.groups?.codePoint;if(K!==void 0)Q=String.fromCodePoint(parseInt(K,16));let te=0,ae=0,de=q.getGlyph(B,Q,te,ae,0);if(!de)return;let ue=q.pages[de.pageIndex].source.getContext("2d")?.getImageData(de.x,de.y,de.w,de.h);if(!ue)return;let me=new OffscreenCanvas(ue.width,ue.height);ml(me.getContext("2d")).putImageData(ue,0,0);let xe=await me.convertToBlob({type:"image/png"}),io=W.joinPath(R[0].uri,`glyph_${Q}_${te}_${N}px_${P.replaceAll(/[,\\\/\.'\s]/g,"_")}.png`);await S.writeFile(io,ll.wrap(new Uint8Array(await xe.arrayBuffer())))});break}}}I(pr);le(jp.ID,jp,1);ya.register(Km);class Nt{constructor(p,u,m){this._editRange=p,this._originalSelection=u,this._text=m}getEditOperations(p,u){u.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(p,u){let v=u.getInverseEditOperations()[0].range;if(!this._originalSelection.isEmpty())return new O(v.endLineNumber,v.endColumn-this._text.length,v.endLineNumber,v.endColumn);return new O(v.endLineNumber,Math.min(this._originalSelection.positionColumn,v.endColumn),v.endLineNumber,Math.min(this._originalSelection.positionColumn,v.endColumn))}}var An=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},zn=function(p,u){return function(m,v){u(m,v,p)}},Oo,Ue=class p{static{Oo=this}static{this.ID="editor.contrib.inPlaceReplaceController"}static get(u){return u.getContribution(Oo.ID)}static{this.DECORATION=oe.register({description:"in-place-replace",className:"valueSetReplacement"})}constructor(u,m){this.editor=u,this.editorWorkerService=m,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(u,m){this.currentRequest?.cancel();let v=this.editor.getSelection(),k=this.editor.getModel();if(!k||!v)return;let x=v;if(x.startLineNumber!==x.endLineNumber)return;let y=new Hh(this.editor,5),S=k.uri;if(!this.editorWorkerService.canNavigateValueSet(S))return Promise.resolve(void 0);return this.currentRequest=Pt((D)=>this.editorWorkerService.navigateValueSet(S,x,m)),this.currentRequest.then((D)=>{if(!D||!D.range||!D.value)return;if(!y.validate(this.editor))return;let T=t.lift(D.range),R=D.range,q=D.value.length-(x.endColumn-x.startColumn);if(R={startLineNumber:R.startLineNumber,startColumn:R.startColumn,endLineNumber:R.endLineNumber,endColumn:R.startColumn+D.value.length},q>1)x=new O(x.startLineNumber,x.startColumn,x.endLineNumber,x.endColumn+q-1);let P=new Nt(T,x,D.value);this.editor.pushUndoStop(),this.editor.executeCommand(u,P),this.editor.pushUndoStop(),this.decorations.set([{range:R,options:Oo.DECORATION}]),this.decorationRemover?.cancel(),this.decorationRemover=ir(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(J)}).catch(J)}};Ue=Oo=An([zn(1,fi)],Ue);class gr extends z{constructor(){super({id:"editor.action.inPlaceReplace.up",label:h(1306,"Replace with Previous Value"),precondition:o.writable,kbOpts:{kbExpr:o.editorTextFocus,primary:3159,weight:100}})}run(p,u){let m=Ue.get(u);if(!m)return Promise.resolve(void 0);return m.run(this.id,!1)}}class fr extends z{constructor(){super({id:"editor.action.inPlaceReplace.down",label:h(1307,"Replace with Next Value"),precondition:o.writable,kbOpts:{kbExpr:o.editorTextFocus,primary:3161,weight:100}})}run(p,u){let m=Ue.get(u);if(!m)return Promise.resolve(void 0);return m.run(this.id,!0)}}le(Ue.ID,Ue,4);I(gr);I(fr);class jt{constructor(p){this._selection=p,this._selectionId=null}getEditOperations(p,u){let m=Pn(p);if(m)u.addEditOperation(m.range,m.text);this._selectionId=u.trackSelection(this._selection)}computeCursorState(p,u){return u.getTrackedSelection(this._selectionId)}}function Pn(p){let u=p.getLineCount();return Mt.insert(new r(u,p.getLineMaxColumn(u)),p.getEOL())}class Ft extends z{static{this.ID="editor.action.insertFinalNewLine"}constructor(){super({id:Ft.ID,label:h(1308,"Insert Final New Line"),precondition:o.writable})}run(p,u,m){let v=u.getSelection();if(v===null)return;let k=new jt(v);u.pushUndoStop(),u.executeCommands(this.id,[k]),u.pushUndoStop()}}I(Ft);var On=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},qo=function(p,u){return function(m,v){u(m,v,p)}},No,br=new A("LinkedEditingInputVisible",!1),qn="linked-editing-decoration",Ge=class p extends n{static{No=this}static{this.ID="editor.contrib.linkedEditing"}static{this.DECORATION=oe.register({description:"linked-editing",stickiness:0,className:qn})}static get(u){return u.getContribution(No.ID)}constructor(u,m,v,k,x){super();this.languageConfigurationService=k,this._syncRangesToken=0,this._localToDispose=this._register(new c),this._editor=u,this._providers=v.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=br.bindTo(m),this._debounceInformation=x.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new c),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration((y)=>{if(y.hasChanged(78)||y.hasChanged(106))this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(u){let m=this._editor.getModel(),v=m!==null&&(this._editor.getOption(78)||this._editor.getOption(106))&&this._providers.has(m);if(v===this._enabled&&!u)return;if(this._enabled=v,this.clearRanges(),this._localToDispose.clear(),!v||m===null)return;this._localToDispose.add(C.runAndSubscribe(m.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(m.getLanguageId()).getWordDefinition()}));let k=new Ci(this._debounceInformation.get(m)),x=()=>{this._rangeUpdateTriggerPromise=k.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(m))},y=new Ci(0),S=(D)=>{this._rangeSyncTriggerPromise=y.trigger(()=>this._syncRanges(D))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{x()})),this._localToDispose.add(this._editor.onDidChangeModelContent((D)=>{if(!this._ignoreChangeEvent){if(this._currentDecorations.length>0){let T=this._currentDecorations.getRange(0);if(T&&D.changes.every((R)=>T.intersectRanges(R.range))){S(this._syncRangesToken);return}}}x()})),this._localToDispose.add({dispose:()=>{k.dispose(),y.dispose()}}),this.updateRanges()}_syncRanges(u){if(!this._editor.hasModel()||u!==this._syncRangesToken||this._currentDecorations.length===0)return;let m=this._editor.getModel(),v=this._currentDecorations.getRange(0);if(!v||v.startLineNumber!==v.endLineNumber)return this.clearRanges();let k=m.getValueInRange(v);if(this._currentWordPattern){let y=k.match(this._currentWordPattern);if((y?y[0].length:0)!==k.length)return this.clearRanges()}let x=[];for(let y=1,S=this._currentDecorations.length;y<S;y++){let D=this._currentDecorations.getRange(y);if(!D)continue;if(D.startLineNumber!==D.endLineNumber)x.push({range:D,text:k});else{let T=m.getValueInRange(D),R=k,{startColumn:q,endColumn:P}=D,N=co(T,R);q+=N,T=T.substr(N),R=R.substr(N);let B=ns(T,R);if(P-=B,T=T.substr(0,T.length-B),R=R.substr(0,R.length-B),q!==P||R.length!==0)x.push({range:new t(D.startLineNumber,q,D.endLineNumber,P),text:R})}}if(x.length===0)return;try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;let y=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",x),this._editor._getViewModel().setPrevEditOperationType(y)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){if(this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts)this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null}async updateRanges(u=!1){if(!this._editor.hasModel()){this.clearRanges();return}let m=this._editor.getPosition();if(!this._enabled&&!u||this._editor.getSelections().length>1){this.clearRanges();return}let v=this._editor.getModel(),k=v.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===k){if(m.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){let y=this._currentDecorations.getRange(0);if(y&&y.containsPosition(m))return}}if(!this._currentRequestPosition?.equals(m)){if(!this._currentDecorations.getRange(0)?.containsPosition(m))this.clearRanges()}this._currentRequestPosition=m,this._currentRequestModelVersion=k;let x=this._currentRequestCts=new Me;try{let y=new Kt(!1),S=await wr(this._providers,v,m,x.token);if(this._debounceInformation.update(v,y.elapsed()),x!==this._currentRequestCts)return;if(this._currentRequestCts=null,k!==v.getVersionId())return;let D=[];if(S?.ranges)D=S.ranges;this._currentWordPattern=S?.wordPattern||this._languageWordPattern;let T=!1;for(let q=0,P=D.length;q<P;q++)if(t.containsPosition(D[q],m)){if(T=!0,q!==0){let N=D[q];D.splice(q,1),D.unshift(N)}break}if(!T){this.clearRanges();return}let R=D.map((q)=>({range:q,options:No.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(R),this._syncRangesToken++}catch(y){if(!Gn(y))J(y);if(this._currentRequestCts===x||!this._currentRequestCts)this.clearRanges()}}};Ge=No=On([qo(1,V),qo(2,j),qo(3,et),qo(4,Hi)],Ge);class vr extends z{constructor(){super({id:"editor.action.linkedEditing",label:h(1342,"Start Linked Editing"),precondition:_.and(o.writable,o.hasRenameProvider),kbOpts:{kbExpr:o.editorTextFocus,primary:3132,weight:100}})}runCommand(p,u){let m=p.get(ye),[v,k]=Array.isArray(u)&&u||[void 0,void 0];if(W.isUri(v)&&r.isIPosition(k))return m.openCodeEditor({resource:v},m.getActiveCodeEditor()).then((x)=>{if(!x)return;x.setPosition(k),x.invokeWithinContext((y)=>(this.reportTelemetry(y,x),this.run(y,x)))},J);return super.runCommand(p,u)}run(p,u){let m=Ge.get(u);if(m)return Promise.resolve(m.updateRanges(!0));return Promise.resolve()}}var Nn=Bt.bindToContribution(Ge.get);U(new Nn({id:"cancelLinkedEditingInput",precondition:br,handler:(p)=>p.clearRanges(),kbOpts:{kbExpr:o.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function wr(p,u,m,v){let k=p.ordered(u);return Zv(k.map((x)=>async()=>{try{return await x.provideLinkedEditingRanges(u,m,v)}catch(y){dt(y);return}}),(x)=>!!x&&Ln(x?.ranges))}s("editor.linkedEditingBackground",{dark:f.fromHex("#f00").transparent(0.3),light:f.fromHex("#f00").transparent(0.3),hcDark:f.fromHex("#f00").transparent(0.3),hcLight:f.white},e(1341,"Background color when the editor auto renames on type."));po("_executeLinkedEditingProvider",(p,u,m)=>{let{linkedEditingRangeProvider:v}=p.get(j);return wr(v,u,m,he.None)});le(Ge.ID,Ge,1);I(vr);class Vt extends n{static{this.ID="editor.contrib.longLinesHelper"}constructor(p){super();this._editor=p,this._register(this._editor.onMouseDown((u)=>{let m=this._editor.getOption(133);if(m>=0&&u.target.type===6&&u.target.position.column>=m)this._editor.updateOptions({stopRenderingLineAfter:-1})}))}}le(Vt.ID,Vt,2);class jo extends n{static{this.ID="editor.contrib.middleScroll"}constructor(p){super();this._editor=p;let u=Xe(this._editor),m=u.getOption(172);this._register(H((v)=>{if(!m.read(v))return;let k=u.domNode.read(v);if(!k)return;let x=v.store.add(u0("scrollingSession",void 0));v.store.add(this._editor.onMouseDown((S)=>{if(x.read(void 0)){x.set(void 0,void 0);return}if(!S.event.middleButton)return;S.event.stopPropagation(),S.event.preventDefault();let T=new c,R=new Xn(S.event.posx,S.event.posy),P=jn(F(k),R,T).map((Q)=>Q.subtract(R).withThreshold(5)),N=k.getBoundingClientRect(),B=new Xn(R.x-N.left,R.y-N.top);x.set({mouseDeltaAfterThreshold:P,initialMousePosInEditor:B,didScroll:!1,dispose:()=>T.dispose()},void 0),T.add(this._editor.onMouseUp((Q)=>{let K=x.read(void 0);if(K&&K.didScroll)x.set(void 0,void 0)})),T.add(this._editor.onKeyDown((Q)=>{x.set(void 0,void 0)}))})),v.store.add(H((S)=>{let D=x.read(S);if(!D)return;let T=Date.now();S.store.add(H((q)=>{Jm.instance.invalidateOnNextAnimationFrame(q);let P=Date.now(),N=P-T;T=P;let B=D.mouseDeltaAfterThreshold.read(void 0),Q=N/32,K=B.scale(Q),te=new Xn(this._editor.getScrollLeft(),this._editor.getScrollTop());if(this._editor.setScrollPosition(Hn(te.add(K))),!K.isZero())D.didScroll=!0}));let R=d((q)=>{let P=D.mouseDeltaAfterThreshold.read(q),N="";return N+=P.y<0?"n":P.y>0?"s":"",N+=P.x<0?"w":P.x>0?"e":"",N});S.store.add(H((q)=>{k.setAttribute("data-scroll-direction",R.read(q))}))}));let y=v.store.add(se.div({class:["scroll-editor-on-middle-click-dot",x.map((S)=>S?"":"hidden")],style:{left:x.map((S)=>S?S.initialMousePosInEditor.x:0),top:x.map((S)=>S?S.initialMousePosInEditor.y:0)}}).toDisposableLiveElement());v.store.add(pu(k,y.element)),v.store.add(H((S)=>{let D=x.read(S);k.classList.toggle("scroll-editor-on-middle-click-editor",!!D)}))}))}}function jn(p,u,m){let v=M("pos",u);return m.add(l(p,"mousemove",(k)=>{v.set(new Xn(k.pageX,k.pageY),void 0)})),v}function Hn(p){return{scrollLeft:p.x,scrollTop:p.y}}le(jo.ID,jo,2);class Fo extends n{static{this.ID="editor.contrib.placeholderText"}constructor(p){super();this._editor=p,this._editorObs=Xe(this._editor),this._placeholderText=this._editorObs.getOption(100),this._state=fn({owner:this,equalsFn:og},(u)=>{let m=this._placeholderText.read(u);if(!m)return;if(!this._editorObs.valueIsEmpty.read(u))return;return{placeholder:m}}),this._shouldViewBeAlive=Bn(this,(u)=>this._state.read(u)?.placeholder!==void 0),this._view=d((u)=>{if(!this._shouldViewBeAlive.read(u))return;let m=_e("div.editorPlaceholder");u.store.add(H((v)=>{let k=this._state.read(v),x=k?.placeholder!==void 0;m.root.style.display=x?"block":"none",m.root.innerText=k?.placeholder??""})),u.store.add(H((v)=>{let k=this._editorObs.layoutInfo.read(v);m.root.style.left=`${k.contentLeft}px`,m.root.style.width=k.contentWidth-k.verticalScrollbarWidth+"px",m.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),u.store.add(H((v)=>{m.root.style.fontFamily=this._editorObs.getOption(58).read(v),m.root.style.fontSize=this._editorObs.getOption(61).read(v)+"px",m.root.style.lineHeight=this._editorObs.getOption(75).read(v)+"px"})),u.store.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:ke(0),position:ke(null),domNode:m.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}}function Bn(p,u){return Ho(p,(m,v)=>{if(v===!0)return!0;return u(m)})}var Wn=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},Vn=function(p,u){return function(m,v){u(m,v,p)}};class kr{constructor(p){this.instantiationService=p}init(...p){}}function _r(p){return p()}var xr=class p extends kr{constructor(u,m){super(m);this.init(u)}};xr=Wn([Vn(1,L)],xr);le(Fo.ID,_r(()=>Fo),0);s("editor.placeholder.foreground",wR,e(1400,"Foreground color of the placeholder text in the editor."));var Un=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},Cr=function(p,u){return function(m,v){u(m,v,p)}},Wo=class p extends n{static{this.ID="editor.sectionHeaderDetector"}constructor(u,m,v){super();this.editor=u,this.languageConfigurationService=m,this.editorWorkerService=v,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(u.getOption(81)),this.computePromise=null,this.currentOccurrences={},this._register(u.onDidChangeModel((k)=>{this.currentOccurrences={},this.options=this.createOptions(u.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(u.onDidChangeModelLanguage((k)=>{this.currentOccurrences={},this.options=this.createOptions(u.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(m.onDidChange((k)=>{let x=this.editor.getModel()?.getLanguageId();if(x&&k.affects(x))this.currentOccurrences={},this.options=this.createOptions(u.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(u.onDidChangeConfiguration((k)=>{if(this.options&&!k.hasChanged(81))return;this.options=this.createOptions(u.getOption(81)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(this.editor.onDidChangeModelContent((k)=>{this.computeSectionHeaders.schedule()})),this._register(u.onDidChangeModelTokens((k)=>{if(!this.computeSectionHeaders.isScheduled())this.computeSectionHeaders.schedule(1000)})),this.computeSectionHeaders=this._register(new be(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(u){if(!u||!this.editor.hasModel())return;let m=this.editor.getModel().getLanguageId();if(!m)return;let v=this.languageConfigurationService.getLanguageConfiguration(m).comments,k=this.languageConfigurationService.getLanguageConfiguration(m).foldingRules;if(!v&&!k?.markers)return;return{foldingRules:k,markSectionHeaderRegex:u.markSectionHeaderRegex,findMarkSectionHeaders:u.showMarkSectionHeaders,findRegionSectionHeaders:u.showRegionSectionHeaders}}findSectionHeaders(){if(!this.editor.hasModel()||!this.options?.findMarkSectionHeaders&&!this.options?.findRegionSectionHeaders)return;let u=this.editor.getModel();if(u.isDisposed()||u.isTooLargeForSyncing())return;let m=u.getVersionId();this.editorWorkerService.findSectionHeaders(u.uri,this.options).then((v)=>{if(u.isDisposed()||u.getVersionId()!==m)return;this.updateDecorations(v)})}updateDecorations(u){let m=this.editor.getModel();if(m)u=u.filter((x)=>{if(!x.shouldBeInComments)return!0;let y=m.validateRange(x.range),S=m.tokenization.getLineTokens(y.startLineNumber),D=S.findTokenIndexAtOffset(y.startColumn-1),T=S.getStandardTokenType(D),R=m.getLanguageIdAtPosition(y.startLineNumber,y.startColumn);return S.getLanguageId(D)===R&&T===1});let v=Object.values(this.currentOccurrences).map((x)=>x.decorationId),k=u.map((x)=>Qn(x));this.editor.changeDecorations((x)=>{let y=x.deltaDecorations(v,k);this.currentOccurrences={};for(let S=0,D=y.length;S<D;S++){let T={sectionHeader:u[S],decorationId:y[S]};this.currentOccurrences[T.decorationId]=T}})}stop(){if(this.computeSectionHeaders.cancel(),this.computePromise)this.computePromise.cancel(),this.computePromise=null}dispose(){super.dispose(),this.stop(),this.decorations.clear()}};Wo=Un([Cr(1,et),Cr(2,fi)],Wo);function Qn(p){return{range:p.range,options:oe.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:p.hasSeparatorLine?2:1,sectionHeaderText:p.text}})}}le(Wo.ID,Wo,1);function Zn(p){for(let u=0,m=p.length;u<m;u+=4){let v=p[u+0],k=p[u+1],x=p[u+2],y=p[u+3];p[u+0]=y,p[u+1]=x,p[u+2]=k,p[u+3]=v}}function $n(p){let u=new Uint8Array(p.buffer,p.byteOffset,p.length*4);if(!r0())Zn(u);return ll.wrap(u)}function Gt(p){let u=new Uint32Array(Jn(p)),m=0;if(u[m++]=p.id,p.type==="full")u[m++]=1,u[m++]=p.data.length,u.set(p.data,m),m+=p.data.length;else{u[m++]=2,u[m++]=p.deltas.length;for(let v of p.deltas)if(u[m++]=v.start,u[m++]=v.deleteCount,v.data)u[m++]=v.data.length,u.set(v.data,m),m+=v.data.length;else u[m++]=0}return $n(u)}function Jn(p){let u=0;if(u+=2,p.type==="full")u+=1+p.data.length;else{u+=1,u+=3*p.deltas.length;for(let m of p.deltas)if(m.data)u+=m.data.length}return u}function bo(p){return p&&!!p.data}function Yt(p){return p&&Array.isArray(p.edits)}class Ir{constructor(p,u,m){this.provider=p,this.tokens=u,this.error=m}}function Zt(p,u){return p.has(u)}function os(p,u){let m=p.orderedGroups(u);return m.length>0?m[0]:[]}async function Xt(p,u,m,v,k){let x=os(p,u),y=await Promise.all(x.map(async(S)=>{let D,T=null;try{D=await S.provideDocumentSemanticTokens(u,S===m?v:null,k)}catch(R){T=R,D=null}if(!D||!bo(D)&&!Yt(D))D=null;return new Ir(S,D,T)}));for(let S of y){if(S.error)throw S.error;if(S.tokens)return S}if(y.length>0)return y[0];return null}function ts(p,u){let m=p.orderedGroups(u);return m.length>0?m[0]:null}class Mr{constructor(p,u){this.provider=p,this.tokens=u}}function Dr(p,u){return p.has(u)}function Lr(p,u){let m=p.orderedGroups(u);return m.length>0?m[0]:[]}async function Uo(p,u,m,v){let k=Lr(p,u),x=await Promise.all(k.map(async(y)=>{let S;try{S=await y.provideDocumentRangeSemanticTokens(u,m,v)}catch(D){dt(D),S=null}if(!S||!bo(S))S=null;return new Mr(y,S)}));for(let y of x)if(y.tokens)return y;if(x.length>0)return x[0];return null}we.registerCommand("_provideDocumentSemanticTokensLegend",async(p,...u)=>{let[m]=u;Ie(m instanceof W);let v=p.get(gt).getModel(m);if(!v)return;let{documentSemanticTokensProvider:k}=p.get(j),x=ts(k,v);if(!x)return p.get(Ne).executeCommand("_provideDocumentRangeSemanticTokensLegend",m);return x[0].getLegend()});we.registerCommand("_provideDocumentSemanticTokens",async(p,...u)=>{let[m]=u;Ie(m instanceof W);let v=p.get(gt).getModel(m);if(!v)return;let{documentSemanticTokensProvider:k}=p.get(j);if(!Zt(k,v))return p.get(Ne).executeCommand("_provideDocumentRangeSemanticTokens",m,v.getFullModelRange());let x=await Xt(k,v,null,null,he.None);if(!x)return;let{provider:y,tokens:S}=x;if(!S||!bo(S))return;let D=Gt({id:0,type:"full",data:S.data});if(S.resultId)y.releaseDocumentSemanticTokens(S.resultId);return D});we.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(p,...u)=>{let[m,v]=u;Ie(m instanceof W);let k=p.get(gt).getModel(m);if(!k)return;let{documentRangeSemanticTokensProvider:x}=p.get(j),y=Lr(x,k);if(y.length===0)return;if(y.length===1)return y[0].getLegend();if(!v||!t.isIRange(v))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),y[0].getLegend();let S=await Uo(x,k,t.lift(v),he.None);if(!S)return;return S.provider.getLegend()});we.registerCommand("_provideDocumentRangeSemanticTokens",async(p,...u)=>{let[m,v]=u;Ie(m instanceof W),Ie(t.isIRange(v));let k=p.get(gt).getModel(m);if(!k)return;let{documentRangeSemanticTokensProvider:x}=p.get(j),y=await Uo(x,k,t.lift(v),he.None);if(!y||!y.tokens)return;return Gt({id:0,type:"full",data:y.tokens.data})});var Qo="editor.semanticHighlighting";function Ke(p,u,m){let v=m.getValue("editor.semanticHighlighting",{overrideIdentifier:p.getLanguageId(),resource:p.uri})?.enabled;if(typeof v==="boolean")return v;return u.getColorTheme().semanticHighlighting}var Tr=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},ge=function(p,u){return function(m,v){u(m,v,p)}},Ae,ei=class p extends n{constructor(u,m,v,k,x,y){super();this._watchers=new Ht,this._providerChangeListeners=this._register(new c);let S=y.documentSemanticTokensProvider,D=(P)=>{this._watchers.get(P.uri)?.dispose(),this._watchers.set(P.uri,new oi(P,u,v,x,y))},T=(P,N)=>{N.dispose(),this._watchers.delete(P.uri)},R=()=>{for(let P of m.getModels()){let N=this._watchers.get(P.uri);if(Ke(P,v,k)){if(!N)D(P)}else if(N)T(P,N)}},q=()=>{this._providerChangeListeners.clear();for(let P of S.allNoModel())if(typeof P.onDidChange==="function")this._providerChangeListeners.add(P.onDidChange(()=>{for(let N of this._watchers.values())N.handleProviderDidChange(P)}))};m.getModels().forEach((P)=>{if(Ke(P,v,k))D(P)}),this._register(m.onModelAdded((P)=>{if(Ke(P,v,k))D(P)})),this._register(m.onModelRemoved((P)=>{let N=this._watchers.get(P.uri);if(N)T(P,N)})),this._register(k.onDidChangeConfiguration((P)=>{if(P.affectsConfiguration(Qo))R()})),this._register(v.onDidColorThemeChange(R)),q(),this._register(S.onDidChange(()=>{q();for(let P of this._watchers.values())P.handleRegistryChange()}))}dispose(){$e(this._watchers.values()),this._watchers.clear(),super.dispose()}};ei=Tr([ge(0,mf),ge(1,gt),ge(2,De),ge(3,X),ge(4,Hi),ge(5,j)],ei);var oi=class p extends n{static{Ae=this}static{this.REQUEST_MIN_DELAY=300}static{this.REQUEST_MAX_DELAY=2000}constructor(u,m,v,k,x){super();this._semanticTokensStylingService=m,this._relevantProviders=new Set,this._isDisposed=!1,this._model=u,this._provider=x.documentSemanticTokensProvider,this._debounceInformation=k.for(this._provider,"DocumentSemanticTokens",{min:Ae.REQUEST_MIN_DELAY,max:Ae.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new be(()=>this._fetchDocumentSemanticTokensNow(),Ae.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._providersChangedDuringRequest=!1,this._updateRelevantProviders(),this._register(this._model.onDidChangeContent(()=>{if(!this._fetchDocumentSemanticTokens.isScheduled())this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{if(!this._fetchDocumentSemanticTokens.isScheduled())this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{if(this._currentDocumentResponse)this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null;if(this._currentDocumentRequestCancellationTokenSource)this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null;this._setDocumentSemanticTokens(null,null,null,[]),this._updateRelevantProviders(),this._fetchDocumentSemanticTokens.schedule(0)})),this._register(v.onDidColorThemeChange((y)=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}handleRegistryChange(){this._updateRelevantProviders(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}handleProviderDidChange(u){if(!this._relevantProviders.has(u))return;if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}_updateRelevantProviders(){this._relevantProviders=new Set(this._provider.all(this._model))}dispose(){if(this._currentDocumentResponse)this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null;if(this._currentDocumentRequestCancellationTokenSource)this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null;this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!Zt(this._provider,this._model)){if(this._currentDocumentResponse)this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;let u=new Me,m=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,v=this._currentDocumentResponse?this._currentDocumentResponse.resultId||null:null,k=Xt(this._provider,this._model,m,v,u.token);this._currentDocumentRequestCancellationTokenSource=u,this._providersChangedDuringRequest=!1;let x=[],y=this._model.onDidChangeContent((D)=>{x.push(D)}),S=new Kt(!1);k.then((D)=>{if(this._debounceInformation.update(this._model,S.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,y.dispose(),!D)this._setDocumentSemanticTokens(null,null,null,x);else{let{provider:T,tokens:R}=D,q=this._semanticTokensStylingService.getStyling(T);this._setDocumentSemanticTokens(T,R||null,q,x)}},(D)=>{if(!(D&&(Gn(D)||typeof D.message==="string"&&D.message.indexOf("busy")!==-1)))J(D);if(this._currentDocumentRequestCancellationTokenSource=null,y.dispose(),x.length>0||this._providersChangedDuringRequest){if(!this._fetchDocumentSemanticTokens.isScheduled())this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}})}static _copy(u,m,v,k,x){x=Math.min(x,v.length-k,u.length-m);for(let y=0;y<x;y++)v[k+y]=u[m+y]}_setDocumentSemanticTokens(u,m,v,k){let x=this._currentDocumentResponse,y=()=>{if((k.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled())this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse)this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null;if(this._isDisposed){if(u&&m)u.releaseDocumentSemanticTokens(m.resultId);return}if(!u||!v){this._model.tokenization.setSemanticTokens(null,!1);return}if(!m){this._model.tokenization.setSemanticTokens(null,!0),y();return}if(Yt(m)){let S=m.resultId,D=(T)=>{if(u.releaseDocumentSemanticTokens(S),this._model.tokenization.setSemanticTokens(null,!0),T)this._fetchDocumentSemanticTokens.schedule(0)};if(!x){D(!1);return}if(m.edits.length===0)m={resultId:m.resultId,data:x.data};else{let T=0;for(let Q of m.edits)T+=(Q.data?Q.data.length:0)-Q.deleteCount;let R=x.data,q=R.length+T;if(q<0){v.warnInvalidEditDeleteCount(x.resultId,S,R.length,T),D(!0);return}let P=new Uint32Array(q),N=R.length,B=P.length;for(let Q=m.edits.length-1;Q>=0;Q--){let K=m.edits[Q];if(K.start>R.length){v.warnInvalidEditStart(x.resultId,S,Q,K.start,R.length),D(!0);return}let te=N-(K.start+K.deleteCount);if(te>0)Ae._copy(R,N-te,P,B-te,te),B-=te;if(K.data)Ae._copy(K.data,0,P,B-K.data.length,K.data.length),B-=K.data.length;N=K.start}if(N>0)Ae._copy(R,0,P,0,N);m={resultId:m.resultId,data:P}}}if(bo(m)){this._currentDocumentResponse=new Er(u,m.resultId,m.data);let S=H0(m,v,this._model.getLanguageId());if(k.length>0)for(let D of k)for(let T of S)for(let R of D.changes)T.applyEdit(R.range,R.text);this._model.tokenization.setSemanticTokens(S,!0)}else this._model.tokenization.setSemanticTokens(null,!0);y()}};oi=Ae=Tr([ge(1,mf),ge(2,De),ge(3,Hi),ge(4,j)],oi);class Er{constructor(p,u,m){this.provider=p,this.resultId=u,this.data=m}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Oa(ei);var is=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},vo=function(p,u){return function(m,v){u(m,v,p)}},Go=class p extends n{static{this.ID="editor.contrib.viewportSemanticTokens"}constructor(u,m,v,k,x,y){super();this._semanticTokensStylingService=m,this._themeService=v,this._configurationService=k,this._editor=u,this._provider=y.documentRangeSemanticTokensProvider,this._debounceInformation=x.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new be(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[],this._rangeProvidersChangeListeners=[];let S=()=>{if(this._editor.hasModel())this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))},D=()=>{if(this._cleanupProviderListeners(),this._editor.hasModel()){let T=this._editor.getModel();for(let R of this._provider.all(T)){let q=R.onDidChange?.(()=>{this._cancelAll(),S()});if(q)this._rangeProvidersChangeListeners.push(q)}}};this._register(this._editor.onDidScrollChange(()=>{S()})),this._register(this._editor.onDidChangeModel(()=>{D(),this._cancelAll(),S()})),this._register(this._editor.onDidChangeModelLanguage(()=>{D(),this._cancelAll(),S()})),this._register(this._editor.onDidChangeModelContent((T)=>{this._cancelAll(),S()})),D(),this._register(this._provider.onDidChange(()=>{D(),this._cancelAll(),S()})),this._register(this._configurationService.onDidChangeConfiguration((T)=>{if(T.affectsConfiguration(Qo))this._cancelAll(),S()})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),S()})),S()}dispose(){this._cleanupProviderListeners(),super.dispose()}_cleanupProviderListeners(){$e(this._rangeProvidersChangeListeners),this._rangeProvidersChangeListeners=[]}_cancelAll(){for(let u of this._outstandingRequests)u.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(u){for(let m=0,v=this._outstandingRequests.length;m<v;m++)if(this._outstandingRequests[m]===u){this._outstandingRequests.splice(m,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;let u=this._editor.getModel();if(u.tokenization.hasCompleteSemanticTokens())return;if(!Ke(u,this._themeService,this._configurationService)){if(u.tokenization.hasSomeSemanticTokens())u.tokenization.setSemanticTokens(null,!1);return}if(!Dr(this._provider,u)){if(u.tokenization.hasSomeSemanticTokens())u.tokenization.setSemanticTokens(null,!1);return}let m=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(m.map((v)=>this._requestRange(u,v)))}_requestRange(u,m){let v=u.getVersionId(),k=Pt((y)=>Promise.resolve(Uo(this._provider,u,m,y))),x=new Kt(!1);return k.then((y)=>{if(this._debounceInformation.update(u,x.elapsed()),!y||!y.tokens||u.isDisposed()||u.getVersionId()!==v)return;let{provider:S,tokens:D}=y,T=this._semanticTokensStylingService.getStyling(S);u.tokenization.setPartialSemanticTokens(m,H0(D,T,u.getLanguageId()))}).then(()=>this._removeOutstandingRequest(k),()=>this._removeOutstandingRequest(k)),k}};Go=is([vo(1,mf),vo(2,De),vo(3,X),vo(4,Hi),vo(5,j)],Go);le(Go.ID,Go,1);var wo=Object.freeze({View:h(1718,"View"),Help:h(1719,"Help"),Test:h(1720,"Test"),File:h(1721,"File"),Preferences:h(1722,"Preferences"),Developer:h(1723,"Developer")});class ti extends Bo{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...h(1518,"Toggle Editor Sticky Scroll"),mnemonicTitle:e(1514,"&&Toggle Editor Sticky Scroll")},metadata:{description:h(1519,"Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:wo.View,toggled:{condition:_.equals("config.editor.stickyScroll.enabled",!0),title:e(1515,"Sticky Scroll"),mnemonicTitle:e(1516,"&&Sticky Scroll")},menu:[{id:a.CommandPalette},{id:a.MenubarAppearanceMenu,group:"4_editor",order:3},{id:a.StickyScrollContext}]})}async runEditorCommand(p,u){let m=p.get(X),v=!m.getValue("editor.stickyScroll.enabled"),k=Yr.get(u)?.isFocused();if(m.updateValue("editor.stickyScroll.enabled",v),k)u.focus()}}var Ko=100;class ri extends Bo{constructor(){super({id:"editor.action.focusStickyScroll",title:{...h(1520,"Focus Editor Sticky Scroll"),mnemonicTitle:e(1517,"&&Focus Editor Sticky Scroll")},precondition:_.and(_.has("config.editor.stickyScroll.enabled"),o.stickyScrollVisible),menu:[{id:a.CommandPalette}]})}runEditorCommand(p,u){Yr.get(u)?.focus()}}class ni extends Bo{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:h(1521,"Select the next editor sticky scroll line"),precondition:o.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ko,primary:18}})}runEditorCommand(p,u){Yr.get(u)?.focusNext()}}class ai extends Bo{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:h(1522,"Select the previous sticky scroll line"),precondition:o.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ko,primary:16}})}runEditorCommand(p,u){Yr.get(u)?.focusPrevious()}}class ci extends Bo{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:h(1523,"Go to the focused sticky scroll line"),precondition:o.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ko,primary:3}})}runEditorCommand(p,u){Yr.get(u)?.goToFocused()}}class di extends Bo{constructor(){super({id:"editor.action.selectEditor",title:h(1524,"Select Editor"),precondition:o.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ko,primary:9}})}runEditorCommand(p,u){Yr.get(u)?.selectEditor()}}le(Yr.ID,Yr,1);Ze(ti);Ze(ri);Ze(ai);Ze(ni);Ze(ci);Ze(di);var rs=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},Ar=function(p,u){return function(m,v){u(m,v,p)}},Rr="ignoreUnusualLineTerminators";function ss(p,u,m){p.setModelProperty(u.uri,Rr,m)}function as(p,u){return p.getModelProperty(u.uri,Rr)}var Yo=class p extends n{static{this.ID="editor.contrib.unusualLineTerminatorsDetector"}constructor(u,m,v){super();this._editor=u,this._dialogService=m,this._codeEditorService=v,this._isPresentingDialog=!1,this._config=this._editor.getOption(143),this._register(this._editor.onDidChangeConfiguration((k)=>{if(k.hasChanged(143))this._config=this._editor.getOption(143),this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent((k)=>{if(k.isUndoing)return;this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off")return;if(!this._editor.hasModel())return;let u=this._editor.getModel();if(!u.mightContainUnusualLineTerminators())return;if(as(this._codeEditorService,u)===!0)return;if(this._editor.getOption(104))return;if(this._config==="auto"){u.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let v;try{this._isPresentingDialog=!0,v=await this._dialogService.confirm({title:e(1632,"Unusual Line Terminators"),message:e(1633,"Detected unusual line terminators"),detail:e(1634,"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`.",pi(u.uri)),primaryButton:e(1635,"&&Remove Unusual Line Terminators"),cancelButton:e(1636,"Ignore")})}finally{this._isPresentingDialog=!1}if(!v.confirmed){ss(this._codeEditorService,u,!0);return}u.removeUnusualLineTerminators(this._editor.getSelections())}};Yo=rs([Ar(1,Gc),Ar(2,ye)],Yo);le(Yo.ID,Yo,1);var cs=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},ds=function(p,u){return function(m,v){u(m,v,p)}};class li{constructor(){this.selector={language:"*"}}provideDocumentHighlights(p,u,m){if(p.isDisposed())return;let v=[],k=p.getWordAtPosition({lineNumber:u.lineNumber,column:u.column});if(!k)return Promise.resolve(v);return p.findMatches(k.word,!0,!1,!0,Qm,!1).map((y)=>({range:y.range,kind:Zd.Text}))}provideMultiDocumentHighlights(p,u,m,v){if(p.isDisposed())return;let k=new Ht,x=p.getWordAtPosition({lineNumber:u.lineNumber,column:u.column});if(!x)return Promise.resolve(k);for(let y of[p,...m]){if(y.isDisposed())continue;let D=y.findMatches(x.word,!0,!1,!0,Qm,!1).map((T)=>({range:T.range,kind:Zd.Text}));if(D)k.set(y.uri,D)}return k}}var Zo=class p extends n{constructor(u){super();this._register(u.documentHighlightProvider.register("*",new li)),this._register(u.multiDocumentHighlightProvider.register("*",new li))}};Zo=cs([ds(0,j)],Zo);var zr=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},ve=function(p,u){return function(m,v){u(m,v,p)}},re,ui,gi=new A("hasWordHighlights",!1);function Or(p,u,m,v){let k=p.ordered(u);return Zv(k.map((x)=>()=>Promise.resolve(x.provideDocumentHighlights(u,m,v)).then(void 0,dt)),(x)=>x!==void 0&&x!==null).then((x)=>{if(x){let y=new Ht;return y.set(u.uri,x),y}return new Ht})}function ls(p,u,m,v,k){let x=p.ordered(u);return Zv(x.map((y)=>()=>{let S=k.filter((D)=>g0(D)).filter((D)=>ff(y.selector,D.uri,D.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(y.provideMultiDocumentHighlights(u,m,S,v)).then(void 0,dt)}),(y)=>y!==void 0&&y!==null)}class bi{constructor(p,u,m){this._model=p,this._selection=u,this._wordSeparators=m,this._wordRange=this._getCurrentWordRange(p,u),this._result=null}get result(){if(!this._result)this._result=Pt((p)=>this._compute(this._model,this._selection,this._wordSeparators,p));return this._result}_getCurrentWordRange(p,u){let m=p.getWordAtPosition(u.getPosition());if(m)return new t(u.startLineNumber,m.startColumn,u.startLineNumber,m.endColumn);return null}cancel(){this.result.cancel()}}class qr extends bi{constructor(p,u,m,v){super(p,u,m);this._providers=v}_compute(p,u,m,v){return Or(this._providers,p,u.getPosition(),v).then((k)=>{if(!k)return new Ht;return k})}}class Nr extends bi{constructor(p,u,m,v,k){super(p,u,m);this._providers=v,this._otherModels=k}_compute(p,u,m,v){return ls(this._providers,p,u.getPosition(),v,this._otherModels).then((k)=>{if(!k)return new Ht;return k})}}function us(p,u,m,v){return new qr(u,m,v,p)}function ms(p,u,m,v,k){return new Nr(u,m,v,p,k)}po("_executeDocumentHighlights",async(p,u,m)=>{let v=p.get(j);return(await Or(v.documentHighlightProvider,u,m,he.None))?.get(u.uri)});var mi=class p{static{re=this}static{this.storedDecorationIDs=new Ht}static{this.query=null}constructor(u,m,v,k,x,y,S,D){if(this.toUnhook=new c,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Ht,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,this.runDelayer=this.toUnhook.add(new Ci(50)),this.editor=u,this.providers=m,this.multiDocumentProviders=v,this.codeEditorService=y,this.textModelService=x,this.configurationService=S,this.logService=D,this._hasWordHighlights=gi.bindTo(k),this._ignorePositionChangeEvent=!1,this.occurrencesHighlightEnablement=this.editor.getOption(90),this.occurrencesHighlightDelay=this.configurationService.getValue("editor.occurrencesHighlightDelay"),this.model=this.editor.getModel(),this.toUnhook.add(u.onDidChangeCursorPosition((T)=>{if(this._ignorePositionChangeEvent)return;if(this.occurrencesHighlightEnablement==="off")return;this.runDelayer.trigger(()=>{this._onPositionChanged(T)}).catch(J)})),this.toUnhook.add(u.onDidFocusEditorText((T)=>{if(this.occurrencesHighlightEnablement==="off")return;if(!this.workerRequest)this.runDelayer.trigger(()=>{this._run()}).catch(J)})),this.toUnhook.add(u.onDidChangeModelContent((T)=>{if(!Vp(this.model.uri,"output"))this._stopAll()})),this.toUnhook.add(u.onDidChangeModel((T)=>{if(!T.newModelUrl&&T.oldModelUrl)this._stopSingular();else if(re.query)this._run()})),this.toUnhook.add(u.onDidChangeConfiguration((T)=>{let R=this.editor.getOption(90);if(this.occurrencesHighlightEnablement!==R)switch(this.occurrencesHighlightEnablement=R,R){case"off":this._stopAll();break;case"singleFile":this._stopAll(re.query?.modelInfo?.modelURI);break;case"multiFile":if(re.query)this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",R);break}})),this.toUnhook.add(this.configurationService.onDidChangeConfiguration((T)=>{if(T.affectsConfiguration("editor.occurrencesHighlightDelay")){let R=S.getValue("editor.occurrencesHighlightDelay");if(this.occurrencesHighlightDelay!==R)this.occurrencesHighlightDelay=R}})),this.toUnhook.add(u.onDidBlurEditorWidget(()=>{let T=this.codeEditorService.getFocusedCodeEditor();if(!T)this._stopAll();else if(T.getModel()?.uri.scheme===ee.vscodeNotebookCell&&this.editor.getModel()?.uri.scheme!==ee.vscodeNotebookCell)this._stopAll()})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,re.query)this._run()}hasDecorations(){return this.decorations.length>0}restore(u){if(this.occurrencesHighlightEnablement==="off")return;this.runDelayer.cancel(),this.runDelayer.trigger(()=>{this._run(!1,u)}).catch(J)}stop(){if(this.occurrencesHighlightEnablement==="off")return;this._stopAll()}_getSortedHighlights(){return this.decorations.getRanges().sort(t.compareRangesUsingStarts)}moveNext(){let u=this._getSortedHighlights(),v=(u.findIndex((x)=>x.containsPosition(this.editor.getPosition()))+1)%u.length,k=u[v];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(k.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(k);let x=this._getWord();if(x){let y=this.editor.getModel().getLineContent(k.startLineNumber);En(`${y}, ${v+1} of ${u.length} for '${x.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){let u=this._getSortedHighlights(),v=(u.findIndex((x)=>x.containsPosition(this.editor.getPosition()))-1+u.length)%u.length,k=u[v];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(k.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(k);let x=this._getWord();if(x){let y=this.editor.getModel().getLineContent(k.startLineNumber);En(`${y}, ${v+1} of ${u.length} for '${x.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;let u=re.storedDecorationIDs.get(this.editor.getModel().uri);if(!u)return;if(this.editor.removeDecorations(u),re.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0)this.decorations.clear(),this._hasWordHighlights.set(!1)}_removeAllDecorations(u){let m=this.codeEditorService.listCodeEditors(),v=[];for(let k of m){if(!k.hasModel()||Pr(k.getModel().uri,u))continue;let x=re.storedDecorationIDs.get(k.getModel().uri);if(!x)continue;k.removeDecorations(x),v.push(k.getModel().uri);let y=Re.get(k);if(!y?.wordHighlighter)continue;if(y.wordHighlighter.decorations.length>0)y.wordHighlighter.decorations.clear(),y.wordHighlighter.workerRequest=null,y.wordHighlighter._hasWordHighlights.set(!1)}for(let k of v)re.storedDecorationIDs.delete(k)}_stopSingular(){if(this._removeSingleDecorations(),this.editor.hasTextFocus()){if(this.editor.getModel()?.uri.scheme!==ee.vscodeNotebookCell&&re.query?.modelInfo?.modelURI.scheme!==ee.vscodeNotebookCell)re.query=null,this._run();else if(re.query?.modelInfo)re.query.modelInfo=null}if(this.renderDecorationsTimer!==void 0)clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0;if(this.workerRequest!==null)this.workerRequest.cancel(),this.workerRequest=null;if(!this.workerRequestCompleted)this.workerRequestTokenId++,this.workerRequestCompleted=!0}_stopAll(u){if(this._removeAllDecorations(u),this.renderDecorationsTimer!==void 0)clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0;if(this.workerRequest!==null)this.workerRequest.cancel(),this.workerRequest=null;if(!this.workerRequestCompleted)this.workerRequestTokenId++,this.workerRequestCompleted=!0}_onPositionChanged(u){if(this.occurrencesHighlightEnablement==="off"){this._stopAll();return}if(u.source!=="api"&&u.reason!==3){this._stopAll();return}this._run()}_getWord(){let u=this.editor.getSelection(),{startLineNumber:m,startColumn:v}=u;if(this.model.isDisposed())return null;return this.model.getWordAtPosition({lineNumber:m,column:v})}getOtherModelsToHighlight(u){if(!u)return[];if(u.uri.scheme===ee.vscodeNotebookCell){let x=[],y=this.codeEditorService.listCodeEditors();for(let S of y){let D=S.getModel();if(D&&D!==u&&D.uri.scheme===ee.vscodeNotebookCell)x.push(D)}return x}let v=[],k=this.codeEditorService.listCodeEditors();for(let x of k){if(!Ag(x))continue;let y=x.getModel();if(!y)continue;if(u===y.modified)v.push(y.modified)}if(v.length)return v;if(this.occurrencesHighlightEnablement==="singleFile")return[];for(let x of k){let y=x.getModel();if(y&&y!==u)v.push(y)}return v}async _run(u,m){if(!this.editor.hasTextFocus()){if(!re.query){this._stopAll();return}}else{let k=this.editor.getSelection();if(!k||k.startLineNumber!==k.endLineNumber){re.query=null,this._stopAll();return}let{startColumn:x,endColumn:y}=k,S=this._getWord();if(!S||S.startColumn>x||S.endColumn<y){re.query=null,this._stopAll();return}re.query={modelInfo:{modelURI:this.model.uri,selection:k}}}if(this.lastCursorPositionChangeTime=new Date().getTime(),Pr(this.editor.getModel().uri,re.query.modelInfo?.modelURI)){if(!u){let S=this.decorations.getRanges();for(let D of S)if(D.containsPosition(this.editor.getPosition()))return}this._stopAll(u?this.model.uri:void 0);let k=++this.workerRequestTokenId;this.workerRequestCompleted=!1;let x=this.getOtherModelsToHighlight(this.editor.getModel());if(!re.query||!re.query.modelInfo)return;let y=await this.textModelService.createModelReference(re.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(y.object.textEditorModel,re.query.modelInfo.selection,x),this.workerRequest?.result.then((S)=>{if(k===this.workerRequestTokenId)this.workerRequestCompleted=!0,this.workerRequestValue=S||[],this._beginRenderDecorations(m??this.occurrencesHighlightDelay)},J)}catch(S){this.logService.error("Unexpected error during occurrence request. Log: ",S)}finally{y.dispose()}}else if(this.model.uri.scheme===ee.vscodeNotebookCell){let k=++this.workerRequestTokenId;if(this.workerRequestCompleted=!1,!re.query||!re.query.modelInfo)return;let x=await this.textModelService.createModelReference(re.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(x.object.textEditorModel,re.query.modelInfo.selection,[this.model]),this.workerRequest?.result.then((y)=>{if(k===this.workerRequestTokenId)this.workerRequestCompleted=!0,this.workerRequestValue=y||[],this._beginRenderDecorations(m??this.occurrencesHighlightDelay)},J)}catch(y){this.logService.error("Unexpected error during occurrence request. Log: ",y)}finally{x.dispose()}}}computeWithModel(u,m,v){if(!v.length)return us(this.providers,u,m,this.editor.getOption(148));else return ms(this.multiDocumentProviders,u,m,this.editor.getOption(148),v)}_beginRenderDecorations(u){let m=new Date().getTime(),v=this.lastCursorPositionChangeTime+u;if(m>=v)this.renderDecorationsTimer=void 0,this.renderDecorations();else this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},v-m)}renderDecorations(){this.renderDecorationsTimer=void 0;let u=this.codeEditorService.listCodeEditors();for(let m of u){let v=Re.get(m);if(!v)continue;let k=[],x=m.getModel()?.uri;if(x&&this.workerRequestValue.has(x)){let y=re.storedDecorationIDs.get(x),S=this.workerRequestValue.get(x);if(S)for(let T of S){if(!T.range)continue;k.push({range:T.range,options:OI(T.kind)})}let D=[];if(m.changeDecorations((T)=>{D=T.deltaDecorations(y??[],k)}),re.storedDecorationIDs=re.storedDecorationIDs.set(x,D),k.length>0)v.wordHighlighter?.decorations.set(k),v.wordHighlighter?._hasWordHighlights.set(!0)}}this.workerRequest=null}dispose(){this._stopSingular(),this.toUnhook.dispose()}};mi=re=zr([ve(4,mn),ve(5,ye),ve(6,X),ve(7,Be)],mi);var Re=class p extends n{static{ui=this}static{this.ID="editor.contrib.wordHighlighter"}static get(u){return u.getContribution(ui.ID)}constructor(u,m,v,k,x,y,S){super();this._wordHighlighter=null;let D=()=>{if(u.hasModel()&&!u.getModel().isTooLargeForTokenization()&&u.getModel().uri.scheme!==ee.accessibleView)this._wordHighlighter=new mi(u,v.documentHighlightProvider,v.multiDocumentHighlightProvider,m,x,k,y,S)};this._register(u.onDidChangeModel((T)=>{if(this._wordHighlighter){if(!T.newModelUrl&&T.oldModelUrl?.scheme!==ee.vscodeNotebookCell)this.wordHighlighter?.stop();this._wordHighlighter.dispose(),this._wordHighlighter=null}D()})),D()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){if(this._wordHighlighter&&this._wordHighlighter.hasDecorations())return!0;return!1}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(u){if(this._wordHighlighter&&u)this._wordHighlighter.restore(250)}dispose(){if(this._wordHighlighter)this._wordHighlighter.dispose(),this._wordHighlighter=null;super.dispose()}};Re=ui=zr([ve(1,V),ve(2,j),ve(3,ye),ve(4,mn),ve(5,X),ve(6,Be)],Re);class vi extends z{constructor(p,u){super(u);this._isNext=p}run(p,u){let m=Re.get(u);if(!m)return;if(this._isNext)m.moveNext();else m.moveBack()}}class jr extends vi{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:h(1646,"Go to Next Symbol Highlight"),precondition:gi,kbOpts:{kbExpr:o.editorTextFocus,primary:65,weight:100}})}}class Fr extends vi{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:h(1647,"Go to Previous Symbol Highlight"),precondition:gi,kbOpts:{kbExpr:o.editorTextFocus,primary:1089,weight:100}})}}class Hr extends z{constructor(){super({id:"editor.action.wordHighlight.trigger",label:h(1648,"Trigger Symbol Highlight"),precondition:void 0,kbOpts:{kbExpr:o.editorTextFocus,primary:0,weight:100}})}run(p,u){let m=Re.get(u);if(!m)return;m.restoreViewState(!0)}}le(Re.ID,Re,0);I(jr);I(Fr);I(Hr);Oa(Zo);var hs=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},Br=function(p,u){return function(m,v){u(m,v,p)}},wi=class p extends n{constructor(u,m,v){super();this._textModel=u,this._languageFeaturesService=m,this._outlineModelService=v,this._currentModel=M(this,void 0);let k=si("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),x=si("_textModel.onDidChangeContent",C.debounce((y)=>this._textModel.onDidChangeContent(y),()=>{return},100));this._register(Fn(async(y,S)=>{k.read(y),x.read(y);let D=S.add(new iS),T=await this._outlineModelService.getOrCreate(this._textModel,D.token);if(S.isDisposed)return;this._currentModel.set(T,void 0)}))}getBreadcrumbItems(u,m){let v=this._currentModel.read(m);if(!v)return[];let k=v.asListOfDocumentSymbols().filter((x)=>u.contains(x.range.startLineNumber)&&!u.contains(x.range.endLineNumber));return k.sort(Uv(Cn((x)=>x.range.endLineNumber-x.range.startLineNumber,xi))),k.map((x)=>({name:x.name,kind:x.kind,startLineNumber:x.range.startLineNumber}))}getAt(u,m){let v=this._currentModel.read(m);if(!v)return[];let k=v.asListOfDocumentSymbols().filter((x)=>new Y(x.range.startLineNumber,x.range.endLineNumber).contains(u));if(k.length===0)return[];return k.sort(Uv(Cn((x)=>x.range.endLineNumber-x.range.startLineNumber,xi))),k.map((x)=>({name:x.name,kind:x.kind,startLineNumber:x.range.startLineNumber}))}};wi=hs([Br(1,j),Br(2,Gd)],wi);mu.setBreadcrumbsSourceFactory((p,u)=>u.createInstance(wi,p));var Wr=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},Je=function(p,u){return function(m,v){u(m,v,p)}},xo=class p extends n{static{this.ID="editor.contrib.floatingToolbar"}constructor(u,m,v,k){super();let x=this._register(Xe(u)),y=d((D)=>x.model.read(D)?.uri),S=this._register(m.createInstance(ki,a.EditorContent,u.contextKeyService,y));this._register(H((D)=>{if(!S.hasActions.read(D))return;D.store.add(x.createOverlayWidget({allowEditorOverflow:!1,domNode:S.element,minContentWidthInPx:ke(0),position:ke({preference:1})}))}))}};xo=Wr([Je(1,L),Je(2,ce),Je(3,hi)],xo);var ki=class p extends n{constructor(u,m,v,k,x,y){super();let S=this._register(y.createMenu(u,m)),D=Te(this,S.onDidChange,()=>S.getActions()),T=d((R)=>{let q=D.read(R),{primary:P}=bf(q,()=>!0);return P.filter((N)=>N.id!==Qe.ID)});this.hasActions=d((R)=>T.read(R).length>0),this.element=_e("div.floating-menu-overlay-widget").root,this._register(E(()=>this.element.remove())),this._register(H((R)=>{let q=T.read(R),P=q.length>0,N=P?q[0].id:void 0,B=q.length===1;if(this.element.classList.toggle("single-button",B),this.element.style.height=B?"28px":"26px",!P)return;let Q=k.createInstance(jh,this.element,u,{actionViewItemProvider:(K,te)=>{if(!(K instanceof Si))return;return k.createInstance(class extends Na{render(ae){if(super.render(ae),K.id===N)this.element?.classList.add("primary")}updateLabel(){let ae=x.lookupKeybinding(K.id),de=ae?ae.getLabel():void 0;if(this.options.label&&this.label)this.label.textContent=de?`${this._commandAction.label} (${de})`:this._commandAction.label}},K,{...te,keybindingNotRenderedWithLabel:!0})},hiddenItemStrategy:0,menuOptions:{shouldForwardArgs:!0},telemetrySource:"editor.overlayToolbar",toolbarOptions:{primaryGroup:()=>!0,useSeparatorsInPrimaryActions:!0}});R.store.add(Q),R.store.add(H((K)=>{let te=v.read(K);Q.context=te}))}))}};ki=Wr([Je(3,L),Je(4,ce),Je(5,hi)],ki);le(xo.ID,xo,1);class yi extends n{static{this.ID="editor.contrib.iPadShowKeyboard"}constructor(p){super();if(this.editor=p,this.widget=null,ao)this._register(p.onDidChangeConfiguration(()=>this.update())),this.update()}update(){let p=!this.editor.getOption(104);if(!this.widget&&p)this.widget=new _i(this.editor);else if(this.widget&&!p)this.widget.dispose(),this.widget=null}dispose(){if(super.dispose(),this.widget)this.widget.dispose(),this.widget=null}}class _i extends n{static{this.ID="editor.contrib.ShowKeyboardWidget"}constructor(p){super();this.editor=p,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(l(this._domNode,"touchstart",(u)=>{this.editor.focus()})),this._register(l(this._domNode,"focus",(u)=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return _i.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}le(yi.ID,yi,3);var ps=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},Ur=function(p,u){return function(m,v){u(m,v,p)}},Ii,ko=class p extends n{static{Ii=this}static{this.ID="editor.contrib.inspectTokens"}static get(u){return u.getContribution(Ii.ID)}constructor(u,m,v){super();this._editor=u,this._languageService=v,this._widget=null,this._register(this._editor.onDidChangeModel((k)=>this.stop())),this._register(this._editor.onDidChangeModelLanguage((k)=>this.stop())),this._register($t.onDidChange((k)=>this.stop())),this._register(this._editor.onKeyUp((k)=>k.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){if(this._widget)return;if(!this._editor.hasModel())return;this._widget=new Mi(this._editor,this._languageService)}stop(){if(this._widget)this._widget.dispose(),this._widget=null}};ko=Ii=ps([Ur(1,Vo),Ur(2,pt)],ko);class Qr extends z{constructor(){super({id:"editor.action.inspectTokens",label:Q0.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(p,u){ko.get(u)?.launch()}}function gs(p){let u="";for(let m=0,v=p.length;m<v;m++){let k=p.charCodeAt(m);switch(k){case 9:u+="→";break;case 32:u+="·";break;default:u+=String.fromCharCode(k)}}return u}function fs(p,u){let m=$t.get(u);if(m)return m;let v=p.encodeLanguageId(u);return{getInitialState:()=>Bc,tokenize:(k,x,y)=>ug(u,y),tokenizeEncoded:(k,x,y)=>Ch(v,y)}}class Mi extends n{static{this._ID="editor.contrib.inspectTokensWidget"}constructor(p,u){super();this.allowEditorOverflow=!0,this._editor=p,this._languageService=u,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=fs(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition((m)=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return Mi._ID}_compute(p){let u=this._getTokensAtLine(p.lineNumber),m=0;for(let S=u.tokens1.length-1;S>=0;S--){let D=u.tokens1[S];if(p.column-1>=D.offset){m=S;break}}let v=0;for(let S=u.tokens2.length>>>1;S>=0;S--)if(p.column-1>=u.tokens2[S<<1]){v=S;break}let k=this._model.getLineContent(p.lineNumber),x="";if(m<u.tokens1.length){let S=u.tokens1[m].offset,D=m+1<u.tokens1.length?u.tokens1[m+1].offset:k.length;x=k.substring(S,D)}Qt(this._domNode,g("h2.tm-token",void 0,gs(x),g("span.tm-token-length",void 0,`${x.length} ${x.length===1?"char":"chars"}`))),w(this._domNode,g("hr.tokens-inspect-separator",{style:"clear:both"}));let y=(v<<1)+1<u.tokens2.length?this._decodeMetadata(u.tokens2[(v<<1)+1]):null;if(w(this._domNode,g("table.tm-metadata-table",void 0,g("tbody",void 0,g("tr",void 0,g("td.tm-metadata-key",void 0,"language"),g("td.tm-metadata-value",void 0,`${y?y.languageId:"-?-"}`)),g("tr",void 0,g("td.tm-metadata-key",void 0,"token type"),g("td.tm-metadata-value",void 0,`${y?this._tokenTypeToString(y.tokenType):"-?-"}`)),g("tr",void 0,g("td.tm-metadata-key",void 0,"font style"),g("td.tm-metadata-value",void 0,`${y?this._fontStyleToString(y.fontStyle):"-?-"}`)),g("tr",void 0,g("td.tm-metadata-key",void 0,"foreground"),g("td.tm-metadata-value",void 0,`${y?f.Format.CSS.formatHex(y.foreground):"-?-"}`)),g("tr",void 0,g("td.tm-metadata-key",void 0,"background"),g("td.tm-metadata-value",void 0,`${y?f.Format.CSS.formatHex(y.background):"-?-"}`))))),w(this._domNode,g("hr.tokens-inspect-separator")),m<u.tokens1.length)w(this._domNode,g("span.tm-token-type",void 0,u.tokens1[m].type));this._editor.layoutContentWidget(this)}_decodeMetadata(p){let u=$t.getColorMap(),m=Li.getLanguageId(p),v=Li.getTokenType(p),k=Li.getFontStyle(p),x=Li.getForeground(p),y=Li.getBackground(p);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(m),tokenType:v,fontStyle:k,foreground:u[x],background:u[y]}}_tokenTypeToString(p){switch(p){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(p){let u="";if(p&1)u+="italic ";if(p&2)u+="bold ";if(p&4)u+="underline ";if(p&8)u+="strikethrough ";if(u.length===0)u="---";return u}_getTokensAtLine(p){let u=this._getStateBeforeLine(p),m=this._tokenizationSupport.tokenize(this._model.getLineContent(p),!0,u),v=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(p),!0,u);return{startState:u,tokens1:m.tokens,tokens2:v.tokens,endState:m.endState}}_getStateBeforeLine(p){let u=this._tokenizationSupport.getInitialState();for(let m=1;m<p;m++)u=this._tokenizationSupport.tokenize(this._model.getLineContent(m),!0,u).endState;return u}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}}le(ko.ID,ko,4);I(Qr);var bs=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},Di=function(p,u){return function(m,v){u(m,v,p)}},yo,Xo=class p{static{yo=this}static{this.PREFIX="?"}constructor(u,m,v){this.quickInputService=u,this.keybindingService=m,this.contextKeyService=v,this.registry=it.as(As.Quickaccess)}provide(u){let m=new c;return m.add(u.onDidAccept(()=>{let[v]=u.selectedItems;if(v)this.quickInputService.quickAccess.show(v.prefix,{preserveValue:!0})})),m.add(u.onDidChangeValue((v)=>{let k=this.registry.getQuickAccessProvider(v.substr(yo.PREFIX.length),this.contextKeyService);if(k?.prefix&&k.prefix!==yo.PREFIX)this.quickInputService.quickAccess.show(k.prefix,{preserveValue:!0})})),u.items=this.getQuickAccessProviders().filter((v)=>v.prefix!==yo.PREFIX),m}getQuickAccessProviders(){return this.registry.getQuickAccessProviders(this.contextKeyService).sort((m,v)=>m.prefix.localeCompare(v.prefix)).flatMap((m)=>this.createPicks(m))}createPicks(u){return u.helpEntries.map((m)=>{let v=m.prefix||u.prefix,k=v||"…";return{prefix:v,label:k,keybinding:m.commandId?this.keybindingService.lookupKeybinding(m.commandId):void 0,ariaLabel:e(1844,"{0}, {1}",k,m.description),description:m.description}})}};Xo=yo=bs([Di(0,cn),Di(1,ce),Di(2,V)],Xo);it.as(As.Quickaccess).registerQuickAccessProvider({ctor:Xo,prefix:"",helpEntries:[{description:e_.helpQuickAccessActionLabel}]});var Zr=[void 0,[]];function Jo(p,u,m=0,v=0){let k=u;if(k.values&&k.values.length>1)return vs(p,k.values,m,v);return Xr(p,u,m,v)}function vs(p,u,m,v){let k=0,x=[];for(let y of u){let[S,D]=Xr(p,y,m,v);if(typeof S!=="number")return Zr;k+=S,x.push(...D)}return[k,ws(x)]}function Xr(p,u,m,v){let k=ic(u.normalized,u.normalizedLowercase,m,p,p.toLowerCase(),v,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(!k)return Zr;return[k[0],du(k)]}new uh("allowNonContiguousMatches");new uh("description");new uh("label");new uh("values");new uh("expectContiguousMatch");new uh("value");function ws(p){let u=p.sort((k,x)=>k.start-x.start),m=[],v=void 0;for(let k of u)if(!v||!ys(v,k))v=k,m.push(k);else v.start=Math.min(v.start,k.start),v.end=Math.max(v.end,k.end);return m}function ys(p,u){if(p.end<u.start)return!1;if(u.end<p.start)return!1;return!0}function Gr(p){return p.startsWith('"')&&p.endsWith('"')}var $r=" ";function $o(p){if(typeof p!=="string")p="";let u=p.toLowerCase(),{pathNormalized:m,normalized:v,normalizedLowercase:k}=Kr(p),x=m.indexOf(Cs)>=0,y=Gr(p),S=void 0,D=p.split($r);if(D.length>1)for(let T of D){let R=Gr(T),{pathNormalized:q,normalized:P,normalizedLowercase:N}=Kr(T);if(P){if(!S)S=[];S.push({original:T,originalLowercase:T.toLowerCase(),pathNormalized:q,normalized:P,normalizedLowercase:N,expectContiguousMatch:R})}}return{original:p,originalLowercase:u,pathNormalized:m,normalized:v,normalizedLowercase:k,values:S,containsPathSeparator:x,expectContiguousMatch:y}}function Kr(p){let u;if(Wt)u=p.replace(/\//g,Cs);else u=p.replace(/\\/g,Cs);let m=u.replace(/[\*\u2026\s"]/g,"").replace(/(?<=.)#$/,"");return{pathNormalized:u,normalized:m,normalizedLowercase:m.toLowerCase()}}function Ti(p){if(Array.isArray(p))return $o(p.map((u)=>u.original).join($r));return $o(p.original)}var _s=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},Jr=function(p,u){return function(m,v){u(m,v,p)}},ot,ze=class p extends Wv{static{ot=this}static{this.PREFIX="@"}static{this.SCOPE_PREFIX=":"}static{this.PREFIX_BY_CATEGORY=`${this.PREFIX}${this.SCOPE_PREFIX}`}constructor(u,m,v=Object.create(null)){super(v);this._languageFeaturesService=u,this._outlineModelService=m,this.options=v,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(u){return this.provideLabelPick(u,e(1414,"To go to a symbol, first open a text editor with symbol information.")),n.None}provideWithTextEditor(u,m,v,k){let x=u.editor,y=this.getModel(x);if(!y)return n.None;if(this._languageFeaturesService.documentSymbolProvider.has(y))return this.doProvideWithEditorSymbols(u,y,m,v,k);return this.doProvideWithoutEditorSymbols(u,y,m,v)}doProvideWithoutEditorSymbols(u,m,v,k){let x=new c;return this.provideLabelPick(v,e(1415,"The active text editor does not provide symbol information.")),(async()=>{if(!await this.waitForLanguageSymbolRegistry(m,x)||k.isCancellationRequested)return;x.add(this.doProvideWithEditorSymbols(u,m,v,k))})(),x}provideLabelPick(u,m){u.items=[{label:m,index:0,kind:14}],u.ariaLabel=m}async waitForLanguageSymbolRegistry(u,m){if(this._languageFeaturesService.documentSymbolProvider.has(u))return!0;let v=new ks,k=m.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{if(this._languageFeaturesService.documentSymbolProvider.has(u))k.dispose(),v.complete(!0)}));return m.add(E(()=>v.complete(!1))),v.p}doProvideWithEditorSymbols(u,m,v,k,x){let y=u.editor,S=new c;S.add(v.onDidAccept((q)=>{let[P]=v.selectedItems;if(P&&P.range){if(v.keyMods.shift&&P.attach){P.attach(v.keyMods,q);return}if(this.gotoLocation(u,{range:P.range.selection,keyMods:v.keyMods,preserveFocus:q.inBackground}),x?.handleAccept?.(P,q.inBackground),!q.inBackground)v.hide()}})),S.add(v.onDidTriggerItemButton(({item:q})=>{if(q&&q.range)this.gotoLocation(u,{range:q.range.selection,keyMods:v.keyMods,forceSideBySide:!0}),v.hide()}));let D=this.getDocumentSymbols(m,k),T=S.add(new ie),R=async(q)=>{T?.value?.cancel(),v.busy=!1,T.value=new Me,v.busy=!0;try{let P=$o(v.value.substr(ot.PREFIX.length).trim()),N=await this.doGetSymbolPicks(D,P,void 0,T.value.token,m);if(k.isCancellationRequested)return;if(N.length>0){if(v.items=N,q&&P.original.length===0){let B=tu(N,(Q)=>Boolean(Q.type!=="separator"&&Q.range&&t.containsPosition(Q.range.decoration,q)));if(B)v.activeItems=[B]}}else if(P.original.length>0)this.provideLabelPick(v,e(1416,"No matching editor symbols"));else this.provideLabelPick(v,e(1417,"No editor symbols"))}finally{if(!k.isCancellationRequested)v.busy=!1}};return S.add(v.onDidChangeValue(()=>R(void 0))),R(y.getSelection()?.getPosition()),S.add(v.onDidChangeActive(()=>{let[q]=v.activeItems;if(q&&q.range)y.revealRangeInCenter(q.range.selection,0),this.addDecorations(y,q.range.decoration)})),S}async doGetSymbolPicks(u,m,v,k,x){let y=await u;if(k.isCancellationRequested)return[];let S=m.original.indexOf(ot.SCOPE_PREFIX)===0,D=S?1:0,T,R;if(m.values&&m.values.length>1)T=Ti(m.values[0]),R=Ti(m.values.slice(1));else T=m;let q,P=this.options?.openSideBySideDirection?.();if(P)q=[{iconClass:P==="right"?G.asClassName(b.splitHorizontal):G.asClassName(b.splitVertical),tooltip:P==="right"?e(1418,"Open to the Side"):e(1419,"Open to the Bottom")}];let N=[];for(let K=0;K<y.length;K++){let te=y[K],ae=WI(te.name),de=`$(${Xd.toIcon(te.kind).id}) ${ae}`,ue=de.length-ae.length,me=te.containerName;if(v?.extraContainerLabel)if(me)me=`${v.extraContainerLabel} • ${me}`;else me=v.extraContainerLabel;let pe=void 0,xe=void 0,io=void 0,Wi=void 0;if(m.original.length>D){let Ui=!1;if(T!==m){if([pe,xe]=Jo(de,{...m,values:void 0},D,ue),typeof pe==="number")Ui=!0}if(typeof pe!=="number"){if([pe,xe]=Jo(de,T,D,ue),typeof pe!=="number")continue}if(!Ui&&R){if(me&&R.original.length>0)[io,Wi]=Jo(me,R);if(typeof io!=="number")continue;if(typeof pe==="number")pe+=io}}let Vi=te.tags&&te.tags.indexOf(1)>=0;N.push({index:K,kind:te.kind,score:pe,label:de,ariaLabel:zI(te.name,te.kind),description:me,highlights:Vi?void 0:{label:xe,description:Wi},range:{selection:t.collapseToStart(te.selectionRange),decoration:te.range},uri:x.uri,symbolName:ae,strikethrough:Vi,buttons:q})}let B=N.sort((K,te)=>S?this.compareByKindAndScore(K,te):this.compareByScore(K,te)),Q=[];if(S){let de=function(){if(te&&typeof K==="number"&&ae>0)te.label=Zs(Ri[K]||Ai,ae)},K=void 0,te=void 0,ae=0;for(let ue of B){if(K!==ue.kind)de(),K=ue.kind,ae=1,te={type:"separator"},Q.push(te);else ae++;Q.push(ue)}de()}else if(B.length>0)Q=[{label:e(1420,"symbols ({0})",N.length),type:"separator"},...B];return Q}compareByScore(u,m){if(typeof u.score!=="number"&&typeof m.score==="number")return 1;else if(typeof u.score==="number"&&typeof m.score!=="number")return-1;if(typeof u.score==="number"&&typeof m.score==="number"){if(u.score>m.score)return-1;else if(u.score<m.score)return 1}if(u.index<m.index)return-1;else if(u.index>m.index)return 1;return 0}compareByKindAndScore(u,m){let v=Ri[u.kind]||Ai,k=Ri[m.kind]||Ai,x=v.localeCompare(k);if(x===0)return this.compareByScore(u,m);return x}async getDocumentSymbols(u,m){let v=await this._outlineModelService.getOrCreate(u,m);return m.isCancellationRequested?[]:v.asListOfDocumentSymbols()}};ze=ot=_s([Jr(0,j),Jr(1,Gd)],ze);var Ai=e(1421,"properties ({0})"),Ri={[5]:e(1422,"methods ({0})"),[11]:e(1423,"functions ({0})"),[8]:e(1424,"constructors ({0})"),[12]:e(1425,"variables ({0})"),[4]:e(1426,"classes ({0})"),[22]:e(1427,"structs ({0})"),[23]:e(1428,"events ({0})"),[24]:e(1429,"operators ({0})"),[10]:e(1430,"interfaces ({0})"),[2]:e(1431,"namespaces ({0})"),[3]:e(1432,"packages ({0})"),[25]:e(1433,"type parameters ({0})"),[1]:e(1434,"modules ({0})"),[6]:e(1435,"properties ({0})"),[9]:e(1436,"enumerations ({0})"),[21]:e(1437,"enumeration members ({0})"),[14]:e(1438,"strings ({0})"),[0]:e(1439,"files ({0})"),[17]:e(1440,"arrays ({0})"),[15]:e(1441,"numbers ({0})"),[16]:e(1442,"booleans ({0})"),[18]:e(1443,"objects ({0})"),[19]:e(1444,"keys ({0})"),[7]:e(1445,"fields ({0})"),[13]:e(1446,"constants ({0})")};var Ss=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},zi=function(p,u){return function(m,v){u(m,v,p)}},Pi=class p extends ze{constructor(u,m,v){super(m,v);this.editorService=u,this.onDidActiveTextEditorControlChange=C.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Pi=Ss([zi(0,ye),zi(1,j),zi(2,Gd)],Pi);class tt extends z{static{this.ID="editor.action.quickOutline"}constructor(){super({id:tt.ID,label:Rg.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:o.hasDocumentSymbolProvider,kbOpts:{kbExpr:o.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(p){p.get(cn).quickAccess.show(ze.PREFIX,{itemActivation:ta.NONE})}}I(tt);it.as(As.Quickaccess).registerQuickAccessProvider({ctor:Pi,prefix:ze.PREFIX,helpEntries:[{description:Rg.quickOutlineActionLabel,prefix:ze.PREFIX,commandId:tt.ID},{description:Rg.quickOutlineByCategoryActionLabel,prefix:ze.PREFIX_BY_CATEGORY}]});function Is(p){let u=new Map;for(let m of p)u.set(m,(u.get(m)??0)+1);return u}class eo{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(p,u){let m=this.computeEmbedding(p),v=new Map,k=[];for(let[x,y]of this.documents){if(u.isCancellationRequested)return[];for(let S of y.chunks){let D=this.computeSimilarityScore(S,m,v);if(D>0)k.push({key:x,score:D})}}return k}static termFrequencies(p){return Is(eo.splitTerms(p))}static*splitTerms(p){let u=(m)=>m.toLowerCase();for(let[m]of p.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield u(m);let v=m.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(v.length>1){for(let k of v)if(k.length>2&&/\p{Letter}{3,}/gu.test(k))yield u(k)}}}updateDocuments(p){for(let{key:u}of p)this.deleteDocument(u);for(let u of p){let m=[];for(let v of u.textChunks){let k=eo.termFrequencies(v);for(let x of k.keys())this.chunkOccurrences.set(x,(this.chunkOccurrences.get(x)??0)+1);m.push({text:v,tf:k})}this.chunkCount+=m.length,this.documents.set(u.key,{chunks:m})}return this}deleteDocument(p){let u=this.documents.get(p);if(!u)return;this.documents.delete(p),this.chunkCount-=u.chunks.length;for(let m of u.chunks)for(let v of m.tf.keys()){let k=this.chunkOccurrences.get(v);if(typeof k==="number"){let x=k-1;if(x<=0)this.chunkOccurrences.delete(v);else this.chunkOccurrences.set(v,x)}}}computeSimilarityScore(p,u,m){let v=0;for(let[k,x]of Object.entries(u)){let y=p.tf.get(k);if(!y)continue;let S=m.get(k);if(typeof S!=="number")S=this.computeIdf(k),m.set(k,S);let D=y*S;v+=D*x}return v}computeEmbedding(p){let u=eo.termFrequencies(p);return this.computeTfidf(u)}computeIdf(p){let u=this.chunkOccurrences.get(p)??0;return u>0?Math.log((this.chunkCount+1)/u):0}computeTfidf(p){let u=Object.create(null);for(let[m,v]of p){let k=this.computeIdf(m);if(k>0)u[m]=v*k}return u}}function en(p){let u=p.slice(0);u.sort((v,k)=>k.score-v.score);let m=u[0]?.score??0;if(m>0)for(let v of u)v.score/=m;return u}var Le;(function(p){p[p.NO_ACTION=0]="NO_ACTION",p[p.CLOSE_PICKER=1]="CLOSE_PICKER",p[p.REFRESH_PICKER=2]="REFRESH_PICKER",p[p.REMOVE_ITEM=3]="REMOVE_ITEM"})(Le||(Le={}));function Oi(p){return Array.isArray(p.items)}function on(p){let u=p;return!!u.picks&&u.additionalPicks instanceof Promise}class qi extends n{constructor(p,u){super();this.prefix=p,this.options=u}provide(p,u,m){let v=new c;p.canAcceptInBackground=!!this.options?.canAcceptInBackground,p.matchOnLabel=p.matchOnDescription=p.matchOnDetail=p.sortByLabel=!1;let k=void 0,x=v.add(new ie),y=async()=>{k?.dispose(!0),p.busy=!1;let D=x.value=new c;k=D.add(new Me(u));let T=k.token,R=p.value.substring(this.prefix.length);if(!this.options?.shouldSkipTrimPickFilter)R=R.trim();let q=this._getPicks(R,D,T,m),P=(B,Q)=>{let K,te=void 0;if(Oi(B))K=B.items,te=B.active;else K=B;if(K.length===0){if(Q)return!1;if((R.length>0||p.hideInput)&&this.options?.noResultsPick)if(ol(this.options.noResultsPick))K=[this.options.noResultsPick(R)];else K=[this.options.noResultsPick]}if(p.items=K,te)p.activeItems=[te];return!0},N=async(B)=>{let Q=!1,K=!1;await Promise.all([(async()=>{if(typeof B.mergeDelay==="number"){if(await ir(B.mergeDelay),T.isCancellationRequested)return}if(!K)Q=P(B.picks,!0)})(),(async()=>{p.busy=!0;try{let te=await B.additionalPicks;if(T.isCancellationRequested)return;let ae,de=void 0;if(Oi(B.picks))ae=B.picks.items,de=B.picks.active;else ae=B.picks;let ue,me=void 0;if(Oi(te))ue=te.items,me=te.active;else ue=te;if(ue.length>0||!Q){let pe=void 0;if(!de&&!me){let xe=p.activeItems[0];if(xe&&ae.indexOf(xe)!==-1)pe=xe}P({items:[...ae,...ue],active:de||me||pe})}}finally{if(!T.isCancellationRequested)p.busy=!1;K=!0}})()])};if(q===null);else if(on(q))await N(q);else if(!(q instanceof Promise))P(q);else{p.busy=!0;try{let B=await q;if(T.isCancellationRequested)return;if(on(B))await N(B);else P(B)}finally{if(!T.isCancellationRequested)p.busy=!1}}};v.add(p.onDidChangeValue(()=>y())),y(),v.add(p.onDidAccept((D)=>{if(m?.handleAccept){if(!D.inBackground)p.hide();m.handleAccept?.(p.activeItems[0],D.inBackground);return}let[T]=p.selectedItems;if(typeof T?.accept==="function"){if(RR(p.keyMods)&&!!T.attach){T.attach(p.keyMods,D);return}if(!D.inBackground)p.hide();T.accept(p.keyMods,D)}}));let S=async(D,T)=>{if(typeof T.trigger!=="function")return;let R=T.buttons?.indexOf(D)??-1;if(R>=0){let q=T.trigger(R,p.keyMods),P=typeof q==="number"?q:await q;if(u.isCancellationRequested)return;switch(P){case Le.NO_ACTION:break;case Le.CLOSE_PICKER:p.hide();break;case Le.REFRESH_PICKER:y();break;case Le.REMOVE_ITEM:{let N=p.items.indexOf(T);if(N!==-1){let B=p.items.slice(),Q=B.splice(N,1),K=p.activeItems.filter((ae)=>ae!==Q[0]),te=p.keepScrollPosition;if(p.keepScrollPosition=!0,p.items=B,K)p.activeItems=K;p.keepScrollPosition=te}break}}}};return v.add(p.onDidTriggerItemButton(({button:D,item:T})=>S(D,T))),v.add(p.onDidTriggerSeparatorButton(({button:D,separator:T})=>S(D,T))),v}}var tn=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},Oe=function(p,u){return function(m,v){u(m,v,p)}},We,ne,rt=class p extends qi{static{We=this}static{this.PREFIX=">"}static{this.TFIDF_THRESHOLD=0.5}static{this.TFIDF_MAX_RESULTS=5}static{this.WORD_FILTER=M0(SR,ER)}constructor(u,m,v,k,x,y){super(We.PREFIX,u);this.keybindingService=v,this.commandService=k,this.telemetryService=x,this.dialogService=y,this.commandsHistory=this._register(m.createInstance(Ni)),this.options=u}async _getPicks(u,m,v,k){let x=await this.getCommandPicks(v);if(v.isCancellationRequested)return[];let y=es(()=>{let N=new eo;N.updateDocuments(x.map((Q)=>({key:Q.commandId,textChunks:[this.getTfIdfChunk(Q)]})));let B=N.calculateScores(u,v);return en(B).filter((Q)=>Q.score>We.TFIDF_THRESHOLD).slice(0,We.TFIDF_MAX_RESULTS)}),S=[];for(let N of x){let B=We.WORD_FILTER(u,N.label)??void 0,Q;if(N.commandAlias)Q=We.WORD_FILTER(u,N.commandAlias)??void 0;if(B||Q)N.highlights={label:B,detail:this.options.showAlias?Q:void 0},S.push(N);else if(u===N.commandId)S.push(N);else if(u.length>=3){let K=y();if(v.isCancellationRequested)return[];let te=K.find((ae)=>ae.key===N.commandId);if(te)N.tfIdfScore=te.score,S.push(N)}}let D=new Map;for(let N of S){let B=D.get(N.label);if(B)N.description=N.commandId,B.description=B.commandId;else D.set(N.label,N)}S.sort((N,B)=>{if(N.tfIdfScore&&B.tfIdfScore){if(N.tfIdfScore===B.tfIdfScore)return N.label.localeCompare(B.label);return B.tfIdfScore-N.tfIdfScore}else if(N.tfIdfScore)return 1;else if(B.tfIdfScore)return-1;let Q=this.commandsHistory.peek(N.commandId),K=this.commandsHistory.peek(B.commandId);if(Q&&K)return Q>K?-1:1;if(Q)return-1;if(K)return 1;if(this.options.suggestedCommandIds){let de=this.options.suggestedCommandIds.has(N.commandId),ue=this.options.suggestedCommandIds.has(B.commandId);if(de&&ue)return 0;if(de)return-1;if(ue)return 1}let te=N.commandCategory===wo.Developer.value,ae=B.commandCategory===wo.Developer.value;if(te&&!ae)return 1;if(!te&&ae)return-1;return N.label.localeCompare(B.label)});let T=[],R=!1,q=!0,P=!!this.options.suggestedCommandIds;for(let N=0;N<S.length;N++){let B=S[N],Q=!!this.commandsHistory.peek(B.commandId);if(N===0&&Q)T.push({type:"separator",label:e(1836,"recently used")}),R=!0;if(q&&B.tfIdfScore!==void 0)T.push({type:"separator",label:e(1837,"similar commands")}),q=!1;if(P&&B.tfIdfScore===void 0&&!Q&&this.options.suggestedCommandIds?.has(B.commandId))T.push({type:"separator",label:e(1838,"commonly used")}),R=!0,P=!1;if(R&&B.tfIdfScore===void 0&&!Q&&!this.options.suggestedCommandIds?.has(B.commandId))T.push({type:"separator",label:e(1839,"other commands")}),R=!1;T.push(this.toCommandPick(B,k,Q))}if(!this.hasAdditionalCommandPicks(u,v))return T;return{picks:T,additionalPicks:(async()=>{let N=await this.getAdditionalCommandPicks(x,S,u,v);if(v.isCancellationRequested)return[];let B=N.map((Q)=>this.toCommandPick(Q,k));if(q&&B[0]?.type!=="separator")B.unshift({type:"separator",label:e(1840,"similar commands")});return B})()}}toCommandPick(u,m,v=!1){if(u.type==="separator")return u;let k=u.tooltip??u.commandDescription?.value,x=this.keybindingService.lookupKeybinding(u.commandId),y=x?e(1841,"{0}, {1}",u.label,x.getAriaLabel()):u.label,S=u.buttons||[],D=v?[...S,{iconClass:G.asClassName(b.close),tooltip:e(1842,"Remove from Recently Used")}]:u.buttons;return{...u,id:u.commandId,tooltip:k,ariaLabel:y,detail:this.options.showAlias&&u.commandAlias!==u.label?u.commandAlias:void 0,keybinding:x,buttons:D,accept:async()=>{this.commandsHistory.push(u.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:u.commandId,from:m?.from??"quick open"});try{u.args?.length?await this.commandService.executeCommand(u.commandId,...u.args):await this.commandService.executeCommand(u.commandId)}catch(T){if(!Gn(T))this.dialogService.error(e(1843,"Command '{0}' resulted in an error",u.label),Vm(T))}},trigger:v?(T,R)=>{let q=S.length;if(T===q)return this.commandsHistory.remove(u.commandId),Le.REMOVE_ITEM;if(u.trigger)return u.trigger(T,R);return Le.NO_ACTION}:u.trigger}}getTfIdfChunk({label:u,commandAlias:m,commandDescription:v}){let k=u;if(m&&m!==u)k+=` - ${m}`;if(v&&v.value!==u)k+=` - ${v.value===v.original?v.value:`${v.value} (${v.original})`}`;return k}};rt=We=tn([Oe(1,L),Oe(2,ce),Oe(3,Ne),Oe(4,Sn),Oe(5,Gc)],rt);var Ni=class p extends n{static{ne=this}static{this.DEFAULT_COMMANDS_HISTORY_LENGTH=50}static{this.PREF_KEY_CACHE="commandPalette.mru.cache"}static{this.PREF_KEY_COUNTER="commandPalette.mru.counter"}static{this.counter=1}static{this.hasChanges=!1}constructor(u,m,v){super();this.storageService=u,this.configurationService=m,this.logService=v,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((u)=>this.updateConfiguration(u))),this._register(this.storageService.onWillSaveState((u)=>{if(u.reason===vl.SHUTDOWN)this.saveState()}))}updateConfiguration(u){if(u&&!u.affectsConfiguration("workbench.commandPalette.history"))return;if(this.configuredCommandsHistoryLength=ne.getConfiguredCommandHistoryLength(this.configurationService),ne.cache&&ne.cache.limit!==this.configuredCommandsHistoryLength)ne.cache.limit=this.configuredCommandsHistoryLength,ne.hasChanges=!0}load(){let u=this.storageService.get(ne.PREF_KEY_CACHE,0),m;if(u)try{m=JSON.parse(u)}catch(k){this.logService.error(`[CommandsHistory] invalid data: ${k}`)}let v=ne.cache=new Ei(this.configuredCommandsHistoryLength,1);if(m){let k;if(m.usesLRU)k=m.entries;else k=m.entries.sort((x,y)=>x.value-y.value);k.forEach((x)=>v.set(x.key,x.value))}ne.counter=this.storageService.getNumber(ne.PREF_KEY_COUNTER,0,ne.counter)}push(u){if(!ne.cache)return;ne.cache.set(u,ne.counter++),ne.hasChanges=!0}peek(u){return ne.cache?.peek(u)}remove(u){if(!ne.cache)return;ne.cache.delete(u),ne.hasChanges=!0}saveState(){if(!ne.cache)return;if(!ne.hasChanges)return;let u={usesLRU:!0,entries:[]};ne.cache.forEach((m,v)=>u.entries.push({key:v,value:m})),this.storageService.store(ne.PREF_KEY_CACHE,JSON.stringify(u),0,0),this.storageService.store(ne.PREF_KEY_COUNTER,ne.counter,0,0),ne.hasChanges=!1}static getConfiguredCommandHistoryLength(u){let v=u.getValue().workbench?.commandPalette?.history;if(typeof v==="number")return v;return ne.DEFAULT_COMMANDS_HISTORY_LENGTH}};Ni=ne=tn([Oe(0,wn),Oe(1,X),Oe(2,Be)],Ni);class Fi extends rt{constructor(p,u,m,v,k,x){super(p,u,m,v,k,x)}getCodeEditorCommandPicks(){let p=this.activeTextEditorControl;if(!p)return[];let u=[];for(let m of p.getSupportedActions()){let v;if(m.metadata?.description)if($R(m.metadata.description))v=m.metadata.description;else v={original:m.metadata.description,value:m.metadata.description};u.push({commandId:m.id,commandAlias:m.alias,commandDescription:v,label:Nh(m.label)||m.id})}return u}}var Ms=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},oo=function(p,u){return function(m,v){u(m,v,p)}},_o=class p extends Fi{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(u,m,v,k,x,y){super({showAlias:!1},u,v,k,x,y);this.codeEditorService=m}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};_o=Ms([oo(0,L),oo(1,ye),oo(2,ce),oo(3,Ne),oo(4,Sn),oo(5,Gc)],_o);class nt extends z{static{this.ID="editor.action.quickCommand"}constructor(){super({id:nt.ID,label:My.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:o.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(p){p.get(cn).quickAccess.show(_o.PREFIX)}}I(nt);it.as(As.Quickaccess).registerQuickAccessProvider({ctor:_o,prefix:_o.PREFIX,helpEntries:[{description:My.quickCommandHelp,commandId:nt.ID}]});var Ts=function(p,u,m,v){var k=arguments.length,x=k<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,m):v,y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")x=Reflect.decorate(p,u,m,v);else for(var S=p.length-1;S>=0;S--)if(y=p[S])x=(k<3?y(x):k>3?y(u,m,x):y(u,m))||x;return k>3&&x&&Object.defineProperty(u,m,x),x},to=function(p,u){return function(m,v){u(m,v,p)}},Bi=class p extends Ud{constructor(u,m,v,k,x,y,S){super(!0,u,m,v,k,x,y,S)}};Bi=Ts([to(1,V),to(2,ye),to(3,ut),to(4,L),to(5,wn),to(6,X)],Bi);le(Ud.ID,Bi,4);class rn extends z{constructor(){super({id:"editor.action.toggleHighContrast",label:t_.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0});this._originalThemeName=null}run(p,u){let m=p.get(Vo),v=m.getColorTheme();if(zo(v.type))m.setTheme(this._originalThemeName||(Ls(v.type)?yf:Yc)),this._originalThemeName=null;else m.setTheme(Ls(v.type)?Ph:Fh),this._originalThemeName=v.themeName}}I(rn);function Es(p,u){let m=globalThis.MonacoEnvironment;if(m?.createTrustedTypesPolicy)try{return m.createTrustedTypesPolicy(p,u)}catch(v){console.error(v);return}try{return globalThis.trustedTypes?.createPolicy(p,u)}catch(v){console.error(v);return}}var st;if(typeof self==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope"&&globalThis.workerttPolicy!==void 0)st=globalThis.workerttPolicy;else st=Es("defaultWorkerFactory",{createScriptURL:(p)=>p});function zs(p){let u=p.label,m=globalThis.MonacoEnvironment;if(m){if(typeof m.getWorker==="function")return m.getWorker("workerMain.js",u);if(typeof m.getWorkerUrl==="function"){let v=m.getWorkerUrl("workerMain.js",u);return new Worker(st?st.createScriptURL(v):v,{name:u,type:"module"})}}if(p.createWorker)return p.createWorker();throw Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function jv(p){let u=Promise.resolve(zs({label:p.label??"monaco-editor-worker",moduleId:p.moduleId,createWorker:p.createWorker})).then((m)=>(m.postMessage("ignore"),m.postMessage(p.createData),m));return Tn.createWebWorker({worker:u,host:p.host,keepIdleModels:p.keepIdleModels})}
|
|
6
|
+
export{jv};
|
|
7
|
+
|
|
8
|
+
//# debugId=CE5308E1318A788264756E2164756E21
|
|
9
|
+
//# sourceMappingURL=studio-5e9zsamh.js.map
|