[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/cape a54a512030 030/146: cape-merge-capfs: Compute cand
From: |
ELPA Syncer |
Subject: |
[elpa] externals/cape a54a512030 030/146: cape-merge-capfs: Compute candidates later |
Date: |
Sun, 9 Jan 2022 20:57:40 -0500 (EST) |
branch: externals/cape
commit a54a51203073e99ada433d6dc8c3c83cdfb104ec
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
cape-merge-capfs: Compute candidates later
---
cape.el | 31 ++++++++++++++++++-------------
1 file changed, 18 insertions(+), 13 deletions(-)
diff --git a/cape.el b/cape.el
index 8aa608dbab..4c6dec0980 100644
--- a/cape.el
+++ b/cape.el
@@ -500,26 +500,21 @@
(lambda ()
(when-let (results (delq nil (mapcar #'funcall capfs)))
(pcase-let ((`((,beg ,end . ,_)) results)
- (candidates nil)
- (prefix-len nil)
- (ht (make-hash-table :test #'equal)))
- (cl-loop for (beg2 end2 table . plist) in results do
+ (candidates 'init)
+ (ht (make-hash-table :test #'equal))
+ (tables nil)
+ (prefix-len nil))
+ (cl-loop for (beg2 end2 . rest) in results do
(when (and (= beg beg2) (= end end2))
- (let* ((pred (plist-get plist :predicate))
- (metadata (completion-metadata "" table pred))
- (sort (or (completion-metadata-get metadata
'display-sort-function)
- #'identity))
- (cands (funcall sort (all-completions "" table
pred)))
- (plen (plist-get plist :company-prefix-length)))
+ (push rest tables)
+ (let ((plen (plist-get (cdr rest) :company-prefix-length)))
(cond
((eq plen t)
(setq prefix-len t))
((and (not prefix-len) (integerp plen))
(setq prefix-len plen))
((and (integerp prefix-len) (integerp plen))
- (setq prefix-len (max prefix-len plen))))
- (setq candidates (nconc candidates cands))
- (cl-loop for cand in cands do (puthash cand plist ht)))))
+ (setq prefix-len (max prefix-len plen)))))))
(list beg end
(lambda (str pred action)
(if (eq action 'metadata)
@@ -527,6 +522,16 @@
(category . cape-merged)
(display-sort-function . identity)
(cycle-sort-function . identity))
+ (when (eq candidates 'init)
+ (setq candidates
+ (cl-loop for (table . plist) in (nreverse tables)
nconc
+ (let* ((pred (plist-get plist :predicate))
+ (metadata (completion-metadata ""
table pred))
+ (sort (or (completion-metadata-get
metadata 'display-sort-function)
+ #'identity))
+ (cands (funcall sort
(all-completions "" table pred))))
+ (cl-loop for cand in cands do (puthash
cand plist ht))
+ cands))))
(complete-with-action action candidates str pred)))
:exclusive 'no
:company-prefix-length prefix-len
- [elpa] externals/cape 1aaca0fd74 008/146: Expand comment, (continued)
- [elpa] externals/cape 1aaca0fd74 008/146: Expand comment, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 38802ada22 007/146: Add kinds, ELPA Syncer, 2022/01/09
- [elpa] externals/cape b1f57d79ba 009/146: Improve ispell, ELPA Syncer, 2022/01/09
- [elpa] externals/cape ae136b6ba4 010/146: Improve dabbrev lazy loading, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 0cc116b29c 012/146: Implement company adapter (See #1), ELPA Syncer, 2022/01/09
- [elpa] externals/cape 845f3483f1 019/146: company-merge-capfs: Add support for :company-prefix-length, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 31acb66152 021/146: Update README, ELPA Syncer, 2022/01/09
- [elpa] externals/cape adb54fc562 020/146: Add missing autoload, ELPA Syncer, 2022/01/09
- [elpa] externals/cape d098cc3cba 023/146: Update README, ELPA Syncer, 2022/01/09
- [elpa] externals/cape ff5b19afc0 025/146: Add missing omit-nulls, ELPA Syncer, 2022/01/09
- [elpa] externals/cape a54a512030 030/146: cape-merge-capfs: Compute candidates later,
ELPA Syncer <=
- [elpa] externals/cape 0bdc6ae05c 034/146: README: Mention cape-capf-buster, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 8fd6c17a01 033/146: Add cape-capf-buster, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 90ad5d68d5 037/146: Extract cape--cached-table, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 04a332c5fe 036/146: Extract cape--input-changed-p, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 882b9d9e79 042/146: Rename cape-merge-capfs, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 9111ad5101 043/146: Ensure that dabbrev is initialized properly, ELPA Syncer, 2022/01/09
- [elpa] externals/cape af4268549c 055/146: Dabbrev: Use equality check, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 29f828cc82 061/146: Reorder, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 80ca6abfd5 063/146: Add cape-line, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 52c86daf8c 062/146: Version 0.2, ELPA Syncer, 2022/01/09