feat(Man): port to Lua (#19912)

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
This commit is contained in:
Lewis Russell
2022-09-02 15:20:29 +01:00
committed by GitHub
parent e085d0be31
commit 2afcdbd63a
10 changed files with 651 additions and 566 deletions

34
runtime/plugin/man.lua Normal file
View File

@@ -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,
})

View File

@@ -1,15 +0,0 @@
" Maintainer: Anmol Sethi <hi@nhooyr.io>
if exists('g:loaded_man')
finish
endif
let g:loaded_man = 1
command! -bang -bar -addr=other -complete=customlist,man#complete -nargs=* Man
\ if <bang>0 | call man#init_pager() |
\ else | call man#open_page(<count>, <q-mods>, <f-args>) | endif
augroup man
autocmd!
autocmd BufReadCmd man://* call man#read_page(matchstr(expand('<amatch>'), 'man://\zs.*'))
augroup END