Corfu 补全的使用姿势

我也没找到复现的方法,我先不禁用 kind-icon 使用试试看它还出现。实在是没找到是什么触发的。出现了截图发上来。

糊了一个 corfu 适用的 all-the-icons 的 icon 效果 可以参考隔壁帖子用 all-the-icons, 我个人认为比 kind-icon 好看 :rofl:

我给 kind-icon 提了个 Feature Request,希望加一个按钮一次性下载全部的图标。

目前用户是可以通过 M-x customize-group kind-icon, 打开 mapping 下面的 Preview 按钮来预览每一个图标的,点击预览就会触发下载。

下载慢,估计是跟网络有关,要自己解决访问 github 慢的问题。

1 个赞

all-the-icons 图标确实不错,不会像 svg 图标会出现高度不一的问题。 回头可以看看是否让 kind-icons 直接支持一下。

@ixnij

kind-icon 已经增加了一个命令,M-x kind-icon-preview-all 执行就可以预览全部预设的图标,并自动下载全部图标到 ~/.emacs.d/.cache/svg-lib 文件夹。

3 个赞

昨天搞了一下 corfu , yasnippet 搞不好,没有 Yasnippet capf 的后端。有点失望啊

我是用 consult-yasnippet

snippet 放到补全列表,反而显得比较乱。

1 个赞

这个好哈哈哈哈

用cape+company-yasnippet,不用安装company也可以使用,只不过corfu的quit-on-match之类的得关掉

怎么不安装company,来使用 cape+company-yasnippet?

我添加

(add-to-list 'completion-at-point-functions (cape-company-to-capf #'company-yasnippet)))

感觉没效果啊

(defun +complete ()
    (interactive)
    (or (yas-expand)
        (corfu-insert)))
(define-key corfu-map (kbd "<tab>") '+complete)
(define-key corfu-map (kbd "TAB") '+complete)

我是这样

company-yasnippet 这个文件包含在 company 包中,还是要安装 company 的吧?

这种实现方式,应该是没有 yasnippet 相关的 补全和文档提示。

我在 cape 包的 issue 中看到有道友尝试去实现 Create `cape-yasnippet` backend for yasnippet failed · Issue #37 · minad/cape · GitHub ,不过没成功。 minad 在自己的 tempel 包( 与 yasnippet 功能相似)中,提供了添加到 capf 的范例 GitHub - minad/tempel: TempEl - Simple templates for Emacs

好吧,我不需要这些,一般也就是 if 之后直接 tab 展开,如果是复杂的 snippet 还是 consult 吧

我也是这么用。自动提示文档感觉很烦,文档方面我都是手动按。

我说的文档提示是类似于 company-yasnippet ,只在 corfu 中进行简单的提示,不是 corfu-doc 那种再生成一个 frame 去展现。我个人比较喜欢这种方式,所以我目前还是通过 cape 去调用 company-yasnippet 。

那你确实只能去配 company-yasnippet 了。

  (add-to-list 'completion-at-point-functions (cape-company-to-capf 'company-yasnippet)))

之外我也没有别的设置了,是不是别的什么东西覆盖了 completion-at-point-functions 这个 local variable?我在doom的package.el里面只引了company-yasnippet的文件,没注意到build目录下也有了company :joy:

@aqua0210 corfu 后端编写有啥教材没有啊? 我准备把我的 company-english-helper 转换成 corfu 版本的。

这几天研究 lsp-bridge , 头有点大, 看看大佬有啥信息推荐让我少消耗点脑细胞。

2 个赞

我改过一个简单的版本,供参考

2 个赞