Skip to content

Commit 9b02ce1

Browse files
committed
fix: make createTabPane async
1 parent 69ac946 commit 9b02ce1

File tree

3 files changed

+9
-7
lines changed

3 files changed

+9
-7
lines changed

addons/launcher/src/renderer/launcher.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ export async function openLauncher(launcher: Launcher, options: OpenLauncherOpti
9090
const character = getTerminalTabCharacterByLauncher(launcher)
9191
const pane = launcher.pane ? commas.workspace.getPane(launcher.pane) : undefined
9292
if (pane) {
93-
const paneTab = commas.workspace.createPaneTab(pane, {
93+
const paneTab = await commas.workspace.createPaneTab(pane, {
9494
...profile,
9595
command: launcher.command,
9696
character,

src/api/modules/workspace.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ function registerTabPane(this: RendererAPIContext, name: string, pane: TerminalT
3535
if (pane.volatile) {
3636
const generateID = this.$.helper.createIDGenerator()
3737
const factory = pane.factory
38-
pane.factory = info => ({
38+
pane.factory = async info => ({
3939
pid: Number(generateID()),
40-
...factory?.(info),
40+
...await factory?.(info),
4141
})
4242
}
4343
this.$.app.onInvalidate(() => {
@@ -55,14 +55,14 @@ function getTerminalTabByPane(pane: TerminalTabPane, info: Partial<TerminalTab>
5555

5656
export type PaneTabInfo = Pick<TerminalTab, 'command' | 'process' | 'cwd' | 'shell' | 'character'>
5757

58-
function createPaneTab(pane: TerminalTabPane, info?: Partial<PaneTabInfo>) {
58+
async function createPaneTab(pane: TerminalTabPane, info?: Partial<PaneTabInfo>) {
5959
return reactive({
6060
pid: 0,
6161
process: pane.name,
6262
title: '',
6363
cwd: '',
6464
...info,
65-
...pane.factory?.(info),
65+
...await pane.factory?.(info),
6666
pane: markRaw(pane),
6767
} as TerminalTab)
6868
}
@@ -77,7 +77,7 @@ async function openPaneTab(name: string, info?: Partial<PaneTabInfo>) {
7777
return tab
7878
}
7979
}
80-
const paneTab = createPaneTab(pane, info)
80+
const paneTab = await createPaneTab(pane, info)
8181
await activateOrAddTerminalTab(paneTab)
8282
return paneTab
8383
}

src/types/terminal.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ export interface TerminalTabPane {
2222
save?: () => void,
2323
},
2424
volatile?: boolean,
25-
factory?: (info?: Partial<TerminalTab>) => Partial<TerminalTab> | undefined,
25+
factory?: (
26+
info?: Partial<TerminalTab>
27+
) => Partial<TerminalTab> | undefined | Promise<Partial<TerminalTab> | undefined>,
2628
}
2729

2830
export interface TerminalTabCharacter {

0 commit comments

Comments
 (0)