-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Description
Associated PR: #4476
Some company backends can completely shadow other backends following them. For example, having company-backends as (company-dabbrev company-yasnippet company-ispell) will make company-yasnippet and company-ispell completely useless, because company-dabbrev will always answer: "Yes! I will try to find completion candidates" (even if later on it comes up with an empty list of candidates). This makes the backends following it unreachable.
To solve this issue, these backends should be grouped, which results in merging the completion results.
To identify the backends having this behavior, we can check their docs or by trying them.
company-yasnippet has this behavior:
https://github.com/company-mode/company-mode/blob/0edc87d423b83c707e6c708f421d96f4d198803d/company-yasnippet.el#L134
(it gives recommendations on grouping)
For more info about grouping backends, see:
https://github.com/company-mode/company-mode/blob/0edc87d423b83c707e6c708f421d96f4d198803d/company.el#L452
As an example, the current doom configuration results in the following for org-mode:
(company-capf company-dabbrev company-yasnippet company-ispell)
which results in company-yasnippet and company-ispell being meaningless and unreachable.
The associated PR solves the issue for text-mode and its derived org-mode. It results in having company-backends set to (company-capf (:separate company-dabbrev company-yasnippet company-ispell)) (doom sync might be needed for the changes to take effect)
(prog-mode and other lang modes might need also a review)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status