fix(tui): fall back to local cwd when editor spawns in attach mode (#30583)
This commit is contained in:
parent
a468680965
commit
dc985ff881
1 changed files with 6 additions and 1 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import { defer } from "@/util/defer"
|
||||
import { existsSync } from "node:fs"
|
||||
import { rm } from "node:fs/promises"
|
||||
import { tmpdir } from "node:os"
|
||||
import { join } from "node:path"
|
||||
|
|
@ -13,13 +14,17 @@ export async function open(opts: { value: string; renderer: CliRenderer; cwd?: s
|
|||
const filepath = join(tmpdir(), `${Date.now()}.md`)
|
||||
await using _ = defer(async () => rm(filepath, { force: true }))
|
||||
|
||||
// In attach mode the server's project directory may not exist locally.
|
||||
// Fall back to the local process cwd so the editor can still spawn.
|
||||
const cwd = opts.cwd && existsSync(opts.cwd) ? opts.cwd : process.cwd()
|
||||
|
||||
await Filesystem.write(filepath, opts.value)
|
||||
opts.renderer.suspend()
|
||||
opts.renderer.currentRenderBuffer.clear()
|
||||
try {
|
||||
const parts = editor.split(" ")
|
||||
const proc = Process.spawn([...parts, filepath], {
|
||||
cwd: opts.cwd,
|
||||
cwd,
|
||||
stdin: "inherit",
|
||||
stdout: "inherit",
|
||||
stderr: "inherit",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue