doom/cleanup-buffers => doom/cleanup-session

This commit is contained in:
Henrik Lissner 2017-12-30 00:59:44 -05:00
parent 61df57b86a
commit 707b69540d
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
3 changed files with 25 additions and 23 deletions

View file

@ -185,23 +185,6 @@ See `doom-real-buffer-p' for what 'real' means."
(delete-window window))) (delete-window window)))
(kill-buffer buffer)) (kill-buffer buffer))
;;;###autoload
(defun doom-kill-process-buffers ()
"Kill all processes that have no visible associated buffers. Return number of
processes killed."
(interactive)
(let ((n 0))
(dolist (p (process-list))
(let ((process-buffer (process-buffer p)))
(when (and (process-live-p p)
(not (string= (process-name p) "server"))
(or (not process-buffer)
(and (bufferp process-buffer)
(not (buffer-live-p process-buffer)))))
(delete-process p)
(cl-incf n))))
n))
;;;###autoload ;;;###autoload
(defun doom-kill-matching-buffers (pattern &optional buffer-list) (defun doom-kill-matching-buffers (pattern &optional buffer-list)
"Kill all buffers (in current workspace OR in BUFFER-LIST) that match the "Kill all buffers (in current workspace OR in BUFFER-LIST) that match the
@ -281,17 +264,36 @@ project."
(message "Killed %s buffers" n)))) (message "Killed %s buffers" n))))
;;;###autoload ;;;###autoload
(defun doom/cleanup-buffers (&optional all-p) (defun doom/cleanup-session (&optional all-p)
"Clean up buried and inactive process buffers in the current workspace." "Clean up buried buries and orphaned processes in the current workspace. If
ALL-P (universal argument), clean them up globally."
(interactive "P") (interactive "P")
(run-hooks 'doom-cleanup-hook) (run-hooks 'doom-cleanup-hook)
(let ((buffers (doom-buried-buffers (if all-p (buffer-list)))) (let ((buffers (doom-buried-buffers (if all-p (buffer-list))))
(n 0)) (n 0)
kill-buffer-query-functions)
(mapc #'kill-buffer buffers) (mapc #'kill-buffer buffers)
(setq n (+ n (length buffers) (doom-kill-process-buffers))) (setq n (+ n (length buffers) (doom/cleanup-processes)))
(when (called-interactively-p 'interactive) (when (called-interactively-p 'interactive)
(message "Cleaned up %s buffers" n)))) (message "Cleaned up %s buffers" n))))
;;;###autoload
(defun doom/cleanup-processes ()
"Kill all processes that have no visible associated buffers. Return number of
processes killed."
(interactive)
(let ((n 0))
(dolist (p (process-list))
(let ((process-buffer (process-buffer p)))
(when (and (process-live-p p)
(not (string= (process-name p) "server"))
(or (not process-buffer)
(and (bufferp process-buffer)
(not (buffer-live-p process-buffer)))))
(delete-process p)
(cl-incf n))))
n))
;;;###autoload ;;;###autoload
(defun doom/next-buffer () (defun doom/next-buffer ()
"Switch to the next real buffer, skipping non-real buffers. See "Switch to the next real buffer, skipping non-real buffers. See

View file

@ -131,4 +131,4 @@
;; TODO doom/kill-all-buffers ;; TODO doom/kill-all-buffers
;; TODO doom/kill-other-buffers ;; TODO doom/kill-other-buffers
;; TODO doom/kill-matching-buffers ;; TODO doom/kill-matching-buffers
;; TODO doom/cleanup-buffers ;; TODO doom/cleanup-session

View file

@ -310,7 +310,7 @@ workspace to delete."
(doom/kill-all-buffers) (doom/kill-all-buffers)
(let ((fallback-buf (doom-fallback-buffer))) (let ((fallback-buf (doom-fallback-buffer)))
(switch-to-buffer fallback-buf) (switch-to-buffer fallback-buf)
(doom/cleanup-buffers))) (doom/cleanup-session)))
;;;###autoload ;;;###autoload
(defun +workspace/kill-session-and-quit () (defun +workspace/kill-session-and-quit ()