Zeioth/markmap.nvim

uv.spawn shows sub-process window on Windows

Closed this issue · 6 comments

uv.spawn shows sub-process window on Windows

@MarcoBuess Try to set detached = false on uv.spawn() and report back please.

In case that doesn't do the trick, you can see the docs here uv.spawn.

I already played with uv.spawn but hidden = true didn't have any effect.

@MarcoBuess According to chatgpt, doing:

uv.spawn("command_to_run", {
  stdio = {nil, nil, nil} -- or stdio = {"ignore", "ignore", "ignore"}
}

Will prevent a windows terminal window from spawning, could you try?

Otherwise, using powershell instead on the default windows terminal (which is cmd) might do the trick too.

@Zeioth So this actually did nothing:

uv.spawn("command_to_run", {
  stdio = {nil, nil, nil} -- or stdio = {"ignore", "ignore", "ignore"}
}

but setting detatch = false at least doesn't show a window. I don't know if that is what you want afterall though. If it is fine with you I'll submit a PR. Seems like on linux this stuff gets auto redirected to /dev/null.

Then detatch = false solve the issue you describe in the title right? Thank, you for confirming, I'll release a new version with the fix in a couple hours then.

I think the issue is while on Linux you can create daemons normally (processes running on background). On Windows that's not the case, you need to register a service, which is a not so straightforward process. So the easiest way is to use detatch = false to make markmap run as a subprocess of Neovim.

I originally used detatch = true as a hypothetical very minor performance improvement I wanted to try, but it is not actually necessary.

@Zeioth PR is already in. 😄