commit:     ca546788555cbd09b7540c34a550d445d96977b0
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 17 01:52:53 2022 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Wed Aug 17 01:52:53 2022 +0000
URL:        
https://gitweb.gentoo.org/proj/company-ebuild.git/commit/?id=ca546788

company-ebuild.el: add to local backends; add capf

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 company-ebuild.el | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/company-ebuild.el b/company-ebuild.el
index b50900a..9c857e2 100644
--- a/company-ebuild.el
+++ b/company-ebuild.el
@@ -239,7 +239,6 @@ ARG is the completion argument for annotation and 
candidates."
     (annotation
      (car (company-ebuild--annotation-and-kind arg)))
     (candidates
-     ;; TODO: Complete any string that already appears in current buffer.
      (cl-remove-if-not (lambda (candidate)
                          (string-prefix-p arg candidate t))
                        (append company-ebuild--constant-keywords
@@ -269,11 +268,15 @@ or `require' Company-Ebuild:
   ;; Regenerate dynamic keywords.
   (company-ebuild--regenerate-dynamic-keywords)
   ;; Add the `company-ebuild' backend.
-  (cond
-   ((fboundp 'company-yasnippet)
-    (add-to-list 'company-backends '(company-ebuild company-yasnippet)))
-   (t
-    (add-to-list 'company-backends 'company-ebuild)))
+  (setq-local company-backends
+              `((company-ebuild
+                 company-capf  ; standard fallback
+                 ,@(cond
+                    ((fboundp 'company-yasnippet)  ; YAS for easier setup
+                     '(company-yasnippet))
+                    (t
+                     '())))
+                ,@company-backends))
   ;; Because some completions have length 1:
   (setq-local company-minimum-prefix-length 1)
   (setq-local company-require-match nil))

Reply via email to