如何处理 Lua 警告设置非标准全局变量?

当我尝试声明全局变量时,luachecks 总是会显示警告 setting non-standard global variable。我想知道如何修复这个问题。(不仅仅是忽略警告,而是以标准的方式设置全局变量)

点赞
用户7509065
用户7509065

警告并不是因为你以非标准的方式设置了全局变量,而是你设置了一个全局变量。一旦你的用户代码开始运行,所有标准的全局变量已经被设置完毕。你应该尽可能使用 local 变量。如果你真的需要设置自己的全局变量,那么可以用 --globals 将它们的名称传递给 luacheck,以忽略这个警告。

2021-07-17 04:34:47
用户789517
用户789517

你可以通过在你的 LunarVim 根配置中创建 .luacheckrc 文件并传递全局变量来解决这个问题。在这种情况下,你将会大部分时间调整 lvim 全局变量。就像 Joseph 所说的一样,这是因为你没有在作用域中明确定义它,而是通过 LunarVim 配置扩展了已在其他地方定义的全局变量,因此 LuaCheck 会抛出警告以提醒你。由于你使用 LunarVim,你可以将标准全局变量直接针对到 NeoVim(LunarVim 只是 NeoVim 的外壳)。同样,你还可以传递其他东西,比如 vim.g,它也会作为 Vim 全局变量集。更多参考资料请参阅:https://luacheck.readthedocs.io/en/stable/config.html

stds.nvim = {
  globals = {
     "lvim"
  },
}
2022-06-24 18:02:03