Append default backends to buffer-local backends

This commit is contained in:
Henrik Lissner 2018-07-30 12:54:59 +02:00
parent e94f1f39f4
commit 533cb13a02
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
3 changed files with 28 additions and 18 deletions

View file

@ -55,14 +55,16 @@ To have BACKENDS apply to any mode that is a parent of MODES, set MODES to
;;
(defun +company--backends ()
(or (cl-loop for (mode . rest) in +company-backend-alist
for type = (car rest)
for backends = (cdr rest)
if (or (and (eq type :derived) (derived-mode-p mode)) ; parent modes
(and (eq type :exact) (eq major-mode mode)) ; major modes
(and (boundp mode) (symbol-value mode))) ; minor modes
nconc backends)
(default-value 'company-backends)))
(append (cl-loop for (mode . rest) in +company-backend-alist
for type = (car rest)
for backends = (cdr rest)
if (or (and (eq type :derived) (derived-mode-p mode)) ; parent modes
(and (eq type :exact)
(or (eq major-mode mode) ; major modes
(and (boundp mode)
(symbol-value mode))))) ; minor modes
nconc backends)
(default-value 'company-backends)))
;;