diff options
author | Lewis Russell <lewis6991@gmail.com> | 2022-09-02 15:20:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-02 15:20:29 +0100 |
commit | 2afcdbd63a5b0cbeaad9d83b096a3af5201c67a9 (patch) | |
tree | a5e44f3dba1287c398af66673fa926e4841c5343 /runtime/plugin/man.lua | |
parent | e085d0be31c68921769c6c437920a3346caec69b (diff) | |
download | rneovim-2afcdbd63a5b0cbeaad9d83b096a3af5201c67a9.tar.gz rneovim-2afcdbd63a5b0cbeaad9d83b096a3af5201c67a9.tar.bz2 rneovim-2afcdbd63a5b0cbeaad9d83b096a3af5201c67a9.zip |
feat(Man): port to Lua (#19912)
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
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, +}) |