Refactor set-company-backend!

This commit is contained in:
Henrik Lissner 2018-06-16 12:46:57 +02:00
parent b170119d4b
commit 3ad16f660f
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -5,9 +5,8 @@
"Prepends BACKENDS to `company-backends' in major MODES.
MODES should be one major-mode symbol or a list of them."
(cl-loop for mode in modes
for def-name = (intern (format "doom--init-company-%s" mode))
do
(dolist (mode (doom-enlist modes))
(let ((def-name (intern (format "+company--init-%s" mode))))
(fset def-name
(lambda () (when (or (eq major-mode mode)
(and (boundp mode) (symbol-value mode)))
@ -15,7 +14,7 @@ MODES should be one major-mode symbol or a list of them."
(make-variable-buffer-local 'company-backends)
(dolist (backend backends)
(cl-pushnew backend company-backends :test #'equal)))))
and do (add-hook (intern (format "%s-hook" mode)) def-name)))
(add-hook (intern (format "%s-hook" mode)) def-name))))
;; FIXME obsolete :company-backend
;;;###autoload