aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/man.lua
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/lua/man.lua')
-rw-r--r--runtime/lua/man.lua19
1 files changed, 9 insertions, 10 deletions
diff --git a/runtime/lua/man.lua b/runtime/lua/man.lua
index ac15aff60c..02e841030f 100644
--- a/runtime/lua/man.lua
+++ b/runtime/lua/man.lua
@@ -411,15 +411,13 @@ local function find_man()
return false
end
----@param pager boolean
-local function set_options(pager)
+local function set_options()
vim.bo.swapfile = false
vim.bo.buftype = 'nofile'
vim.bo.bufhidden = 'unload'
vim.bo.modified = false
vim.bo.readonly = true
vim.bo.modifiable = false
- vim.b.pager = pager
vim.bo.filetype = 'man'
end
@@ -475,7 +473,7 @@ local function put_page(page)
vim.cmd([[silent! keeppatterns keepjumps %s/\s\{199,}/\=repeat(' ', 10)/g]])
vim.cmd('1') -- Move cursor to first line
highlight_man_page()
- set_options(false)
+ set_options()
end
local function format_candidate(path, psect)
@@ -662,7 +660,8 @@ function M.init_pager()
vim.cmd.file({ 'man://' .. fn.fnameescape(ref):lower(), mods = { silent = true } })
end
- set_options(true)
+ vim.g.pager = true
+ set_options()
end
---@param count integer
@@ -716,11 +715,11 @@ function M.open_page(count, smods, args)
local target = ('%s(%s)'):format(name, sect)
local ok, ret = pcall(function()
- if smods.tab == -1 and find_man() then
- vim.cmd.tag({ target, mods = { silent = true, keepalt = true } })
+ smods.silent = true
+ smods.keepalt = true
+ if smods.hide or (smods.tab == -1 and find_man()) then
+ vim.cmd.tag({ target, mods = smods })
else
- smods.silent = true
- smods.keepalt = true
vim.cmd.stag({ target, mods = smods })
end
end)
@@ -730,7 +729,7 @@ function M.open_page(count, smods, args)
if not ok then
error(ret)
else
- set_options(false)
+ set_options()
end
vim.b.man_sect = sect