diff options
author | Josh Rahm <rahm@google.com> | 2022-09-12 10:57:59 -0600 |
---|---|---|
committer | Josh Rahm <rahm@google.com> | 2022-09-12 10:57:59 -0600 |
commit | 040b05d7d01defe16e4b31a6fd9c863fd2443091 (patch) | |
tree | 5e4a295fe310c73dfc2fe196708c49b4c0b41396 /runtime/plugin/man.lua | |
parent | 52ce04a002a882da19bb2c78d1fd8eb4825d669d (diff) | |
parent | fd70e2bff2440181f63fe124738cf2a025d1e6a5 (diff) | |
download | rneovim-040b05d7d01defe16e4b31a6fd9c863fd2443091.tar.gz rneovim-040b05d7d01defe16e4b31a6fd9c863fd2443091.tar.bz2 rneovim-040b05d7d01defe16e4b31a6fd9c863fd2443091.zip |
Merge remote-tracking branch 'upstream/master' into floattitle
Diffstat (limited to 'runtime/plugin/man.lua')
-rw-r--r-- | runtime/plugin/man.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/runtime/plugin/man.lua b/runtime/plugin/man.lua new file mode 100644 index 0000000000..4b1528b0cb --- /dev/null +++ b/runtime/plugin/man.lua @@ -0,0 +1,34 @@ +if vim.g.loaded_man ~= nil then + return +end +vim.g.loaded_man = true + +vim.api.nvim_create_user_command('Man', function(params) + local man = require('man') + if params.bang then + man.init_pager() + else + local ok, err = pcall(man.open_page, params.count, params.smods, params.fargs) + if not ok then + vim.notify(man.errormsg or err, vim.log.levels.ERROR) + end + end +end, { + bang = true, + bar = true, + addr = 'other', + nargs = '*', + complete = function(...) + return require('man').man_complete(...) + end, +}) + +local augroup = vim.api.nvim_create_augroup('man', {}) + +vim.api.nvim_create_autocmd('BufReadCmd', { + group = augroup, + pattern = 'man://*', + callback = function(params) + require('man').read_page(vim.fn.matchstr(params.match, 'man://\\zs.*')) + end, +}) |