So funktioniert die Fertigstellung im Unternehmen (ich vereinfache es ein wenig). Eine detailliertere Beschreibung finden Sie in der Dokumentation von company-backends C-hvcompany-backendsRET.
Sie haben eine Liste von Backends (Completion Engines), die Unternehmen versuchen sollten, die Vervollständigung zu einem bestimmten Zeitpunkt vorzunehmen. Das Unternehmen probiert jedes dieser Backends nacheinander aus, und das erste, das Kandidaten zurückgibt, wird zur Vervollständigung verwendet, und der Rest der Backends wird ignoriert. Standardmäßig wird also immer nur ein Backend verwendet.
In Ihrem Fall (Sie scheinen sich im emacs-lisp-Modus zu befinden) gibt das emacs-lisp-Backend Kandidaten zur Fertigstellung zurück und company-dabbrevwird daher von der Firma niemals zur Fertigstellung verwendet, und Sie werden niemals foobarsentencezur Fertigstellung gebracht. Vielleicht möchten Sie also das Back-End des Unternehmens so ändern, dass es company-dabbrevvor company-elisp(oder company-capfin neueren Versionen von Emacsen) kommt. Aber ich denke, das ist nicht das, was Sie wollen, da dies die aktuelle Situation umkehren würde und Sie keine Vervollständigungen vom emacs-lisp-Backend erhalten (in diesem Fall lesen Sie weiter).
Das Unternehmen bietet die Möglichkeit, Abschlüsse aus mehreren Quellen mithilfe von so genannten groupedBackends zusammenzuführen. Normalerweise sind die Mitglieder von company-backendseinzelne Backends, es kann sich aber auch um eine Liste von Backends handeln. In diesem Fall werden die Vervollständigungen aus den Backends zusammengeführt, sofern sie dieselben prefixoder den zu vervollständigenden Text zurückgeben (eine company-backendsausführliche Beschreibung finden Sie in der Dokumentation von ).
Also, wenn Sie Vervollständigungen von zusammenführen möchten company-elisp(auf neuere Emacsen company-capfverwendet wird) und dies company-dabbreveinfach tun
(add-to-list 'company-backends '(company-capf company-dabbrev))
Zusätzlich können Sie verschiedene Backends mit dem :withSchlüsselwort zusammenführen
(add-to-list 'company-backends '(company-capf :with company-dabbrev))
Dies unterscheidet sich von dem Beispiel einer Liste von Backends ohne, :withda die Firma nur die Backends zuvor :withzur Bestimmung des prefix(des zu vervollständigenden) Texts verwendet. Dies impliziert, dass die Kandidaten von Backends danach :withvom Unternehmen ignoriert werden, unabhängig davon, ob die Backends a zurückgeben prefixoder nein, wenn keines der Backends vor :witha zurückgibt prefix.
Möglicherweise möchten Sie dies lokal in Emacs-Lisp-Puffer festlegen (ich bevorzuge dies)