又造了个 coc 玩具,大概的作用同 coc-list files,但是没有输入值时展示的是 mru 列表。但是使用这个插件需要 hack coc 的编译文件。
在 hack 过的 coc.nvim 上运行的文件查找器插件。您可以打开一个和 coc-list files 一样的文件查找器,但如果没有输入值,它将显示默认的 mru 列表。
它依赖于支持动态切换列表数据的 coc.nvim 客户端。这意味着你必须手动修改 coc 的编译文件。
不优雅但有用。
您需要安装 coc.nvim 才能使用此扩展。然后运行:
:CocInstall @hexuhua/coc-list-files-mru
同时,因为coc不支持动态切换列表数据,你必须进行以下修改来 hack coc.nvim。
找到您的 coc.nvim 安装路径并在 /path/to/your/coc.nvim/build/index.js
中进行以下更改:
或者,如果您使用 sd,您可以执行这些命令来达到相同的结果:
sd '}\n.*set loading\(loading\)' ' this.mruFlag = true; } set loading(loading)' /path/to/your/coc.nvim/build/index.js
sd 'async drawItems\(\) \{' 'async drawItems(context) { var _a2; if (((_a2 = this.list) == null ? void 0 : _a2.name) === "filesMru") { if ((context == null ? void 0 : context.input.length) > 0 && this.mruFlag === true) { this.mruFlag = false; await this.loadItems(context); await this.drawItems(context); return; } if ((context == null ? void 0 : context.input.length) === 0 && this.mruFlag === false) { this.mruFlag = true; await this.loadItems(context); await this.drawItems(context); return; } }' /path/to/your/coc.nvim/build/index.js
sd 'void this.worker.drawItems\(\);' 'void this.worker.drawItems(this.context);' /path/to/your/coc.nvim/build/index.js
:CocList filesMru
这插件会读取 coc-list files 和 mru 的配置。
点击这里前往 Github 查看原文,交流意见~
文档信息
版权声明:自由转载 - 非商用 - 非衍生 - 保持署名(创意共享3.0许可证)