branch: master
commit 1e935469a225b04203d41f5baba221fecba6e445
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>
ivy.el (ivy-switch-buffer-transformer): Compose face
Fixes #992
---
counsel.el | 4 ++--
ivy.el | 8 +++++++-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/counsel.el b/counsel.el
index c2a5917..302c735 100644
--- a/counsel.el
+++ b/counsel.el
@@ -448,7 +448,7 @@ Update the minibuffer with the amount of lines collected
every
(defun counsel-describe-variable-transformer (var)
"Propertize VAR if it's a custom variable."
(if (custom-variable-p (intern var))
- (propertize var 'face 'ivy-highlight-face)
+ (ivy-append-face var 'ivy-highlight-face)
var))
(ivy-set-display-transformer
@@ -484,7 +484,7 @@ Variables declared using `defcustom' are highlighted
according to
(defun counsel-describe-function-transformer (function-name)
"Propertize FUNCTION-NAME if it's an interactive function."
(if (commandp (intern function-name))
- (propertize function-name 'face 'ivy-highlight-face)
+ (ivy-append-face function-name 'ivy-highlight-face)
function-name))
(ivy-set-display-transformer
diff --git a/ivy.el b/ivy.el
index 62d837f..94e49c4 100644
--- a/ivy.el
+++ b/ivy.el
@@ -3323,12 +3323,18 @@ Skip buffers that match `ivy-ignore-buffers'."
(ivy-set-display-transformer
'internal-complete-buffer 'ivy-switch-buffer-transformer)
+(defun ivy-append-face (str face)
+ (let ((new (copy-sequence str)))
+ (font-lock-append-text-property
+ 0 (length new) 'face face new)
+ new))
+
(defun ivy-switch-buffer-transformer (str)
(let ((b (get-buffer str)))
(if (and b
(buffer-file-name b)
(buffer-modified-p b))
- (propertize str 'face 'ivy-modified-buffer)
+ (ivy-append-face str 'ivy-modified-buffer)
str)))
(defun ivy-switch-buffer-occur ()