jayli / vim-easycomplete

杭州市余杭区最好用的 VIM/NVIM 代码补全插件
MIT License
408 stars 26 forks source link

add deno lsp support for vim-easycomplete #142

Closed jayli closed 2 years ago

jayli commented 2 years ago

deno lsp: https://morioh.com/p/84a54d70a7fa

deno lsp 的 completion/signature/lint 是 ok 的,documentation 不可用

重点是两个问题:

  1. 要解决和 tsserver 之间的冲突
  2. import url 的获取
jayli commented 2 years ago

之前没有考虑如果两个 lsp 共存时的情况,在实现 deno lsp 时就不能单以文件类型来判断 lsp 了,这里在 lsp enable() 时加了一个过滤,以后再考虑多个 lsp 共存时的代码重构。

call easycomplete#lsp#enable()
jayli commented 2 years ago

对于 deno lsp 安装比较简单,通过 "InstallLSPServer"会遇到两个问题,第一个是从 github 下载比较慢,另一个是本地权限问题,有时候会弹出框

在系统设置里设置一下:

再次运行时还会弹框的话,直接点击打开即可

自己手工安装则没有这个问题。

jayli commented 2 years ago

关于 deno 项目的识别:

基于 deno.jsonnode_modules以及 .vscode目录来判断。

是否需要增加 ast 级别的判断(TODO)?

jayli commented 2 years ago

perfect

jayli commented 2 years ago

https://github.com/jayli/vim-easycomplete/commit/11b515122ee8c32d89941e717f0f97a7411be404

新增对 .vscode/settings.jsondeno.enable 的配置判断,很好的兼容 vscode 项目

jayli commented 2 years ago

对于 deno lsp 安装比较简单,通过 "InstallLSPServer"会遇到两个问题,第一个是从 github 下载比较慢,另一个是本地权限问题,有时候会弹出框

在系统设置里设置一下:

再次运行时还会弹框的话,直接点击打开即可

自己手工安装则没有这个问题。

试了下,脚本curl下载安装包的话不会有弹框

jayli commented 2 years ago

https://github.com/jayli/vim-easycomplete/commit/f1e5ce849b0ff7fd165dbe245216964a22c5c159

新增 DenoCache 命令,更新依赖

jayli commented 2 years ago

moreinfo:

jayli commented 2 years ago

related to #150