并不是我不想讨论这些问题. 而是在你了解具体问题的复杂性之前讨论并不能解决问题. 再者, talk is cheap. 我的时间很有限, 不想把它浪费在无谓的争论上.
1. 这么做是有原因的. 因为的确部分用户(包括我)通过一些个设置是能够利用 snippet 的功能的.
https://github.com/autozimu/LanguageClient-neovim/pull/327 而且我也加入了最新的 configuration override 这个检测.
2. 推荐你去尝试了解下 deoplete 整个的 workflow, 重点 deoplete 什么情况下触发 completion. 在用到这个 regex 的时候, 根本还没有 LSP server 的 response, 何谈根据 LSP response 判断起点. `\ w` 只是目前的一个权宜之计.
3. 同 2
4. 这个是因为 deoplete 并不理解 LSP 的 TextEdit 概念. deoplete 期望收到的是 word, 而某些 LSP server 返回的是 TextEdit, 所以需要这一步的装换. comment 里面我也写到了, extremely hacky. 如果你发现了某些情况下这个 hack 会有问题, 当然欢迎你的 PR, 但不是这种会造成 regression 的
https://github.com/autozimu/LanguageClient-neovim/issues/409我再重复一遍, 我的时间有限, 不想浪费在讨论和争论上. Show me your code.