[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/cape 0a05e51d2a 053/146: Add cape-capf-with-predicate (
From: |
ELPA Syncer |
Subject: |
[elpa] externals/cape 0a05e51d2a 053/146: Add cape-capf-with-predicate (See #9) |
Date: |
Sun, 9 Jan 2022 20:57:42 -0500 (EST) |
branch: externals/cape
commit 0a05e51d2aad419b8650dcf81623887c85ce380d
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Add cape-capf-with-predicate (See #9)
---
README.org | 1 +
cape.el | 10 ++++++++++
2 files changed, 11 insertions(+)
diff --git a/README.org b/README.org
index eef1a87b08..8ec09aba7c 100644
--- a/README.org
+++ b/README.org
@@ -120,3 +120,4 @@ achieve a similarly refreshing strategy.
- ~cape-silent-capf~: Wrap a chatty Capf and silence it.
- ~cape-capf-with-properties~: Add completion properties to a Capf.
+- ~cape-capf-with-predicate~: Add predicate to control if the Capf should
activate.
diff --git a/cape.el b/cape.el
index db93c6d9c5..e0412544a6 100644
--- a/cape.el
+++ b/cape.el
@@ -681,6 +681,16 @@ The CMP argument determines how the new input is compared
to the old input.
('equal (equal old-input new-input))
('substring (string-match-p (regexp-quote old-input)
new-input))))))
+;;;###autoload
+(defun cape-capf-with-predicate (capf predicate)
+ "Return a new CAPF which activates only when the PREDICATE is non-nil.
+The PREDICATE takes the completion beginning and end positions as arguments."
+ (lambda ()
+ (pcase (funcall capf)
+ ((and result `(,beg ,end ,_table . ,_plist))
+ (when (funcall predicate beg end)
+ result)))))
+
;;;###autoload
(defun cape-capf-with-properties (capf &rest properties)
"Return a new CAPF with additional completion PROPERTIES.
- [elpa] externals/cape 6d076f2480 129/146: README: Document company--multi-backend-adapter, (continued)
- [elpa] externals/cape 6d076f2480 129/146: README: Document company--multi-backend-adapter, ELPA Syncer, 2022/01/09
- [elpa] externals/cape c8c0a9f9a6 134/146: Simplify, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 5319e343bb 136/146: Improve repair function, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 12b00151d1 143/146: Improve and simplify cape-dabbrev, ELPA Syncer, 2022/01/09
- [elpa] externals/cape be2014538a 144/146: cape-dabbrev: Use thing-at-point-looking-at, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 5ccece0e34 146/146: Add to GNU ELPA, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 700c9d7bc2 137/146: Remove cape-repair-misbehaving-capf, ELPA Syncer, 2022/01/09
- [elpa] externals/cape bc1c1ee9fc 140/146: Make cape-tex etc less aggressive, add cape-tex-prefix-required variable, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 8726bc7246 138/146: cape--interactive: Simplify, ELPA Syncer, 2022/01/09
- [elpa] externals/cape ac65f2acdf 048/146: Add autoloads, renamings, README, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 0a05e51d2a 053/146: Add cape-capf-with-predicate (See #9),
ELPA Syncer <=
- [elpa] externals/cape 75cb8c799a 071/146: Unify cape-file and cape-file-capf, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 1d72f84b64 046/146: Add cape-capf-with-properties and cape-silent-capf, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 693a376913 054/146: Revert "Add cape-capf-with-predicate (See #9)", ELPA Syncer, 2022/01/09
- [elpa] externals/cape 8a2cc4c7bb 060/146: Add completion categories, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 496bb4a5e4 065/146: Rename function, ELPA Syncer, 2022/01/09
- [elpa] externals/cape ba85197981 075/146: Update README, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 202345e954 083/146: cape-capf-with-properties: Add support for :sort and :category, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 15491cef1a 087/146: Add link to Emacs, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 659f710682 089/146: Add comment, ELPA Syncer, 2022/01/09
- [elpa] externals/cape ceca3a3d06 077/146: Expand readme, ELPA Syncer, 2022/01/09