我正在为我的 neovim 配置编写一个 lua 函数作为自定义命令。
正如文档所述"The function is called with a single table argument that contains the following keys",但是当表未定义为变量时,我如何访问这些键。
我尝试像这样调用该函数:
vim.api.nvim_create_user_command('Build', fn_build(args), { nargs='?' })
Run Code Online (Sandbox Code Playgroud)
并通过以下方式访问值:
function fn_build(args)
run = args["args"] or nil
end
Run Code Online (Sandbox Code Playgroud)
但我会得到一个零错误。
@Ani 评论道:
尝试在 github.com/nanotee/nvim-lua-guide 中查看是否有与此接近的内容
我找到了指南,但它并没有帮助我解决它。我不确定是否desc使用正确的变量。我什至会如何使用它。指南说:
还有两个附加属性可用:
- desc 允许您控制在定义为 Lua 回调的命令上运行 :command {cmd} 时显示的内容。与键盘映射类似,建议将 desc 键添加到定义为 Lua 函数的命令中。
- force 相当于调用 :command! 如果同名命令已存在,则替换该命令。默认情况下它是 true,这与 Vimscript 的等效项不同。
我是否盲目并监督某些事情?
请为我指明正确的方向
小智 3
您正在调用该函数fn_build并注册返回值。相反,您应该只将该函数作为参数传递。尝试以下操作
vim.api.nvim_create_user_command('Build', fn_build, { nargs='?' })
Run Code Online (Sandbox Code Playgroud)