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 ]])