So funktioniert die Fertigstellung im Unternehmen (ich vereinfache es ein wenig). Eine detailliertere Beschreibung finden Sie in der Dokumentation von company-backends
C-hvcompany-backends
RET.
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-dabbrev
wird daher von der Firma niemals zur Fertigstellung verwendet, und Sie werden niemals foobarsentence
zur Fertigstellung gebracht. Vielleicht möchten Sie also das Back-End des Unternehmens so ändern, dass es company-dabbrev
vor company-elisp
(oder company-capf
in 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 grouped
Backends zusammenzuführen. Normalerweise sind die Mitglieder von company-backends
einzelne 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 prefix
oder den zu vervollständigenden Text zurückgeben (eine company-backends
ausführliche Beschreibung finden Sie in der Dokumentation von ).
Also, wenn Sie Vervollständigungen von zusammenführen möchten company-elisp
(auf neuere Emacsen company-capf
verwendet wird) und dies company-dabbrev
einfach tun
(add-to-list 'company-backends '(company-capf company-dabbrev))
Zusätzlich können Sie verschiedene Backends mit dem :with
Schlüsselwort zusammenführen
(add-to-list 'company-backends '(company-capf :with company-dabbrev))
Dies unterscheidet sich von dem Beispiel einer Liste von Backends ohne, :with
da die Firma nur die Backends zuvor :with
zur Bestimmung des prefix
(des zu vervollständigenden) Texts verwendet. Dies impliziert, dass die Kandidaten von Backends danach :with
vom Unternehmen ignoriert werden, unabhängig davon, ob die Backends a zurückgeben prefix
oder nein, wenn keines der Backends vor :with
a zurückgibt prefix
.
Möglicherweise möchten Sie dies lokal in Emacs-Lisp-Puffer festlegen (ich bevorzuge dies)