coc-list-files-mru 中文说明

发布于 2023/3/25, 编辑于 2023/3/26

又造了个 coc 玩具,大概的作用同 coc-list files,但是没有输入值时展示的是 mru 列表。但是使用这个插件需要 hack coc 的编译文件。

简介

在 hack 过的 coc.nvim 上运行的文件查找器插件。您可以打开一个和 coc-list files 一样的文件查找器,但如果没有输入值,它将显示默认的 mru 列表。

它依赖于支持动态切换列表数据的 coc.nvim 客户端。这意味着你必须手动修改 coc 的编译文件。

不优雅但有用。

大多数代码来自 https://github.com/neoclide/coc-lists

安装

您需要安装 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许可证