Fix #100: void variables in +ivy--get-buffers

This commit is contained in:
Henrik Lissner 2017-06-09 13:16:30 +02:00
parent ae2ca94609
commit 102c7df400
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -3,38 +3,37 @@
;; 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 ((min-name 5) (let* ((buffer-list (or buffer-list (doom-buffer-list)))
(min-mode 5) (min-name
(proot (doom-project-root))) (+ 5 (cl-loop for buf in buffer-list
(cl-loop for buf in (or buffer-list (doom-buffer-list)) maximize (length (buffer-name buf)))))
collect (min-mode
(destructuring-bind (type mode path) (+ 5 (cl-loop for buf in buffer-list
(+ivy--get-buffer-attrs buf proot) maximize (length (symbol-name (buffer-local-value 'major-mode buf)))))))
(format (format "%%-%ds %%-%ds %%s" min-name min-mode) (cl-loop
type mode (or path "")))))) with project-root = (doom-project-root)
for buf in buffer-list
(defun +ivy--get-buffer-attrs (b &optional project-root) collect
(with-current-buffer b (destructuring-bind (type mode path)
(let ((buffer-name (buffer-name b)) (with-current-buffer buf
(mode-name (symbol-name major-mode))) (list (concat
(when (> (length buffer-name) min-name) (let ((buffer-name (buffer-name buf)))
(setq min-name (+ (length buffer-name) 15))) (propertize
(when (> (length mode-name) min-mode) buffer-name
(setq min-mode (+ (length mode-name) 3))) 'face (cond ((string-match-p "^ ?\\*" buffer-name)
(list (concat 'font-lock-comment-face)
(propertize buffer-name ((not (string= project-root (doom-project-root)))
'face (cond ((string-match-p "^ ?\\*" buffer-name) 'warning)
'font-lock-comment-face) (buffer-read-only
((and project-root 'error))))
(not (string= project-root (doom-project-root)))) (when (and buffer-file-name (buffer-modified-p))
'font-lock-keyword-face) (propertize "[+]" 'face 'doom-modeline-buffer-modified)))
(buffer-read-only (propertize (symbol-name major-mode) 'face 'font-lock-constant-face)
'error))) (when buffer-file-name
(when (and buffer-file-name (buffer-modified-p)) (abbreviate-file-name
(propertize "[+]" 'face 'doom-modeline-buffer-modified))) (file-name-directory buffer-file-name)))))
(propertize mode-name 'face 'font-lock-constant-face) (format (format "%%-%ds %%-%ds %%s" min-name min-mode)
(when buffer-file-name type mode (or path ""))))))
(abbreviate-file-name (file-name-directory buffer-file-name)))))))
(defun +ivy--select-buffer-action (buffer) (defun +ivy--select-buffer-action (buffer)
(ivy--switch-buffer-action (ivy--switch-buffer-action