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 +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +50 -50
- package/package.json +5 -5
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
|
|
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.
|
|
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,
|
|
64
|
-
await i.update(u, 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
|
|
101
|
-
d = d ? `${d}.${
|
|
102
|
-
const D = l = l[
|
|
103
|
-
if (m[
|
|
104
|
-
m = m[
|
|
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,
|
|
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(
|
|
132
|
-
o[s].value =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 &&
|
|
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 =
|
|
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 [
|
|
374
|
-
f.includes(
|
|
375
|
-
for (const
|
|
376
|
-
if (!i.has(
|
|
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
|
-
|
|
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(
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 ??
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
723
|
+
const b = i.webviewOptions;
|
|
724
724
|
w(() => {
|
|
725
|
-
s.webview.options = a(
|
|
725
|
+
s.webview.options = a(b);
|
|
726
726
|
});
|
|
727
727
|
}
|
|
728
728
|
j(s, t);
|
|
729
|
-
function l(
|
|
730
|
-
return s.webview.postMessage(
|
|
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 =
|
|
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
|
-
}),
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
41
|
+
"@reactive-vscode/reactivity": "0.4.1"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@types/node": "^24.
|
|
45
|
-
"@types/vscode": "^1.
|
|
44
|
+
"@types/node": "^24.9.2",
|
|
45
|
+
"@types/vscode": "^1.105.0",
|
|
46
46
|
"typescript": "^5.9.3",
|
|
47
|
-
"vite": "^7.1.
|
|
47
|
+
"vite": "^7.1.12",
|
|
48
48
|
"vite-plugin-dts": "^4.5.4"
|
|
49
49
|
},
|
|
50
50
|
"scripts": {
|