mirror of
https://github.com/neovim/neovim.git
synced 2026-02-19 09:58:32 +00:00
fix(terminal): resuming doesn't work with command in fish (#37857)
Problem: Resuming terminal process doesn't work with command in fish. Solution: Send SIGCONT to the entire process group. Use killpg() like what bash and zsh do on `fg`: https://cgit.git.savannah.gnu.org/cgit/bash.git/tree/jobs.c?id=637f5c8696a6adc9b4519f1cd74aa78492266b7f#n392877045ef899/tree/Src/jobs.c (l2674)77045ef899/tree/Src/signals.c (l538)Install fish on CI to test this.
This commit is contained in:
@@ -24,6 +24,7 @@ local eval = n.eval
|
||||
local command = n.command
|
||||
local write_file = t.write_file
|
||||
local api = n.api
|
||||
local fn = n.fn
|
||||
local sleep = vim.uv.sleep
|
||||
local assert_alive = n.assert_alive
|
||||
local poke_eventloop = n.poke_eventloop
|
||||
@@ -88,10 +89,8 @@ describe('backtick expansion', function()
|
||||
end)
|
||||
|
||||
it('with shell=fish', function()
|
||||
if eval("executable('fish')") == 0 then
|
||||
pending('missing "fish" command')
|
||||
return
|
||||
end
|
||||
t.skip(fn.executable('fish') == 0, 'missing "fish" command')
|
||||
|
||||
command('set shell=fish')
|
||||
command(':silent args `echo ***2`')
|
||||
eq({ 'file2' }, eval('argv()'))
|
||||
|
||||
Reference in New Issue
Block a user