[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vertico c4b3e8b 42/48: Simplify minicomp--flatten-prop
From: |
Stefan Monnier |
Subject: |
[elpa] externals/vertico c4b3e8b 42/48: Simplify minicomp--flatten-prop |
Date: |
Mon, 5 Apr 2021 10:54:47 -0400 (EDT) |
branch: externals/vertico
commit c4b3e8be2ffd58d578d0b9a9dddadd7fc8f7cdf5
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Simplify minicomp--flatten-prop
---
minicomp.el | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/minicomp.el b/minicomp.el
index bc09332..a66c7cb 100644
--- a/minicomp.el
+++ b/minicomp.el
@@ -282,15 +282,15 @@
minicomp--total total
minicomp--candidates candidates))))
-(defun minicomp--replace-prop (prop fun str)
- "Replace STR parts with PROP using FUN."
+(defun minicomp--flatten-prop (prop insert str)
+ "Flatten STR with PROP, INSERT or remove."
(let ((len (length str)) (pos 0) (chunks))
(while (/= pos len)
(let ((end (next-single-property-change pos prop str len)))
- (push (if-let (val (get-text-property pos prop str))
- (funcall fun val)
- (substring str pos end))
- chunks)
+ (if-let (val (get-text-property pos prop str))
+ (when (and insert (stringp val))
+ (push val chunks))
+ (push (substring str pos end) chunks))
(setq pos end)))
(apply #'concat (nreverse chunks))))
@@ -332,8 +332,8 @@
(replace-regexp-in-string "[\t ]+" " ")
(replace-regexp-in-string "[\t\n ]*\n[\t\n ]*" (car
minicomp-truncation))
(string-trim)
- (minicomp--replace-prop 'display (lambda (x) (if (stringp
x) x "")))
- (minicomp--replace-prop 'invisible (lambda (_) "")))
+ (minicomp--flatten-prop 'display 'insert)
+ (minicomp--flatten-prop 'invisible nil))
cand (truncate-string-to-width cand max-width 0 nil (cadr
minicomp-truncation))
cand (concat prefix cand
(if (text-property-not-all 0 (length suffix) 'face
nil suffix)
- [elpa] externals/vertico f558f53 04/48: extract minicomp--pred, (continued)
- [elpa] externals/vertico f558f53 04/48: extract minicomp--pred, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 9db7c78 20/48: add minicomp-count-format, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 245944a 21/48: remap previous/next-line, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 7fbaeaf 15/48: Add sorting by history for files, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico c2bfea2 17/48: use candidate returned from affixation function, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico bafee15 19/48: add minicomp-exit-input, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico e8a3e96 16/48: Minor optimization, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 333a0a2 29/48: use chunks for candidate formatting, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 8b760bc 30/48: Fix minicomp--index initialization, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico ed87a60 33/48: Require 27.1, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico c4b3e8b 42/48: Simplify minicomp--flatten-prop,
Stefan Monnier <=
- [elpa] externals/vertico 99a355c 12/48: abort minibuffer session if while-no-input returns nil, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico f835fb6 14/48: add readme, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 1b75916 18/48: better orderless integration, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 42823ce 25/48: Use read-char-exclusive to avoid error message, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico af41b13 24/48: fix lexical scoping, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico fa9e8dc 26/48: split functions, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 27070bb 27/48: truncate long candidate strings, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 94d9c4c 28/48: use literals, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 5f64f97 22/48: update readme, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 308670c 31/48: Fix confirmation: Use ignore-errors+read-char, Stefan Monnier, 2021/04/05