[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/icomplete-vertical fbc84d8 8/9: Add icomplete--format-function t
From: |
Jimmy Aguilar Mena |
Subject: |
feature/icomplete-vertical fbc84d8 8/9: Add icomplete--format-function to format items. |
Date: |
Sun, 13 Sep 2020 09:47:55 -0400 (EDT) |
branch: feature/icomplete-vertical
commit fbc84d87c1b1295d562b35bcd5aa3dd6e1914ca3
Author: Jimmy Aguilar Mena <spacibba@aol.com>
Commit: Jimmy Aguilar Mena <spacibba@aol.com>
Add icomplete--format-function to format items.
Add custom icomplete-item-format to accept functions, string formats and
nil.
---
lisp/icomplete.el | 26 ++++++++++++++++++++------
1 file changed, 20 insertions(+), 6 deletions(-)
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index a357935..ebf251c 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -149,9 +149,17 @@ icompletion is occurring."
:version "28.1")
-(defcustom icomplete-item-format "%s"
- "Indicator bounds for match in the minibuffer when require-match."
- :type 'string
+(defcustom icomplete-item-format nil
+ "Format to use in every completion item.
+
+When this variable is a string the items are added using the
+format function. When this variable is a function the items are
+calling the function and passing it as a parameter. The function
+is passed to mapcar and should receive one string argument and
+return a string."
+ :type '(choice (string :tag "String format")
+ (function :tag "Format function")
+ (const :tag "None" nil))
:version "28.1")
(defvar icomplete--separator nil
@@ -450,6 +458,14 @@ completions:
(md (completion--field-metadata beg)))
(alist-get 'category (cdr md))))
+(defun icomplete--format-function (item)
+ (cond
+ ((stringp icomplete-item-format)
+ (format icomplete-item-format item))
+ ((functionp icomplete-item-format)
+ (funcall icomplete-item-format item))
+ (t item)))
+
;;;_ > icomplete-simple-completing-p ()
(defun icomplete-simple-completing-p ()
"Non-nil if current window is a minibuffer that's doing simple completion.
@@ -950,9 +966,7 @@ minibuffer completion."
(concat determ
(format icomplete--list-indicators
(mapconcat
- (lambda (item)
- (format icomplete-item-format item))
- prospects icomplete--separator)))
+ #'icomplete--format-function prospects
icomplete--separator)))
(concat determ " [Matched]"))))))
;;; Iswitchb compatibility
- branch feature/icomplete-vertical created (now 9718db9), Jimmy Aguilar Mena, 2020/09/13
- feature/icomplete-vertical 6c74674 1/9: Add variables for icomplete indicators., Jimmy Aguilar Mena, 2020/09/13
- feature/icomplete-vertical 4047304 4/9: Icomplete-vertical fix first candidate and icomplete-hide-common-prefix., Jimmy Aguilar Mena, 2020/09/13
- feature/icomplete-vertical 3007a5e 2/9: WIP_minor, Jimmy Aguilar Mena, 2020/09/13
- feature/icomplete-vertical bfe0127 3/9: Improve icomplete-vertical implementation., Jimmy Aguilar Mena, 2020/09/13
- feature/icomplete-vertical 3f68496 5/9: icomplete-vertical code simplify, Jimmy Aguilar Mena, 2020/09/13
- feature/icomplete-vertical 40b57c4 7/9: icomplete add item format., Jimmy Aguilar Mena, 2020/09/13
- feature/icomplete-vertical fbc84d8 8/9: Add icomplete--format-function to format items.,
Jimmy Aguilar Mena <=
- feature/icomplete-vertical 9718db9 9/9: Add special management of first candidate, Jimmy Aguilar Mena, 2020/09/13
- feature/icomplete-vertical 372feef 6/9: Add modified local map for icomplete., Jimmy Aguilar Mena, 2020/09/13