mirror of
https://github.com/neovim/neovim.git
synced 2025-09-30 15:08:35 +00:00
fix(man.vim): q in "$MANPAGER mode" does not quit #18443
Problem: q in "$MANPAGER mode" does not quit Nvim. This is because ftplugin/man.vim creates its own mapping: nnoremap <silent> <buffer> <nowait> q :lclose<CR><C-W>c which overrides the one set by the autoload file when using :Man! ("$MANPAGER mode") Solution: Set b:pager during "$MANPAGER mode" so that ftplugin/man.vim can set the mapping correctly. Fixes #18281 Ref #17791 Helped-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
This commit is contained in:
@@ -2,13 +2,19 @@ local helpers = require('test.functional.helpers')(after_each)
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local command, eval, rawfeed = helpers.command, helpers.eval, helpers.rawfeed
|
||||
local clear = helpers.clear
|
||||
local funcs = helpers.funcs
|
||||
local nvim_prog = helpers.nvim_prog
|
||||
local matches = helpers.matches
|
||||
|
||||
describe(':Man', function()
|
||||
before_each(function()
|
||||
clear()
|
||||
end)
|
||||
|
||||
describe('man.lua: highlight_line()', function()
|
||||
local screen
|
||||
|
||||
before_each(function()
|
||||
clear()
|
||||
command('syntax on')
|
||||
command('set filetype=man')
|
||||
command('syntax off') -- Ignore syntax groups
|
||||
@@ -137,4 +143,10 @@ describe(':Man', function()
|
||||
]])
|
||||
end)
|
||||
end)
|
||||
|
||||
it('q quits in "$MANPAGER mode" (:Man!) #18281', function()
|
||||
-- This will hang if #18281 regresses.
|
||||
local args = {nvim_prog, '--headless', '+autocmd VimLeave * echo "quit works!!"', '+Man!', '+call nvim_input("q")'}
|
||||
matches('quit works!!', funcs.system(args, {'manpage contents'}))
|
||||
end)
|
||||
end)
|
||||
|
Reference in New Issue
Block a user