emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/company f06c4e2 2/3: company--strip-duplicates: Take in


From: ELPA Syncer
Subject: [elpa] externals/company f06c4e2 2/3: company--strip-duplicates: Take into account 'kind' as well
Date: Fri, 2 Apr 2021 12:57:07 -0400 (EDT)

branch: externals/company
commit f06c4e2cb81d7c40868b23b47d696ab008e3d05e
Author: Dmitry Gutov <dgutov@yandex.ru>
Commit: Dmitry Gutov <dgutov@yandex.ru>

    company--strip-duplicates: Take into account 'kind' as well
    
    Possible alternative to #1077.
---
 company.el | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/company.el b/company.el
index 9c4d54e..9847988 100644
--- a/company.el
+++ b/company.el
@@ -1324,23 +1324,27 @@ update if FORCE-UPDATE."
 
 (defun company--strip-duplicates (candidates)
   (let ((c2 candidates)
-        (annos 'unk))
+        (extras 'unk))
     (while c2
       (setcdr c2
               (let ((str (pop c2)))
                 (while (let ((str2 (car c2)))
                          (if (not (equal str str2))
                              (progn
-                               (setq annos 'unk)
+                               (setq extras 'unk)
                                nil)
-                           (when (eq annos 'unk)
-                             (setq annos (list (company-call-backend
-                                                'annotation str))))
-                           (let ((anno2 (company-call-backend
-                                         'annotation str2)))
-                             (if (member anno2 annos)
+                           (when (eq extras 'unk)
+                             (setq extras (list (cons (company-call-backend
+                                                       'annotation str)
+                                                      (company-call-backend
+                                                       'kind str)))))
+                           (let ((extra2 (cons (company-call-backend
+                                                'annotation str2)
+                                               (company-call-backend
+                                                'kind str2))))
+                             (if (member extra2 extras)
                                  t
-                               (push anno2 annos)
+                               (push extra2 extras)
                                nil))))
                   (pop c2))
                 c2)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]