summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mendler <mail@daniel-mendler.de>2022-12-02 15:57:42 +0100
committerDaniel Mendler <mail@daniel-mendler.de>2022-12-02 15:57:42 +0100
commit84680339ca5c195c4c1574392e71e35dc549f3d2 (patch)
tree3a173b6c60a1546141d23c6200ff1312a47aaf18
parent2c16c8aa62b46acc310d218911b3469dc1f183be (diff)
Add cape-wrap/capf-nonexclusive
-rw-r--r--README.org1
-rw-r--r--cape.el7
2 files changed, 8 insertions, 0 deletions
diff --git a/README.org b/README.org
index b5c796a..c6d6474 100644
--- a/README.org
+++ b/README.org
@@ -231,6 +231,7 @@ the Capf transformers with =defalias= to a function symbol.
- ~cape-wrap-accept-all~, ~cape-capf-accept-all~: Create a Capf which accepts every input as valid.
- ~cape-wrap-silent~, ~cape-capf-silent~: Wrap a chatty Capf and silence it.
- ~cape-wrap-purify~, ~cape-capf-purify~: Purify a broken Capf and ensure that it does not modify the buffer.
+- ~cape-wrap-nonexclusive~, ~cape-capf-nonexclusive:~ Mark Capf as non-exclusive.
- ~cape-wrap-noninterruptible~, ~cape-capf-noninterruptible:~ Protect a Capf which does not like to be interrupted.
- ~cape-wrap-case-fold~, ~cape-capf-case-fold~: Create a Capf which is case insensitive.
- ~cape-wrap-properties~, ~cape-capf-properties~: Add completion properties to a Capf.
diff --git a/cape.el b/cape.el
index 4db1180..9c10c82 100644
--- a/cape.el
+++ b/cape.el
@@ -753,6 +753,11 @@ completion :category symbol can be specified."
,@properties ,@plist))))
;;;###autoload
+(defun cape-wrap-nonexclusive (capf)
+ "Call CAPF and ensure that it is marked as non-exclusive."
+ (cape-wrap-properties capf :exclusive 'no))
+
+;;;###autoload
(defun cape-wrap-predicate (capf predicate)
"Call CAPF and add an additional candidate PREDICATE.
The PREDICATE is passed the candidate symbol or string."
@@ -845,6 +850,8 @@ If the prefix is long enough, enforce auto completion."
(cape--capf-wrapper case-fold)
;;;###autoload (autoload 'cape-capf-noninterruptible "cape")
(cape--capf-wrapper noninterruptible)
+;;;###autoload (autoload 'cape-capf-nonexclusive "cape")
+(cape--capf-wrapper nonexclusive)
;;;###autoload (autoload 'cape-capf-predicate "cape")
(cape--capf-wrapper predicate)
;;;###autoload (autoload 'cape-capf-prefix-length "cape")