如下 弄了 1个 列表
(setq zzv-list::label-group-completions
'(("abc" "a1" "a2" "a3" "a4 d d" "a5-d")
("w7" "org mode" "dired dmio")
("l12" "arch pac" "debain apt" "frp frpc" "ssr")))
为此 列表 建立个 此列表的 company 后端
(defun zzf-company::label-backend ($command &optional arg &rest ignored)
(interactive (list 'interactive))
(case $command
(interactive (company-begin-backend 'zzf-company::label-backend))
(prefix (company-grab-symbol))
(candidates
(dolist ($element zzv-list::label-group-completions)
(let (($head (car $element)))
(if (string-equal $head arg)
(return $element)))))))
在配置在 init 文件中 加上
(use-package company
:ensure t
:init
(global-company-mode t)
;; 这个大小写 不会乱改
(setq company-dabbrev-downcase t)
(setq company-idle-delay 0)
(setq company-minimum-prefix-length 2)
(setq company-show-numbers t)
(setq company-backends
'((
company-files
;; company-yasnippet
company-keywords
company-capf
;; company-english-helper-search
company-dabbrev
;; 要加在 这个 内层
zzf-company::label-backend
;; company-advanced
)
(company-abbrev)
)) ;
)
现在 情况是, 如果为 新 打开的 emacs 时 无法补全;
但是 如果 对此 函数
zzf-company::label-backend
c-x c-e 后, 就可以了, 要再加什么? 才能 一打开 emacs 就生效
(add-hook 'after-init-hook 'zzf-company::label-backend)
乱弄个这个, 也没有, 还是要手动一下 「 zzf-company::label-backend」c-x c-e, 也乱试了几种,
都不对
烦请 高手 指点 指点