askfiy / nvim

An excellent Neovim configuration, which is as powerful as Vscode, is lightning fast ⚡
Mozilla Public License 2.0
222 stars 22 forks source link

vim.diagnostic.config未生效 #12

Closed mendelyv closed 2 years ago

mendelyv commented 2 years ago

首先感谢分享您的配置,学到了很多,谢谢😁!! Lsp在使用过程中,virtual_text有关配置很奇怪,有时生效有时未生效,经过查验是因为跟别的插件起冲突了。应该是因为插件的加载是异步的吧,有时会被其他插件给覆盖掉。求教这种情况该如何调整代码呢?给个思路或者伪码就好,多谢了!!!

askfiy commented 2 years ago

我看到了你的仓库,应该是最早一版本的吧。

就此问题而言你可以查看此仓库的 nv_nvim-lsp-installer.lua 文件,他应该能解决你的问题。

我之前也遇到过,或许它不应该分开,此外第一版是没做 lazyload 的,你可以尝试使用这一版.

mendelyv commented 2 years ago

您好,感谢您的帮助,我用的确实是最早一版的,因为对vim的lua接口不是很熟悉,所以没有做改动。 至于这个未生效的问题,我已经找到了,是因为lspsaga插件覆盖了配置。

askfiy commented 2 years ago

您好,感谢您的帮助,我用的确实是最早一版的,因为对vim的lua接口不是很熟悉,所以没有做改动。 至于这个未生效的问题,我已经找到了,是因为lspsaga插件覆盖了配置。

嗯.. 我这个版本都没用 lspsaga,你可以试试

mendelyv commented 2 years ago

您好,又打扰了,经过您的建议,抽空看了下您的源码,并尝试做了改动,发现lazy load已经实现。恕我对lua不是很熟练,您在plugins.lua中的packer.startup函数对象的内容,我只看到了处理配置文件和使用配置文件。冒昧问下这个lazy load具体是怎么实现的呢,我想改动一些逻辑方便我定制自己的一些插件。

askfiy commented 2 years ago

您好,又打扰了,经过您的建议,抽空看了下您的源码,并尝试做了改动,发现lazy load已经实现。恕我对lua不是很熟练,您在plugins.lua中的packer.startup函数对象的内容,我只看到了处理配置文件和使用配置文件。冒昧问下这个lazy load具体是怎么实现的呢,我想改动一些逻辑方便我定制自己的一些插件。

这个是 packer 的功能,他其实是通过一些事件完成的,只有当特定事件发生才加载插件。

你可以你看看你的配置根目录 plugin 目录里的内容,那就是 packer 编译后产生的加载规则。

自定义 lazy load 比较花费时间,并且会产生一些不易察觉的 bug,能做的也不过是增加几毫米的启动时间罢了,时至今日我依然在更改一下 lazy load 的触发条件,这个真的很难搞定。

如果你想学习这方面的知识,可以先看 packer 的文档,其次查看 neovim 中的 event 事件。

mendelyv commented 2 years ago

感谢您抽空回复,我会好好的看下文档,并且也会追踪您的更新,谢谢