我是双 10 那天编译的 master 分支版本[1],而 completion-preview.el 文件最后更新是 9 月中旬[2]:
我还是没复现, 你用emacs -Q 复现下, 我在用(defun 做的测试)
安装了,但是感觉没太大用处,没找到几个可用它的场景,
补一个master里的etags-regen-mode
,
性能有点问题但能接受,不引入第三方依赖,用etags就能正常工作导航+补全,混合项目或者不太好生成compilecommandsjson的环境还是好用的。更重度使用的话我推荐citre+global,会流畅很多。不过会引入第三方bin。
配置如下
;; 不是特别流畅,推荐需要的时候手动开启,会在根目录生成个TAGS
(defun my-goto-etags ()
(interactive)
(let ((xref-backend-functions '(etags--xref-backend t)))
(call-interactively 'xref-find-definitions)))
;; 和lsp-mode\eglot配合时设置backends, 需要自己挂个hook设置
; by company
(setq my-company-backends '( (company-capf :separate company-etags)))
; by cape
(setq-local completion-at-point-functions
(list (cape-capf-super #'eglot-completion-at-point #'cape-dabbrev #'cape-file #'cape-keyword #'tags-completion-at-point-function )))
1 个赞