doom/cleanup-buffers => doom/cleanup-session
This commit is contained in:
parent
61df57b86a
commit
707b69540d
3 changed files with 25 additions and 23 deletions
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 ()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue