Fix +ivy/switch-buffer when buffer-list is empty
This commit is contained in:
parent
0574ba2d84
commit
9ccffc718e
1 changed files with 32 additions and 31 deletions
|
@ -3,37 +3,38 @@
|
||||||
;; Show more information in ivy-switch-buffer; and only display
|
;; Show more information in ivy-switch-buffer; and only display
|
||||||
;; workgroup-relevant buffers.
|
;; workgroup-relevant buffers.
|
||||||
(defun +ivy--get-buffers (&optional buffer-list)
|
(defun +ivy--get-buffers (&optional buffer-list)
|
||||||
(let* ((buffer-list (or buffer-list (doom-buffer-list)))
|
(when-let (buffer-list (or buffer-list (doom-buffer-list)))
|
||||||
(min-name
|
(let* ((buffer-list (or buffer-list (doom-buffer-list)))
|
||||||
(+ 5 (cl-loop for buf in buffer-list
|
(min-name
|
||||||
maximize (length (buffer-name buf)))))
|
(+ 5 (cl-loop for buf in buffer-list
|
||||||
(min-mode
|
maximize (length (buffer-name buf)))))
|
||||||
(+ 5 (cl-loop for buf in buffer-list
|
(min-mode
|
||||||
maximize (length (symbol-name (buffer-local-value 'major-mode buf)))))))
|
(+ 5 (cl-loop for buf in buffer-list
|
||||||
(cl-loop
|
maximize (length (symbol-name (buffer-local-value 'major-mode buf)))))))
|
||||||
with project-root = (doom-project-root)
|
(cl-loop
|
||||||
for buf in buffer-list
|
with project-root = (doom-project-root)
|
||||||
collect
|
for buf in buffer-list
|
||||||
(destructuring-bind (type mode path)
|
collect
|
||||||
(with-current-buffer buf
|
(destructuring-bind (type mode path)
|
||||||
(list (concat
|
(with-current-buffer buf
|
||||||
(let ((buffer-name (buffer-name buf)))
|
(list (concat
|
||||||
(propertize
|
(let ((buffer-name (buffer-name buf)))
|
||||||
buffer-name
|
(propertize
|
||||||
'face (cond ((string-match-p "^ ?\\*" buffer-name)
|
buffer-name
|
||||||
'font-lock-comment-face)
|
'face (cond ((string-match-p "^ ?\\*" buffer-name)
|
||||||
((not (string= project-root (doom-project-root)))
|
'font-lock-comment-face)
|
||||||
'warning)
|
((not (string= project-root (doom-project-root)))
|
||||||
(buffer-read-only
|
'warning)
|
||||||
'error))))
|
(buffer-read-only
|
||||||
(when (and buffer-file-name (buffer-modified-p))
|
'error))))
|
||||||
(propertize "[+]" 'face 'doom-modeline-buffer-modified)))
|
(when (and buffer-file-name (buffer-modified-p))
|
||||||
(propertize (symbol-name major-mode) 'face 'font-lock-constant-face)
|
(propertize "[+]" 'face 'doom-modeline-buffer-modified)))
|
||||||
(when buffer-file-name
|
(propertize (symbol-name major-mode) 'face 'font-lock-constant-face)
|
||||||
(abbreviate-file-name
|
(when buffer-file-name
|
||||||
(file-name-directory buffer-file-name)))))
|
(abbreviate-file-name
|
||||||
(format (format "%%-%ds %%-%ds %%s" min-name min-mode)
|
(file-name-directory buffer-file-name)))))
|
||||||
type mode (or path ""))))))
|
(format (format "%%-%ds %%-%ds %%s" min-name min-mode)
|
||||||
|
type mode (or path "")))))))
|
||||||
|
|
||||||
(defun +ivy--select-buffer-action (buffer)
|
(defun +ivy--select-buffer-action (buffer)
|
||||||
(ivy--switch-buffer-action
|
(ivy--switch-buffer-action
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue