1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
local function keyword_help(kw)
local buf = vim.api.nvim_create_buf(false, true)
local win = vim.api.nvim_open_win(buf, true, {
anchor = "SE",
split = "below",
height = 20,
})
local obj = vim.system({ "pydoc-markdown", "-m", kw }):wait() -- "--render-toc"??
vim.api.nvim_buf_set_lines(buf, -1, -1, false, vim.split(obj.stdout, "\n"))
vim.bo[buf].filetype = "markdown"
vim.bo[buf].swapfile = false
end
vim.api.nvim_create_user_command("PyDoc", function(params)
if #params.fargs > 0 then
keyword_help(params.fargs[1])
end
end, {
bar = true,
range = true,
addr = "other",
nargs = "*",
complete = function(...)
vim.print("completion request: " .. vim.inspect(...))
return nil
end,
})
vim.cmd([[ setlocal keywordprg=:PyDoc ]])
|