Ensure company-backends are computed late in mode init

This commit is contained in:
Henrik Lissner 2020-02-25 20:03:58 -05:00
parent 3bb384f95c
commit cd5152497d
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 5 additions and 6 deletions

View file

@ -67,11 +67,10 @@ Examples:
;;;###autoload ;;;###autoload
(defun +company-init-backends-h () (defun +company-init-backends-h ()
"Set `company-backends' for the current buffer." "Set `company-backends' for the current buffer."
(if (not company-mode) (or (memq major-mode '(fundamental-mode special-mode))
(remove-hook 'change-major-mode-after-body-hook #'+company-init-backends-h 'local) buffer-read-only
(unless (eq major-mode 'fundamental-mode) (doom-temp-buffer-p (or (buffer-base-buffer) (current-buffer)))
(setq-local company-backends (+company--backends))) (setq-local company-backends (+company--backends))))
(add-hook 'change-major-mode-after-body-hook #'+company-init-backends-h nil 'local)))
(put '+company-init-backends-h 'permanent-local-hook t) (put '+company-init-backends-h 'permanent-local-hook t)

View file

@ -29,7 +29,7 @@
:before #'company-begin-backend :before #'company-begin-backend
(company-abort))) (company-abort)))
(add-hook 'company-mode-hook #'+company-init-backends-h) (add-hook 'after-change-major-mode-hook #'+company-init-backends-h 'append)
(global-company-mode +1)) (global-company-mode +1))