[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/cape 1d72f84b64 046/146: Add cape-capf-with-properties
From: |
ELPA Syncer |
Subject: |
[elpa] externals/cape 1d72f84b64 046/146: Add cape-capf-with-properties and cape-silent-capf |
Date: |
Sun, 9 Jan 2022 20:57:41 -0500 (EST) |
branch: externals/cape
commit 1d72f84b64e3effb9676392351977e43557d3b80
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Add cape-capf-with-properties and cape-silent-capf
---
cape.el | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/cape.el b/cape.el
index 13f3026129..8a8298f12e 100644
--- a/cape.el
+++ b/cape.el
@@ -669,5 +669,30 @@ 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))))))
+(defun cape-capf-with-properties (capf &rest properties)
+ "Return a new CAPF with additional completion PROPERTIES.
+Completion properties include for example :exclusive, :annotation-function
+and the various :company-* extensions."
+ (lambda ()
+ (pcase (funcall capf)
+ (`(,beg ,end ,table . ,plist)
+ `(,beg ,end ,table ,@properties ,@plist)))))
+
+(defmacro cape--silent (&rest body)
+ "Silence BODY."
+ `(cl-letf ((inhibit-message t)
+ ((symbol-function #'minibuffer-message) #'ignore))
+ (ignore-errors ,@body)))
+
+(defun cape-silent-capf (capf)
+ "Return a new CAPF which is silent (no messages, no errors)."
+ (lambda ()
+ (pcase (cape--silent (funcall capf))
+ (`(,beg ,end ,table . ,plist)
+ `(,beg ,end
+ ,(lambda (str pred action)
+ (cape--silent (complete-with-action action table str pred)))
+ ,@plist)))))
+
(provide 'cape)
;;; cape.el ends here
- [elpa] externals/cape 5319e343bb 136/146: Improve repair function, (continued)
- [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, 2022/01/09
- [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 <=
- [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
- [elpa] externals/cape c57b01e982 091/146: Improve dynamic table support of cape-super-capf, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 7008958b02 078/146: Minor corrections, ELPA Syncer, 2022/01/09