reactive-vscode 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@reactive-vscode/reactivity"),s=require("vscode");function L(e){return n.getCurrentScope()?(n.onScopeDispose(e),!0):!1}function D(e,t){const o=new Map;return(...i)=>{const a=t(...i);let r=o.get(a);return r?r.refCount++:(r={data:e(...i),refCount:1},o.set(a,r)),L(()=>{--r.refCount===0&&o.delete(a)}),r.data}}const R=[];function M(e){R.push(e)}function g(e){let t=!1,o=!1,i;return()=>{if(!o){if(t)throw new Error("Cannot call a singleton composable recursively.");try{t=!0;const a=n.effectScope(!0);M(()=>a.stop()),i=a.run(e),o=!0}finally{t=!1}}return i}}const b=n.shallowRef(null),T=n.effectScope();function J(e){return{activate:t=>(b.value=t,T.run(()=>(k.map(o=>o(t)),e(t)))),deactivate:()=>{R.map(t=>t()),T.stop()}}}const k=[];function y(e){b.value?e(b.value):k.push(e)}function $(e,t,o){const i=!e,a=s.workspace.getConfiguration(i?void 0:e,o);function r(l,f){const d=n.shallowRef(f),w=n.computed({get:()=>d.value,set:v=>{d.value=v,a.update(l,v)}});return w.update=async(v,h,m)=>{await a.update(l,v,h,m),d.value=v},w.set=v=>{d.value=v},w}const u=Object.fromEntries(Object.keys(t).map(l=>[l,r(l,a.get(l))]));return y(()=>{c(s.workspace.onDidChangeConfiguration(i?l=>{const f=s.workspace.getConfiguration();for(const d in t)l.affectsConfiguration(d)&&u[d].set(f.get(d))}:l=>{if(!l.affectsConfiguration(e))return;const f=s.workspace.getConfiguration(e);for(const d in t)l.affectsConfiguration(`${e}.${d}`)&&u[d].set(f.get(d))}))}),u}function X(e,t,o){const i=$(e,t,o),a={},r=n.shallowReactive({$update(u,l,f,d){return i[u].update(l,f,d)},$set(u,l){return i[u].set(l)}});for(const u in t){const l=u.split(".");let f="",d=a,w=r;for(const h of l.slice(0,-1)){f=f?`${f}.${h}`:h;const m=d=d[h]||={};if(w[h])w=w[h];else{const I=n.shallowReactive({});Object.defineProperty(w,h,{enumerable:!0,get(){return I},set(G){function W(x,S,F){if(x)for(const V in x)W(x[V],S?`${S}.${V}`:V,F?.[V]);else i[S].value=F}W(m,f,G)}}),w=I}}const v=l[l.length-1];d[v]=null,Object.defineProperty(w,v,{enumerable:!0,get(){return i[u].value},set(h){i[u].value=h}})}return r}function Z(e,t){const o=n.shallowRef(null),i=[],a=r=>(...u)=>o.value?o.value[r](...u):(i.push([r,u]),null);return y(()=>{o.value=Q(e,t);for(const[r,u]of i)o.value[r](...u)}),{logger:o,outputChannel:n.computed(()=>o.value?.outputChannel),info:a("info"),warn:a("warn"),error:a("error"),append:a("append"),appendLine:a("appendLine"),replace:a("replace"),clear:a("clear"),show:a("show"),hide:a("hide")}}const _=g;function ee(e,...t){return s.commands.executeCommand(e,...t)}function te(e,t=!1){const o=b.value;if(!o&&!t)throw new Error("Cannot get absolute path because the extension is not activated yet");return o?.asAbsolutePath(e)}function ne(e,t=!1){return n.computed(()=>te(n.toValue(e),t))}function c(e){return(n.getCurrentScope()??T).cleanups.push(e.dispose.bind(e)),e}const N=g(()=>{const e=n.shallowRef(s.window.activeColorTheme);return c(s.window.onDidChangeActiveColorTheme(t=>{e.value=t})),e}),oe=g(()=>{const e=n.shallowRef(s.debug.activeDebugSession);return c(s.debug.onDidChangeActiveDebugSession(t=>{e.value=t})),n.computed(()=>e.value)}),j=g(()=>{const e=n.shallowRef(s.window.activeTextEditor);return c(s.window.onDidChangeActiveTextEditor(t=>{e.value=t})),e});function H(e){const t=n.shallowRef(n.toValue(e)?.getText());return n.watchEffect(()=>{t.value=n.toValue(e)?.getText()}),c(s.workspace.onDidChangeTextDocument(o=>{o.document===n.toValue(e)&&(t.value=o.document.getText())})),t}function B(e,t,o,i={}){const{updateOn:a=["effect","documentChanged"]}=i;let r;const u=n.computed(()=>{r?.dispose(),r=void 0;const d=n.toValue(t);if("key"in d)return d;const w=s.window.createTextEditorDecorationType(d);return r=c(w),w}),l=async()=>{const d=n.toValue(e);d&&d.setDecorations(u.value,typeof o=="function"?await o(d):n.toValue(o))},f=a.includes("documentChanged")?H(()=>n.toValue(e)?.document):null;return a.includes("effect")?n.watchEffect(async()=>{f?.value,await l()}):f&&n.watch(f,l),{update:l}}function ie(e,t,o={}){const i=j();return B(i,e,t,o)}const ae=g(()=>{const e=n.shallowRef(s.window.activeNotebookEditor);return c(s.window.onDidChangeActiveNotebookEditor(t=>{e.value=t})),e}),se=g(()=>{const e=n.shallowRef(s.window.activeTerminal);return c(s.window.onDidChangeActiveTerminal(t=>{e.value=t})),e}),ue=g(()=>{const e=n.shallowRef(s.extensions.all);return c(s.extensions.onDidChange(()=>{e.value=s.extensions.all})),n.computed(()=>e.value)});function p(e,t){const o=(i,a,r)=>{c(e(i,a,r))};return t?.forEach(i=>o(i)),o}function P(e,t,o){for(const i of o){const a=t[i];a!==void 0&&n.watchEffect(()=>{e[i]=n.toValue(a)})}}const re=D((e,t,o={})=>{const i=c(s.chat.createChatParticipant(e,n.unref(t)));return P(i,o,["iconPath"]),o.followupProvider!==void 0&&n.watchEffect(()=>{i.followupProvider=n.unref(o.followupProvider)}),n.watchEffect(()=>{i.requestHandler=n.unref(t)}),{onDidReceiveFeedback:p(i.onDidReceiveFeedback)}},e=>e);function K(e,t){c(s.commands.registerCommand(e,t))}function ce(e){for(const[t,o]of Object.entries(e))o&&K(t,o)}function le(e,t){return c(s.comments.createCommentController(e,t))}function O(e){const t=n.shallowRef(n.toValue(e)?.state);return n.watch(e,()=>{t.value=n.toValue(e)?.state}),c(s.window.onDidChangeTerminalState(o=>{o===n.toValue(e)&&(t.value=o.state)})),n.computed(()=>t.value)}function de(...e){const t=n.ref(null);function o(){return!!t.value&&t.value.exitStatus==null}function i(){return o()?t.value:t.value=s.window.createTerminal(...e)}function a(l){i().sendText(l)}function r(){i().show()}function u(){o()&&(t.value.sendText(""),t.value.dispose(),t.value=null)}return n.onScopeDispose(u),{terminal:t,getIsActive:o,show:r,sendText:a,close:u,state:O(t)}}const fe=g(()=>{const e=n.shallowRef(s.env.shell);return c(s.env.onDidChangeShell(t=>{e.value=t})),n.computed(()=>e.value)});function C(e,t=[]){const o=Array.isArray(e)?e:t??[],i=c(Array.isArray(e)||e==null?new s.EventEmitter:e),a=p(i.event,o);for(const r of o)a(r);return{event:i.event,fire:i.fire.bind(i),addListener:a}}async function ve(e){const t=b.value.secrets,o=n.ref(await t.get(e));return o.set=async i=>{o.value=i,await t.store(e,i)},o.remove=async()=>{o.value=void 0,await t.delete(e)},c(t.onDidChange(async i=>{i.key===e&&(o.value=await t.get(e))})),n.watch(o,i=>{i===void 0?t.delete(e):t.store(e,i)}),o}function we(e){return n.computed(()=>s.tasks.fetchTasks(n.toValue(e)))}function he(e){return n.computed(()=>s.Uri.file(n.toValue(e)))}function ge(e,t){const o=new s.EventEmitter,i=n.shallowRef();n.watchEffect(()=>{i.value&&o.fire(),i.value=n.toValue(t)}),c(s.languages.registerFoldingRangeProvider(e,{onDidChangeFoldingRanges:o.event,provideFoldingRanges(a,r,u){return i.value?.(a,r,u)}}))}function me(e,t,o,i){const a=n.shallowReactive(new Map),r=C(),u=C(),l=C(),f=n.computed(()=>{const v=n.toValue(e);return Array.isArray(v)?v:v instanceof Set?Array.from(v):[v]});function d(){const v=f.value;for(const[h,m]of a)v.includes(h)||(m.dispose(),a.delete(h));for(const h of v)if(!a.has(h)){const m=s.workspace.createFileSystemWatcher(h,n.toValue(t)||!1,n.toValue(o)||!1,n.toValue(i)||!1);m.onDidCreate(r.fire),m.onDidChange(u.fire),m.onDidDelete(l.fire),a.set(h,m)}}function w(){for(const v of a.values())v.dispose();a.clear()}return d(),n.watch(f,d),n.watch(()=>[n.toValue(t),n.toValue(o),n.toValue(i)],()=>{w(),d()}),n.onScopeDispose(w),{watchers:a,onDidCreate:r.event,onDidChange:u.event,onDidDelete:l.event}}const pe=g(()=>{const e=N();return n.computed(()=>e.value.kind===s.ColorThemeKind.Dark||e.value.kind===s.ColorThemeKind.HighContrast)}),be=g(()=>{const e=n.shallowRef(s.env.isTelemetryEnabled);return c(s.env.onDidChangeTelemetryEnabled(t=>{e.value=t})),n.computed(()=>e.value)});function Ce(e,...t){return n.computed(()=>typeof t[0]=="object"?s.l10n.t(n.toValue(e),n.toRaw(t[0])):s.l10n.t(n.toValue(e),...t.map(n.toValue)))}const Ve=g(()=>{const e=n.shallowRef(s.lm.tools);return c(s.lm.onDidChangeChatModels(()=>{e.value=s.lm.tools})),n.computed(()=>e.value)});function q(e,t){return c(s.window.createOutputChannel(e,t))}function Te(e){const t=new Date,o=String(t.getFullYear()).padStart(4,"0"),i=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),r=String(t.getHours()).padStart(2,"0"),u=String(t.getMinutes()).padStart(2,"0"),l=String(t.getSeconds()).padStart(2,"0"),f=String(t.getMilliseconds()).padStart(3,"0");return`${o}-${i}-${a} ${r}:${u}:${l}.${f} [${e}] `}function Q(e,t={}){const o=t.outputChannel??q(e,{log:!0}),i=t.toConsole??["error","warn"],a=r=>(...u)=>{o.appendLine((t.getPrefix?.(r)??"")+u.join(" ")),i.includes(r)&&console[r](...u)};return{outputChannel:o,createLoggerFunc:a,info:a("info"),warn:a("warn"),error:a("error"),append:o.append.bind(o),appendLine:o.appendLine.bind(o),replace:o.replace.bind(o),clear:o.clear.bind(o),show:o.show.bind(o),hide:o.hide.bind(o)}}const De=g(()=>{const e=n.shallowRef(s.env.logLevel);return c(s.env.onDidChangeLogLevel(t=>{e.value=t})),n.computed(()=>e.value)});function U(e){const t=n.shallowRef(n.toValue(e)?.selections??[]);return n.watch(e,()=>{t.value=n.toValue(e)?.selections??[]}),c(s.window.onDidChangeNotebookEditorSelection(o=>{o.notebookEditor===n.toValue(e)&&(t.value=o.selections)})),n.computed({get(){return t.value},set(o){t.value=o;const i=n.toValue(e);i&&(i.selections=o)}})}function Ee(e){const t=U(e);return n.computed({get(){return t.value[0]},set(o){t.value=t.value.toSpliced(0,1,o)}})}function xe(e){const t=n.shallowRef(n.toValue(e)?.visibleRanges??[]);return n.watch(e,()=>{t.value=n.toValue(e)?.visibleRanges??[]}),c(s.window.onDidChangeNotebookEditorVisibleRanges(o=>{o.notebookEditor===n.toValue(e)&&(t.value=o.visibleRanges)})),n.computed(()=>t.value)}const Se=g(()=>{const e=n.shallowRef(s.window.terminals);function t(){e.value=s.window.terminals}return c(s.window.onDidOpenTerminal(t)),c(s.window.onDidCloseTerminal(t)),e});function Re(e={}){const t=c(s.window.createQuickPick()),o=p(t.onDidChangeActive),i=p(t.onDidChangeSelection),a=p(t.onDidAccept),r=p(t.onDidHide),u=p(t.onDidTriggerButton),l=p(t.onDidChangeValue);["items","buttons","title","step","totalSteps","enabled","busy","ignoreFocusOut","placeholder","canSelectMany","matchOnDescription","matchOnDetail","keepScrollPosition"].forEach(v=>{e[v]&&n.watchEffect(()=>t[v]=n.toValue(e[v]))}),e.value&&(t.value=e.value);const f=n.shallowRef(t.value);l(v=>f.value=v),e.activeItems&&(t.activeItems=e.activeItems);const d=n.shallowRef(t.activeItems);o(v=>d.value=v),e.selectedItems&&(t.selectedItems=e.selectedItems);const w=n.shallowRef(t.selectedItems);return i(v=>w.value=v),{...t,onDidChangeActive:o,onDidChangeSelection:i,onDidAccept:a,onDidHide:r,onDidTriggerButton:u,onDidChangeValue:l,value:f,activeItems:d,selectedItems:w}}function ke(e){const t=c(e.id?s.window.createStatusBarItem(e.id,e.alignment,e.priority):s.window.createStatusBarItem(e.alignment,e.priority));return P(t,e,["name","text","tooltip","color","backgroundColor","command","accessibilityInformation"]),e.visible!=null?n.watchEffect(()=>{n.toValue(e.visible)?t.show():t.hide()}):t.show(),t}const ye=g(()=>{const e=n.shallowRef(s.tasks.taskExecutions);function t(){e.value=s.tasks.taskExecutions}return c(s.tasks.onDidStartTask(t)),c(s.tasks.onDidEndTask(t)),n.computed(()=>e.value)});function Pe(...e){const t=c(s.window.createTerminal(...e));return{terminal:t,get name(){return t.name},get processId(){return t.processId},get creationOptions(){return t.creationOptions},get exitStatus(){return t.exitStatus},get shellIntegration(){return t.shellIntegration},sendText:t.sendText.bind(t),show:t.show.bind(t),hide:t.hide.bind(t),state:O(t)}}function z(e,t){c(s.commands.registerTextEditorCommand(e,t))}function Oe(e){for(const[t,o]of Object.entries(e))z(t,o)}function Y(e,t){const o=n.shallowRef(n.toValue(e)?.selections??[]);return n.watch(e,()=>{o.value=n.toValue(e)?.selections??[]}),c(s.window.onDidChangeTextEditorSelection(i=>{const a=n.toValue(e),r=n.toValue(t);i.textEditor===a&&(!r||r.includes(i.kind))&&(o.value=i.selections)})),n.computed({get(){return o.value},set(i){o.value=i;const a=n.toValue(e);a&&(a.selections=i)}})}function Ae(e,t){const o=Y(e,t);return n.computed({get(){return o.value[0]},set(i){o.value=o.value.toSpliced(0,1,i)}})}function Ie(e){const t=n.shallowRef(n.toValue(e)?.viewColumn);return n.watch(e,()=>{t.value=n.toValue(e)?.viewColumn}),c(s.window.onDidChangeTextEditorViewColumn(o=>{o.textEditor===n.toValue(e)&&(t.value=o.viewColumn)})),n.computed(()=>t.value)}function We(e){const t=n.shallowRef(n.toValue(e)?.visibleRanges??[]);return n.watch(e,()=>{t.value=n.toValue(e)?.visibleRanges??[]}),c(s.window.onDidChangeTextEditorVisibleRanges(o=>{o.textEditor===n.toValue(e)&&(t.value=o.visibleRanges)})),n.computed(()=>t.value)}function A(e,t){n.watchEffect(()=>{const o=n.toValue(e);o&&(o.badge=n.toValue(t))})}function E(e,t){n.watchEffect(()=>{const o=n.toValue(e);o&&(o.title=n.toValue(t))})}const Fe=D((e,t,o)=>{const i=C();n.watch(t,()=>i.fire()),o?.watchSource&&n.watch(o.watchSource,()=>i.fire());const a=new WeakMap,r=c(s.window.createTreeView(e,{...o,treeDataProvider:{...o,onDidChangeTreeData:i.event,getTreeItem(u){return u.treeItem},async getChildren(u){if(u){const l=await u.children;return l?.forEach(f=>a.set(f,u)),l}return n.toValue(t)},getParent(u){return a.get(u)}}}));return o?.title&&E(r,o.title),o?.badge&&A(r,o.badge),r},e=>e);function Le(e){const t=n.ref(n.toValue(e)?.visible);function o(){t.value=n.toValue(e)?.visible}return n.watchEffect(i=>{const a=n.toValue(e);if(a){const r=a.onDidChangeVisibility(o);i(()=>r.dispose())}}),n.watchEffect(o),n.computed(()=>!!t.value)}const Me=g(()=>{const e=n.shallowRef(s.window.visibleNotebookEditors);return c(s.window.onDidChangeVisibleNotebookEditors(t=>{e.value=t})),e}),$e=g(()=>{const e=n.shallowRef(s.window.visibleTextEditors);return c(s.window.onDidChangeVisibleTextEditors(t=>{e.value=t})),e});function Ne(e,t,o=!0){const i=n.isRef(t)?t:typeof t=="function"?n.computed(t):n.ref(t);return n.watchEffect(()=>{n.toValue(o)&&s.commands.executeCommand("setContext",e,i.value)}),i}function je(e,t,o,i,a){const r=n.shallowRef(),u=c(s.window.createWebviewPanel(e,n.toValue(t),i,{enableFindWidget:a?.enableFindWidget,retainContextWhenHidden:a?.retainContextWhenHidden,...n.toValue(a?.webviewOptions)}));a?.onDidReceiveMessage&&u.webview.onDidReceiveMessage(a.onDidReceiveMessage);const l=n.ref(0);function f(){l.value++}if(n.watchEffect(()=>{u.webview.html=`${n.toValue(o)}<!--${l.value}-->`}),a?.webviewOptions){const h=a.webviewOptions;n.watchEffect(()=>{u.webview.options=n.toValue(h)})}E(u,t);function d(h){return u.webview.postMessage(h)}const w=n.ref(u.active),v=n.ref(u.visible);return c(u.onDidChangeViewState(()=>{w.value=u.active,v.value=u.visible})),{panel:u,context:r,active:w,visible:v,postMessage:d,forceRefresh:f}}const He=D((e,t,o)=>{const i=n.shallowRef(),a=n.shallowRef();c(s.window.registerWebviewViewProvider(e,{resolveWebviewView(f,d){i.value=f,a.value=d,o?.onDidReceiveMessage&&f.webview.onDidReceiveMessage(o.onDidReceiveMessage)}},{webviewOptions:{retainContextWhenHidden:o?.retainContextWhenHidden}}));const r=n.ref(0);function u(){r.value++}if(n.watchEffect(()=>{i.value&&(i.value.webview.html=`${n.toValue(t)}<!--${r.value}-->`)}),o?.webviewOptions){const f=o.webviewOptions;n.watchEffect(()=>{i.value&&(i.value.webview.options=n.toValue(f))})}o?.title&&E(i,o.title),o?.badge&&A(i,o.badge);function l(f){return i.value?.webview.postMessage(f)}return{view:i,context:a,postMessage:l,forceRefresh:u}},e=>e),Be=g(()=>{const e=n.shallowRef(s.window.state);return c(s.window.onDidChangeWindowState(t=>{e.value=t})),{focused:n.computed(()=>e.value.focused),active:n.computed(()=>e.value.active)}}),Ke=g(()=>{const e=n.shallowRef(s.workspace.workspaceFolders);return c(s.workspace.onDidChangeWorkspaceFolders(()=>{e.value=s.workspace.workspaceFolders})),n.computed(()=>e.value)});exports.activateCbs=k;exports.createKeyedComposable=D;exports.createSingletonComposable=g;exports.deactivateCbs=R;exports.defineConfigObject=X;exports.defineConfigs=$;exports.defineExtension=J;exports.defineLogger=Z;exports.defineService=_;exports.executeCommand=ee;exports.extensionContext=b;exports.extensionScope=T;exports.getDefaultLoggerPrefix=Te;exports.onActivate=y;exports.onDeactivate=M;exports.tryOnScopeDispose=L;exports.useAbsolutePath=ne;exports.useActiveColorTheme=N;exports.useActiveDebugSession=oe;exports.useActiveEditorDecorations=ie;exports.useActiveNotebookEditor=ae;exports.useActiveTerminal=se;exports.useActiveTextEditor=j;exports.useAllExtensions=ue;exports.useChatParticipant=re;exports.useCommand=K;exports.useCommands=ce;exports.useCommentController=le;exports.useControlledTerminal=de;exports.useDefaultShell=fe;exports.useDisposable=c;exports.useDocumentText=H;exports.useEditorDecorations=B;exports.useEvent=p;exports.useEventEmitter=C;exports.useExtensionSecret=ve;exports.useFetchTasks=we;exports.useFileUri=he;exports.useFoldingRangeProvider=ge;exports.useFsWatcher=me;exports.useIsDarkTheme=pe;exports.useIsTelemetryEnabled=be;exports.useL10nText=Ce;exports.useLmTools=Ve;exports.useLogLevel=De;exports.useLogger=Q;exports.useNotebookEditorSelection=Ee;exports.useNotebookEditorSelections=U;exports.useNotebookEditorVisibleRanges=xe;exports.useOpenedTerminals=Se;exports.useOutputChannel=q;exports.useQuickPick=Re;exports.useReactiveOptions=P;exports.useStatusBarItem=ke;exports.useTaskExecutions=ye;exports.useTerminal=Pe;exports.useTerminalState=O;exports.useTextEditorCommand=z;exports.useTextEditorCommands=Oe;exports.useTextEditorSelection=Ae;exports.useTextEditorSelections=Y;exports.useTextEditorViewColumn=Ie;exports.useTextEditorVisibleRanges=We;exports.useTreeView=Fe;exports.useViewBadge=A;exports.useViewTitle=E;exports.useViewVisibility=Le;exports.useVisibleNotebookEditors=Me;exports.useVisibleTextEditors=$e;exports.useVscodeContext=Ne;exports.useWebviewPanel=je;exports.useWebviewView=He;exports.useWindowState=Be;exports.useWorkspaceFolders=Ke;Object.keys(n).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>n[e]})});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@reactive-vscode/reactivity"),s=require("vscode");function L(e){return n.getCurrentScope()?(n.onScopeDispose(e),!0):!1}function D(e,t){const o=new Map;return(...i)=>{const a=t(...i);let r=o.get(a);return r?r.refCount++:(r={data:e(...i),refCount:1},o.set(a,r)),L(()=>{--r.refCount===0&&o.delete(a)}),r.data}}const R=[];function M(e){R.push(e)}function g(e){let t=!1,o=!1,i;return()=>{if(!o){if(t)throw new Error("Cannot call a singleton composable recursively.");try{t=!0;const a=n.effectScope(!0);M(()=>a.stop()),i=a.run(e),o=!0}finally{t=!1}}return i}}const b=n.shallowRef(null),T=n.effectScope();function J(e){return{activate:t=>(b.value=t,T.run(()=>(k.forEach(o=>o(t)),e(t)))),deactivate:async()=>{await Promise.allSettled(R.map(t=>t())),T.stop()}}}const k=[];function y(e){b.value?e(b.value):k.push(e)}function $(e,t,o){const i=!e,a=s.workspace.getConfiguration(i?void 0:e,o);function r(l,f){const d=n.shallowRef(f),w=n.computed({get:()=>d.value,set:v=>{d.value=v,a.update(l,v)}});return w.update=async(v,h,m)=>{await a.update(l,v,h,m),d.value=v},w.set=v=>{d.value=v},w}const u=Object.fromEntries(Object.keys(t).map(l=>[l,r(l,a.get(l))]));return y(()=>{c(s.workspace.onDidChangeConfiguration(i?l=>{const f=s.workspace.getConfiguration();for(const d in t)l.affectsConfiguration(d)&&u[d].set(f.get(d))}:l=>{if(!l.affectsConfiguration(e))return;const f=s.workspace.getConfiguration(e);for(const d in t)l.affectsConfiguration(`${e}.${d}`)&&u[d].set(f.get(d))}))}),u}function X(e,t,o){const i=$(e,t,o),a={},r=n.shallowReactive({$update(u,l,f,d){return i[u].update(l,f,d)},$set(u,l){return i[u].set(l)}});for(const u in t){const l=u.split(".");let f="",d=a,w=r;for(const h of l.slice(0,-1)){f=f?`${f}.${h}`:h;const m=d=d[h]||={};if(w[h])w=w[h];else{const I=n.shallowReactive({});Object.defineProperty(w,h,{enumerable:!0,get(){return I},set(G){function W(x,S,F){if(x)for(const V in x)W(x[V],S?`${S}.${V}`:V,F?.[V]);else i[S].value=F}W(m,f,G)}}),w=I}}const v=l[l.length-1];d[v]=null,Object.defineProperty(w,v,{enumerable:!0,get(){return i[u].value},set(h){i[u].value=h}})}return r}function Z(e,t){const o=n.shallowRef(null),i=[],a=r=>(...u)=>o.value?o.value[r](...u):(i.push([r,u]),null);return y(()=>{o.value=Q(e,t);for(const[r,u]of i)o.value[r](...u)}),{logger:o,outputChannel:n.computed(()=>o.value?.outputChannel),info:a("info"),warn:a("warn"),error:a("error"),append:a("append"),appendLine:a("appendLine"),replace:a("replace"),clear:a("clear"),show:a("show"),hide:a("hide")}}const _=g;function ee(e,...t){return s.commands.executeCommand(e,...t)}function te(e,t=!1){const o=b.value;if(!o&&!t)throw new Error("Cannot get absolute path because the extension is not activated yet");return o?.asAbsolutePath(e)}function ne(e,t=!1){return n.computed(()=>te(n.toValue(e),t))}function c(e){return(n.getCurrentScope()??T).cleanups.push(e.dispose.bind(e)),e}const N=g(()=>{const e=n.shallowRef(s.window.activeColorTheme);return c(s.window.onDidChangeActiveColorTheme(t=>{e.value=t})),e}),oe=g(()=>{const e=n.shallowRef(s.debug.activeDebugSession);return c(s.debug.onDidChangeActiveDebugSession(t=>{e.value=t})),n.computed(()=>e.value)}),j=g(()=>{const e=n.shallowRef(s.window.activeTextEditor);return c(s.window.onDidChangeActiveTextEditor(t=>{e.value=t})),e});function H(e){const t=n.shallowRef(n.toValue(e)?.getText());return n.watchEffect(()=>{t.value=n.toValue(e)?.getText()}),c(s.workspace.onDidChangeTextDocument(o=>{o.document===n.toValue(e)&&(t.value=o.document.getText())})),t}function B(e,t,o,i={}){const{updateOn:a=["effect","documentChanged"]}=i;let r;const u=n.computed(()=>{r?.dispose(),r=void 0;const d=n.toValue(t);if("key"in d)return d;const w=s.window.createTextEditorDecorationType(d);return r=c(w),w}),l=async()=>{const d=n.toValue(e);d&&d.setDecorations(u.value,typeof o=="function"?await o(d):n.toValue(o))},f=a.includes("documentChanged")?H(()=>n.toValue(e)?.document):null;return a.includes("effect")?n.watchEffect(async()=>{f?.value,await l()}):f&&n.watch(f,l),{update:l}}function ie(e,t,o={}){const i=j();return B(i,e,t,o)}const ae=g(()=>{const e=n.shallowRef(s.window.activeNotebookEditor);return c(s.window.onDidChangeActiveNotebookEditor(t=>{e.value=t})),e}),se=g(()=>{const e=n.shallowRef(s.window.activeTerminal);return c(s.window.onDidChangeActiveTerminal(t=>{e.value=t})),e}),ue=g(()=>{const e=n.shallowRef(s.extensions.all);return c(s.extensions.onDidChange(()=>{e.value=s.extensions.all})),n.computed(()=>e.value)});function p(e,t){const o=(i,a,r)=>{c(e(i,a,r))};return t?.forEach(i=>o(i)),o}function P(e,t,o){for(const i of o){const a=t[i];a!==void 0&&n.watchEffect(()=>{e[i]=n.toValue(a)})}}const re=D((e,t,o={})=>{const i=c(s.chat.createChatParticipant(e,n.unref(t)));return P(i,o,["iconPath"]),o.followupProvider!==void 0&&n.watchEffect(()=>{i.followupProvider=n.unref(o.followupProvider)}),n.watchEffect(()=>{i.requestHandler=n.unref(t)}),{onDidReceiveFeedback:p(i.onDidReceiveFeedback)}},e=>e);function K(e,t){c(s.commands.registerCommand(e,t))}function ce(e){for(const[t,o]of Object.entries(e))o&&K(t,o)}function le(e,t){return c(s.comments.createCommentController(e,t))}function O(e){const t=n.shallowRef(n.toValue(e)?.state);return n.watch(e,()=>{t.value=n.toValue(e)?.state}),c(s.window.onDidChangeTerminalState(o=>{o===n.toValue(e)&&(t.value=o.state)})),n.computed(()=>t.value)}function de(...e){const t=n.ref(null);function o(){return!!t.value&&t.value.exitStatus==null}function i(){return o()?t.value:t.value=s.window.createTerminal(...e)}function a(l){i().sendText(l)}function r(){i().show()}function u(){o()&&(t.value.sendText(""),t.value.dispose(),t.value=null)}return n.onScopeDispose(u),{terminal:t,getIsActive:o,show:r,sendText:a,close:u,state:O(t)}}const fe=g(()=>{const e=n.shallowRef(s.env.shell);return c(s.env.onDidChangeShell(t=>{e.value=t})),n.computed(()=>e.value)});function C(e,t=[]){const o=Array.isArray(e)?e:t??[],i=c(Array.isArray(e)||e==null?new s.EventEmitter:e),a=p(i.event,o);for(const r of o)a(r);return{event:i.event,fire:i.fire.bind(i),addListener:a}}async function ve(e){const t=b.value.secrets,o=n.ref(await t.get(e));return o.set=async i=>{o.value=i,await t.store(e,i)},o.remove=async()=>{o.value=void 0,await t.delete(e)},c(t.onDidChange(async i=>{i.key===e&&(o.value=await t.get(e))})),n.watch(o,i=>{i===void 0?t.delete(e):t.store(e,i)}),o}function we(e){return n.computed(()=>s.tasks.fetchTasks(n.toValue(e)))}function he(e){return n.computed(()=>s.Uri.file(n.toValue(e)))}function ge(e,t){const o=new s.EventEmitter,i=n.shallowRef();n.watchEffect(()=>{i.value&&o.fire(),i.value=n.toValue(t)}),c(s.languages.registerFoldingRangeProvider(e,{onDidChangeFoldingRanges:o.event,provideFoldingRanges(a,r,u){return i.value?.(a,r,u)}}))}function me(e,t,o,i){const a=n.shallowReactive(new Map),r=C(),u=C(),l=C(),f=n.computed(()=>{const v=n.toValue(e);return Array.isArray(v)?v:v instanceof Set?Array.from(v):[v]});function d(){const v=f.value;for(const[h,m]of a)v.includes(h)||(m.dispose(),a.delete(h));for(const h of v)if(!a.has(h)){const m=s.workspace.createFileSystemWatcher(h,n.toValue(t)||!1,n.toValue(o)||!1,n.toValue(i)||!1);m.onDidCreate(r.fire),m.onDidChange(u.fire),m.onDidDelete(l.fire),a.set(h,m)}}function w(){for(const v of a.values())v.dispose();a.clear()}return d(),n.watch(f,d),n.watch(()=>[n.toValue(t),n.toValue(o),n.toValue(i)],()=>{w(),d()}),n.onScopeDispose(w),{watchers:a,onDidCreate:r.event,onDidChange:u.event,onDidDelete:l.event}}const pe=g(()=>{const e=N();return n.computed(()=>e.value.kind===s.ColorThemeKind.Dark||e.value.kind===s.ColorThemeKind.HighContrast)}),be=g(()=>{const e=n.shallowRef(s.env.isTelemetryEnabled);return c(s.env.onDidChangeTelemetryEnabled(t=>{e.value=t})),n.computed(()=>e.value)});function Ce(e,...t){return n.computed(()=>typeof t[0]=="object"?s.l10n.t(n.toValue(e),n.toRaw(t[0])):s.l10n.t(n.toValue(e),...t.map(n.toValue)))}const Ve=g(()=>{const e=n.shallowRef(s.lm.tools);return c(s.lm.onDidChangeChatModels(()=>{e.value=s.lm.tools})),n.computed(()=>e.value)});function q(e,t){return c(s.window.createOutputChannel(e,t))}function Te(e){const t=new Date,o=String(t.getFullYear()).padStart(4,"0"),i=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),r=String(t.getHours()).padStart(2,"0"),u=String(t.getMinutes()).padStart(2,"0"),l=String(t.getSeconds()).padStart(2,"0"),f=String(t.getMilliseconds()).padStart(3,"0");return`${o}-${i}-${a} ${r}:${u}:${l}.${f} [${e}] `}function Q(e,t={}){const o=t.outputChannel??q(e,{log:!0}),i=t.toConsole??["error","warn"],a=r=>(...u)=>{o.appendLine((t.getPrefix?.(r)??"")+u.join(" ")),i.includes(r)&&console[r](...u)};return{outputChannel:o,createLoggerFunc:a,info:a("info"),warn:a("warn"),error:a("error"),append:o.append.bind(o),appendLine:o.appendLine.bind(o),replace:o.replace.bind(o),clear:o.clear.bind(o),show:o.show.bind(o),hide:o.hide.bind(o)}}const De=g(()=>{const e=n.shallowRef(s.env.logLevel);return c(s.env.onDidChangeLogLevel(t=>{e.value=t})),n.computed(()=>e.value)});function U(e){const t=n.shallowRef(n.toValue(e)?.selections??[]);return n.watch(e,()=>{t.value=n.toValue(e)?.selections??[]}),c(s.window.onDidChangeNotebookEditorSelection(o=>{o.notebookEditor===n.toValue(e)&&(t.value=o.selections)})),n.computed({get(){return t.value},set(o){t.value=o;const i=n.toValue(e);i&&(i.selections=o)}})}function Ee(e){const t=U(e);return n.computed({get(){return t.value[0]},set(o){t.value=t.value.toSpliced(0,1,o)}})}function xe(e){const t=n.shallowRef(n.toValue(e)?.visibleRanges??[]);return n.watch(e,()=>{t.value=n.toValue(e)?.visibleRanges??[]}),c(s.window.onDidChangeNotebookEditorVisibleRanges(o=>{o.notebookEditor===n.toValue(e)&&(t.value=o.visibleRanges)})),n.computed(()=>t.value)}const Se=g(()=>{const e=n.shallowRef(s.window.terminals);function t(){e.value=s.window.terminals}return c(s.window.onDidOpenTerminal(t)),c(s.window.onDidCloseTerminal(t)),e});function Re(e={}){const t=c(s.window.createQuickPick()),o=p(t.onDidChangeActive),i=p(t.onDidChangeSelection),a=p(t.onDidAccept),r=p(t.onDidHide),u=p(t.onDidTriggerButton),l=p(t.onDidChangeValue);["items","buttons","title","step","totalSteps","enabled","busy","ignoreFocusOut","placeholder","canSelectMany","matchOnDescription","matchOnDetail","keepScrollPosition"].forEach(v=>{e[v]&&n.watchEffect(()=>t[v]=n.toValue(e[v]))}),e.value&&(t.value=e.value);const f=n.shallowRef(t.value);l(v=>f.value=v),e.activeItems&&(t.activeItems=e.activeItems);const d=n.shallowRef(t.activeItems);o(v=>d.value=v),e.selectedItems&&(t.selectedItems=e.selectedItems);const w=n.shallowRef(t.selectedItems);return i(v=>w.value=v),{...t,onDidChangeActive:o,onDidChangeSelection:i,onDidAccept:a,onDidHide:r,onDidTriggerButton:u,onDidChangeValue:l,value:f,activeItems:d,selectedItems:w}}function ke(e){const t=c(e.id?s.window.createStatusBarItem(e.id,e.alignment,e.priority):s.window.createStatusBarItem(e.alignment,e.priority));return P(t,e,["name","text","tooltip","color","backgroundColor","command","accessibilityInformation"]),e.visible!=null?n.watchEffect(()=>{n.toValue(e.visible)?t.show():t.hide()}):t.show(),t}const ye=g(()=>{const e=n.shallowRef(s.tasks.taskExecutions);function t(){e.value=s.tasks.taskExecutions}return c(s.tasks.onDidStartTask(t)),c(s.tasks.onDidEndTask(t)),n.computed(()=>e.value)});function Pe(...e){const t=c(s.window.createTerminal(...e));return{terminal:t,get name(){return t.name},get processId(){return t.processId},get creationOptions(){return t.creationOptions},get exitStatus(){return t.exitStatus},get shellIntegration(){return t.shellIntegration},sendText:t.sendText.bind(t),show:t.show.bind(t),hide:t.hide.bind(t),state:O(t)}}function z(e,t){c(s.commands.registerTextEditorCommand(e,t))}function Oe(e){for(const[t,o]of Object.entries(e))z(t,o)}function Y(e,t){const o=n.shallowRef(n.toValue(e)?.selections??[]);return n.watch(e,()=>{o.value=n.toValue(e)?.selections??[]}),c(s.window.onDidChangeTextEditorSelection(i=>{const a=n.toValue(e),r=n.toValue(t);i.textEditor===a&&(!r||r.includes(i.kind))&&(o.value=i.selections)})),n.computed({get(){return o.value},set(i){o.value=i;const a=n.toValue(e);a&&(a.selections=i)}})}function Ae(e,t){const o=Y(e,t);return n.computed({get(){return o.value[0]},set(i){o.value=o.value.toSpliced(0,1,i)}})}function Ie(e){const t=n.shallowRef(n.toValue(e)?.viewColumn);return n.watch(e,()=>{t.value=n.toValue(e)?.viewColumn}),c(s.window.onDidChangeTextEditorViewColumn(o=>{o.textEditor===n.toValue(e)&&(t.value=o.viewColumn)})),n.computed(()=>t.value)}function We(e){const t=n.shallowRef(n.toValue(e)?.visibleRanges??[]);return n.watch(e,()=>{t.value=n.toValue(e)?.visibleRanges??[]}),c(s.window.onDidChangeTextEditorVisibleRanges(o=>{o.textEditor===n.toValue(e)&&(t.value=o.visibleRanges)})),n.computed(()=>t.value)}function A(e,t){n.watchEffect(()=>{const o=n.toValue(e);o&&(o.badge=n.toValue(t))})}function E(e,t){n.watchEffect(()=>{const o=n.toValue(e);o&&(o.title=n.toValue(t))})}const Fe=D((e,t,o)=>{const i=C();n.watch(t,()=>i.fire()),o?.watchSource&&n.watch(o.watchSource,()=>i.fire());const a=new WeakMap,r=c(s.window.createTreeView(e,{...o,treeDataProvider:{...o,onDidChangeTreeData:i.event,getTreeItem(u){return u.treeItem},async getChildren(u){if(u){const l=await u.children;return l?.forEach(f=>a.set(f,u)),l}return n.toValue(t)},getParent(u){return a.get(u)}}}));return o?.title&&E(r,o.title),o?.badge&&A(r,o.badge),r},e=>e);function Le(e){const t=n.ref(n.toValue(e)?.visible);function o(){t.value=n.toValue(e)?.visible}return n.watchEffect(i=>{const a=n.toValue(e);if(a){const r=a.onDidChangeVisibility(o);i(()=>r.dispose())}}),n.watchEffect(o),n.computed(()=>!!t.value)}const Me=g(()=>{const e=n.shallowRef(s.window.visibleNotebookEditors);return c(s.window.onDidChangeVisibleNotebookEditors(t=>{e.value=t})),e}),$e=g(()=>{const e=n.shallowRef(s.window.visibleTextEditors);return c(s.window.onDidChangeVisibleTextEditors(t=>{e.value=t})),e});function Ne(e,t,o=!0){const i=n.isRef(t)?t:typeof t=="function"?n.computed(t):n.ref(t);return n.watchEffect(()=>{n.toValue(o)&&s.commands.executeCommand("setContext",e,i.value)}),i}function je(e,t,o,i,a){const r=n.shallowRef(),u=c(s.window.createWebviewPanel(e,n.toValue(t),i,{enableFindWidget:a?.enableFindWidget,retainContextWhenHidden:a?.retainContextWhenHidden,...n.toValue(a?.webviewOptions)}));a?.onDidReceiveMessage&&u.webview.onDidReceiveMessage(a.onDidReceiveMessage);const l=n.ref(0);function f(){l.value++}if(n.watchEffect(()=>{u.webview.html=`${n.toValue(o)}<!--${l.value}-->`}),a?.webviewOptions){const h=a.webviewOptions;n.watchEffect(()=>{u.webview.options=n.toValue(h)})}E(u,t);function d(h){return u.webview.postMessage(h)}const w=n.ref(u.active),v=n.ref(u.visible);return c(u.onDidChangeViewState(()=>{w.value=u.active,v.value=u.visible})),{panel:u,context:r,active:w,visible:v,postMessage:d,forceRefresh:f}}const He=D((e,t,o)=>{const i=n.shallowRef(),a=n.shallowRef();c(s.window.registerWebviewViewProvider(e,{resolveWebviewView(f,d){i.value=f,a.value=d,o?.onDidReceiveMessage&&f.webview.onDidReceiveMessage(o.onDidReceiveMessage)}},{webviewOptions:{retainContextWhenHidden:o?.retainContextWhenHidden}}));const r=n.ref(0);function u(){r.value++}if(n.watchEffect(()=>{i.value&&(i.value.webview.html=`${n.toValue(t)}<!--${r.value}-->`)}),o?.webviewOptions){const f=o.webviewOptions;n.watchEffect(()=>{i.value&&(i.value.webview.options=n.toValue(f))})}o?.title&&E(i,o.title),o?.badge&&A(i,o.badge);function l(f){return i.value?.webview.postMessage(f)}return{view:i,context:a,postMessage:l,forceRefresh:u}},e=>e),Be=g(()=>{const e=n.shallowRef(s.window.state);return c(s.window.onDidChangeWindowState(t=>{e.value=t})),{focused:n.computed(()=>e.value.focused),active:n.computed(()=>e.value.active)}}),Ke=g(()=>{const e=n.shallowRef(s.workspace.workspaceFolders);return c(s.workspace.onDidChangeWorkspaceFolders(()=>{e.value=s.workspace.workspaceFolders})),n.computed(()=>e.value)});exports.activateCbs=k;exports.createKeyedComposable=D;exports.createSingletonComposable=g;exports.deactivateCbs=R;exports.defineConfigObject=X;exports.defineConfigs=$;exports.defineExtension=J;exports.defineLogger=Z;exports.defineService=_;exports.executeCommand=ee;exports.extensionContext=b;exports.extensionScope=T;exports.getDefaultLoggerPrefix=Te;exports.onActivate=y;exports.onDeactivate=M;exports.tryOnScopeDispose=L;exports.useAbsolutePath=ne;exports.useActiveColorTheme=N;exports.useActiveDebugSession=oe;exports.useActiveEditorDecorations=ie;exports.useActiveNotebookEditor=ae;exports.useActiveTerminal=se;exports.useActiveTextEditor=j;exports.useAllExtensions=ue;exports.useChatParticipant=re;exports.useCommand=K;exports.useCommands=ce;exports.useCommentController=le;exports.useControlledTerminal=de;exports.useDefaultShell=fe;exports.useDisposable=c;exports.useDocumentText=H;exports.useEditorDecorations=B;exports.useEvent=p;exports.useEventEmitter=C;exports.useExtensionSecret=ve;exports.useFetchTasks=we;exports.useFileUri=he;exports.useFoldingRangeProvider=ge;exports.useFsWatcher=me;exports.useIsDarkTheme=pe;exports.useIsTelemetryEnabled=be;exports.useL10nText=Ce;exports.useLmTools=Ve;exports.useLogLevel=De;exports.useLogger=Q;exports.useNotebookEditorSelection=Ee;exports.useNotebookEditorSelections=U;exports.useNotebookEditorVisibleRanges=xe;exports.useOpenedTerminals=Se;exports.useOutputChannel=q;exports.useQuickPick=Re;exports.useReactiveOptions=P;exports.useStatusBarItem=ke;exports.useTaskExecutions=ye;exports.useTerminal=Pe;exports.useTerminalState=O;exports.useTextEditorCommand=z;exports.useTextEditorCommands=Oe;exports.useTextEditorSelection=Ae;exports.useTextEditorSelections=Y;exports.useTextEditorViewColumn=Ie;exports.useTextEditorVisibleRanges=We;exports.useTreeView=Fe;exports.useViewBadge=A;exports.useViewTitle=E;exports.useViewVisibility=Le;exports.useVisibleNotebookEditors=Me;exports.useVisibleTextEditors=$e;exports.useVscodeContext=Ne;exports.useWebviewPanel=je;exports.useWebviewView=He;exports.useWindowState=Be;exports.useWorkspaceFolders=Ke;Object.keys(n).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>n[e]})});
package/dist/index.d.ts CHANGED
@@ -164,7 +164,7 @@ export declare function defineConfigs<C extends object>(section: Nullable<string
164
164
  */
165
165
  export declare function defineExtension<T>(setup: (context: ExtensionContext) => T): {
166
166
  activate: (context: ExtensionContext) => T | undefined;
167
- deactivate: () => void;
167
+ deactivate: () => Promise<void>;
168
168
  };
169
169
 
170
170
  /**
@@ -258,7 +258,7 @@ declare type OnActivateCb = (context: ExtensionContext) => void;
258
258
  */
259
259
  export declare function onDeactivate(fn: OnDeactivateCb): void;
260
260
 
261
- declare type OnDeactivateCb = () => void;
261
+ declare type OnDeactivateCb = () => Awaitable<void>;
262
262
 
263
263
  declare type ParseConfigType<C extends ConfigTypeRaw<any>> = C extends (infer C1)[] ? (C1 extends ConfigTypeSingle<any> ? ParseConfigType<C1> : never) : C extends ConfigType<infer T> ? T : (C extends typeof String ? string : C extends typeof Number ? number : C extends typeof Boolean ? boolean : C extends typeof Array ? any[] : C extends typeof Object ? Record<string | number, any> : C extends null ? null : never);
264
264
 
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@ const J = [];
21
21
  function le(e) {
22
22
  J.push(e);
23
23
  }
24
- function b(e) {
24
+ function p(e) {
25
25
  let t = !1, n = !1, o;
26
26
  return () => {
27
27
  if (!n) {
@@ -41,9 +41,9 @@ function b(e) {
41
41
  const k = g(null), M = Y();
42
42
  function Ee(e) {
43
43
  return {
44
- activate: (t) => (k.value = t, M.run(() => (X.map((n) => n(t)), e(t)))),
45
- deactivate: () => {
46
- J.map((t) => t()), M.stop();
44
+ activate: (t) => (k.value = t, M.run(() => (X.forEach((n) => n(t)), e(t)))),
45
+ deactivate: async () => {
46
+ await Promise.allSettled(J.map((t) => t())), M.stop();
47
47
  }
48
48
  };
49
49
  }
@@ -60,8 +60,8 @@ function de(e, t, n) {
60
60
  l.value = f, i.update(u, f);
61
61
  }
62
62
  });
63
- return m.update = async (f, p, D) => {
64
- await i.update(u, f, p, D), l.value = f;
63
+ return m.update = async (f, b, D) => {
64
+ await i.update(u, f, b, D), l.value = f;
65
65
  }, m.set = (f) => {
66
66
  l.value = f;
67
67
  }, m;
@@ -97,14 +97,14 @@ function ye(e, t, n) {
97
97
  for (const s in t) {
98
98
  const u = s.split(".");
99
99
  let d = "", l = i, m = r;
100
- for (const p of u.slice(0, -1)) {
101
- d = d ? `${d}.${p}` : p;
102
- const D = l = l[p] ||= {};
103
- if (m[p])
104
- m = m[p];
100
+ for (const b of u.slice(0, -1)) {
101
+ d = d ? `${d}.${b}` : b;
102
+ const D = l = l[b] ||= {};
103
+ if (m[b])
104
+ m = m[b];
105
105
  else {
106
106
  const H = $({});
107
- Object.defineProperty(m, p, {
107
+ Object.defineProperty(m, b, {
108
108
  enumerable: !0,
109
109
  get() {
110
110
  return H;
@@ -128,8 +128,8 @@ function ye(e, t, n) {
128
128
  get() {
129
129
  return o[s].value;
130
130
  },
131
- set(p) {
132
- o[s].value = p;
131
+ set(b) {
132
+ o[s].value = b;
133
133
  }
134
134
  });
135
135
  }
@@ -155,7 +155,7 @@ function ke(e, t) {
155
155
  hide: i("hide")
156
156
  };
157
157
  }
158
- const Re = b;
158
+ const Re = p;
159
159
  function Pe(e, ...t) {
160
160
  return V.executeCommand(e, ...t);
161
161
  }
@@ -171,17 +171,17 @@ function Ve(e, t = !1) {
171
171
  function c(e) {
172
172
  return (U() ?? M).cleanups.push(e.dispose.bind(e)), e;
173
173
  }
174
- const ve = b(() => {
174
+ const ve = p(() => {
175
175
  const e = g(v.activeColorTheme);
176
176
  return c(v.onDidChangeActiveColorTheme((t) => {
177
177
  e.value = t;
178
178
  })), e;
179
- }), Ae = b(() => {
179
+ }), Ae = p(() => {
180
180
  const e = g(q.activeDebugSession);
181
181
  return c(q.onDidChangeActiveDebugSession((t) => {
182
182
  e.value = t;
183
183
  })), h(() => e.value);
184
- }), ge = b(() => {
184
+ }), ge = p(() => {
185
185
  const e = g(v.activeTextEditor);
186
186
  return c(v.onDidChangeActiveTextEditor((t) => {
187
187
  e.value = t;
@@ -229,17 +229,17 @@ function Oe(e, t, n = {}) {
229
229
  const o = ge();
230
230
  return me(o, e, t, n);
231
231
  }
232
- const Ie = b(() => {
232
+ const Ie = p(() => {
233
233
  const e = g(v.activeNotebookEditor);
234
234
  return c(v.onDidChangeActiveNotebookEditor((t) => {
235
235
  e.value = t;
236
236
  })), e;
237
- }), We = b(() => {
237
+ }), We = p(() => {
238
238
  const e = g(v.activeTerminal);
239
239
  return c(v.onDidChangeActiveTerminal((t) => {
240
240
  e.value = t;
241
241
  })), e;
242
- }), Fe = b(() => {
242
+ }), Fe = p(() => {
243
243
  const e = g(W.all);
244
244
  return c(W.onDidChange(() => {
245
245
  e.value = W.all;
@@ -271,12 +271,12 @@ const $e = N((e, t, n = {}) => {
271
271
  onDidReceiveFeedback: x(o.onDidReceiveFeedback)
272
272
  };
273
273
  }, (e) => e);
274
- function pe(e, t) {
274
+ function be(e, t) {
275
275
  c(V.registerCommand(e, t));
276
276
  }
277
277
  function Me(e) {
278
278
  for (const [t, n] of Object.entries(e))
279
- n && pe(t, n);
279
+ n && be(t, n);
280
280
  }
281
281
  function Le(e, t) {
282
282
  return c(se.createCommentController(e, t));
@@ -315,7 +315,7 @@ function Ne(...e) {
315
315
  state: ee(t)
316
316
  };
317
317
  }
318
- const je = b(() => {
318
+ const je = p(() => {
319
319
  const e = g(E.shell);
320
320
  return c(E.onDidChangeShell((t) => {
321
321
  e.value = t;
@@ -370,17 +370,17 @@ function ze(e, t, n, o) {
370
370
  });
371
371
  function l() {
372
372
  const f = d.value;
373
- for (const [p, D] of i)
374
- f.includes(p) || (D.dispose(), i.delete(p));
375
- for (const p of f)
376
- if (!i.has(p)) {
373
+ for (const [b, D] of i)
374
+ f.includes(b) || (D.dispose(), i.delete(b));
375
+ for (const b of f)
376
+ if (!i.has(b)) {
377
377
  const D = T.createFileSystemWatcher(
378
- p,
378
+ b,
379
379
  a(t) || !1,
380
380
  a(n) || !1,
381
381
  a(o) || !1
382
382
  );
383
- D.onDidCreate(r.fire), D.onDidChange(s.fire), D.onDidDelete(u.fire), i.set(p, D);
383
+ D.onDidCreate(r.fire), D.onDidChange(s.fire), D.onDidDelete(u.fire), i.set(b, D);
384
384
  }
385
385
  }
386
386
  function m() {
@@ -404,10 +404,10 @@ function ze(e, t, n, o) {
404
404
  onDidDelete: u.event
405
405
  };
406
406
  }
407
- const Qe = b(() => {
407
+ const Qe = p(() => {
408
408
  const e = ve();
409
409
  return h(() => e.value.kind === z.Dark || e.value.kind === z.HighContrast);
410
- }), Ue = b(() => {
410
+ }), Ue = p(() => {
411
411
  const e = g(E.isTelemetryEnabled);
412
412
  return c(E.onDidChangeTelemetryEnabled((t) => {
413
413
  e.value = t;
@@ -416,13 +416,13 @@ const Qe = b(() => {
416
416
  function Ye(e, ...t) {
417
417
  return h(() => typeof t[0] == "object" ? Q.t(a(e), oe(t[0])) : Q.t(a(e), ...t.map(a)));
418
418
  }
419
- const Ge = b(() => {
419
+ const Ge = p(() => {
420
420
  const e = g(F.tools);
421
421
  return c(F.onDidChangeChatModels(() => {
422
422
  e.value = F.tools;
423
423
  })), h(() => e.value);
424
424
  });
425
- function be(e, t) {
425
+ function pe(e, t) {
426
426
  return c(v.createOutputChannel(e, t));
427
427
  }
428
428
  function Je(e) {
@@ -430,7 +430,7 @@ function Je(e) {
430
430
  return `${n}-${o}-${i} ${r}:${s}:${u}.${d} [${e}] `;
431
431
  }
432
432
  function we(e, t = {}) {
433
- const n = t.outputChannel ?? be(e, { log: !0 }), o = t.toConsole ?? ["error", "warn"], i = (r) => (...s) => {
433
+ const n = t.outputChannel ?? pe(e, { log: !0 }), o = t.toConsole ?? ["error", "warn"], i = (r) => (...s) => {
434
434
  n.appendLine((t.getPrefix?.(r) ?? "") + s.join(" ")), o.includes(r) && console[r](...s);
435
435
  };
436
436
  return {
@@ -447,7 +447,7 @@ function we(e, t = {}) {
447
447
  hide: n.hide.bind(n)
448
448
  };
449
449
  }
450
- const Xe = b(() => {
450
+ const Xe = p(() => {
451
451
  const e = g(E.logLevel);
452
452
  return c(E.onDidChangeLogLevel((t) => {
453
453
  e.value = t;
@@ -489,7 +489,7 @@ function _e(e) {
489
489
  n.notebookEditor === a(e) && (t.value = n.visibleRanges);
490
490
  })), h(() => t.value);
491
491
  }
492
- const et = b(() => {
492
+ const et = p(() => {
493
493
  const e = g(v.terminals);
494
494
  function t() {
495
495
  e.value = v.terminals;
@@ -547,7 +547,7 @@ function nt(e) {
547
547
  a(e.visible) ? t.show() : t.hide();
548
548
  }) : t.show(), t;
549
549
  }
550
- const ot = b(() => {
550
+ const ot = p(() => {
551
551
  const e = g(y.taskExecutions);
552
552
  function t() {
553
553
  e.value = y.taskExecutions;
@@ -684,12 +684,12 @@ function lt(e) {
684
684
  }
685
685
  }), w(n), h(() => !!t.value);
686
686
  }
687
- const dt = b(() => {
687
+ const dt = p(() => {
688
688
  const e = g(v.visibleNotebookEditors);
689
689
  return c(v.onDidChangeVisibleNotebookEditors((t) => {
690
690
  e.value = t;
691
691
  })), e;
692
- }), ft = b(() => {
692
+ }), ft = p(() => {
693
693
  const e = g(v.visibleTextEditors);
694
694
  return c(v.onDidChangeVisibleTextEditors((t) => {
695
695
  e.value = t;
@@ -720,14 +720,14 @@ function gt(e, t, n, o, i) {
720
720
  if (w(() => {
721
721
  s.webview.html = `${a(n)}<!--${u.value}-->`;
722
722
  }), i?.webviewOptions) {
723
- const p = i.webviewOptions;
723
+ const b = i.webviewOptions;
724
724
  w(() => {
725
- s.webview.options = a(p);
725
+ s.webview.options = a(b);
726
726
  });
727
727
  }
728
728
  j(s, t);
729
- function l(p) {
730
- return s.webview.postMessage(p);
729
+ function l(b) {
730
+ return s.webview.postMessage(b);
731
731
  }
732
732
  const m = S(s.active), f = S(s.visible);
733
733
  return c(s.onDidChangeViewState(() => {
@@ -769,7 +769,7 @@ const ht = N(
769
769
  return { view: o, context: i, postMessage: u, forceRefresh: s };
770
770
  },
771
771
  (e) => e
772
- ), mt = b(() => {
772
+ ), mt = p(() => {
773
773
  const e = g(v.state);
774
774
  return c(v.onDidChangeWindowState((t) => {
775
775
  e.value = t;
@@ -777,7 +777,7 @@ const ht = N(
777
777
  focused: h(() => e.value.focused),
778
778
  active: h(() => e.value.active)
779
779
  };
780
- }), pt = b(() => {
780
+ }), bt = p(() => {
781
781
  const e = g(T.workspaceFolders);
782
782
  return c(T.onDidChangeWorkspaceFolders(() => {
783
783
  e.value = T.workspaceFolders;
@@ -786,7 +786,7 @@ const ht = N(
786
786
  export {
787
787
  X as activateCbs,
788
788
  N as createKeyedComposable,
789
- b as createSingletonComposable,
789
+ p as createSingletonComposable,
790
790
  J as deactivateCbs,
791
791
  ye as defineConfigObject,
792
792
  de as defineConfigs,
@@ -809,7 +809,7 @@ export {
809
809
  ge as useActiveTextEditor,
810
810
  Fe as useAllExtensions,
811
811
  $e as useChatParticipant,
812
- pe as useCommand,
812
+ be as useCommand,
813
813
  Me as useCommands,
814
814
  Le as useCommentController,
815
815
  Ne as useControlledTerminal,
@@ -834,7 +834,7 @@ export {
834
834
  Ce as useNotebookEditorSelections,
835
835
  _e as useNotebookEditorVisibleRanges,
836
836
  et as useOpenedTerminals,
837
- be as useOutputChannel,
837
+ pe as useOutputChannel,
838
838
  tt as useQuickPick,
839
839
  _ as useReactiveOptions,
840
840
  nt as useStatusBarItem,
@@ -857,5 +857,5 @@ export {
857
857
  gt as useWebviewPanel,
858
858
  ht as useWebviewView,
859
859
  mt as useWindowState,
860
- pt as useWorkspaceFolders
860
+ bt as useWorkspaceFolders
861
861
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "reactive-vscode",
3
3
  "type": "module",
4
- "version": "0.4.0",
4
+ "version": "0.4.1",
5
5
  "description": "Develop VSCode extension with Vue Reactivity API",
6
6
  "author": "_Kerman <kermanx@qq.com>",
7
7
  "license": "MIT",
@@ -38,13 +38,13 @@
38
38
  "@types/vscode": "^1.101.0"
39
39
  },
40
40
  "dependencies": {
41
- "@reactive-vscode/reactivity": "0.4.0"
41
+ "@reactive-vscode/reactivity": "0.4.1"
42
42
  },
43
43
  "devDependencies": {
44
- "@types/node": "^24.6.2",
45
- "@types/vscode": "^1.104.0",
44
+ "@types/node": "^24.9.2",
45
+ "@types/vscode": "^1.105.0",
46
46
  "typescript": "^5.9.3",
47
- "vite": "^7.1.8",
47
+ "vite": "^7.1.12",
48
48
  "vite-plugin-dts": "^4.5.4"
49
49
  },
50
50
  "scripts": {