diff --git a/core/autoload/buffers.el b/core/autoload/buffers.el index 0548757be..0433fa706 100644 --- a/core/autoload/buffers.el +++ b/core/autoload/buffers.el @@ -242,18 +242,19 @@ project." (message "Killed %s buffers" n)))) ;;;###autoload -(defun doom/cleanup-session (&optional all-p) +(defun doom/cleanup-session (&optional all-p interactive-p) "Clean up buried buries and orphaned processes in the current workspace. If ALL-P (universal argument), clean them up globally." - (interactive "P") - (run-hooks 'doom-cleanup-hook) + (interactive (list current-prefix-arg 'interactive)) (let ((buffers (doom-buried-buffers (if all-p (buffer-list)))) (n 0) kill-buffer-query-functions) (mapc #'kill-buffer buffers) (setq n (+ n (length buffers) (doom/cleanup-processes))) - (when (called-interactively-p 'interactive) - (message "Cleaned up %s buffers" n)))) + (run-hooks 'doom-cleanup-hook) + (when interactive-p + (message "Cleaned up %s buffers" n)) + n)) ;;;###autoload (defun doom/cleanup-processes () diff --git a/modules/private/default/+evil-commands.el b/modules/private/default/+evil-commands.el index 306ea8834..2ee09ea6c 100644 --- a/modules/private/default/+evil-commands.el +++ b/modules/private/default/+evil-commands.el @@ -2,11 +2,20 @@ (defalias 'ex! 'evil-ex-define-cmd) - ;;; Commands defined elsewhere +(evil-define-command doom:cleanup-session (&optional bang) + (interactive "") + (doom/cleanup-session bang)) + + +;; +;; Commands +;; + +;;; Commands defined elsewhere ;;(ex! "al[ign]" #'+evil:align) ;;(ex! "g[lobal]" #'+evil:global) - ;;; Custom commands +;;; Custom commands ;; Editing (ex! "@" #'+evil:macro-on-all-lines) ; TODO Test me (ex! "al[ign]" #'+evil:align) @@ -39,7 +48,7 @@ (ex! "gblame" #'magit-blame) (ex! "grevert" #'git-gutter:revert-hunk) ;; Dealing with buffers -(ex! "clean[up]" #'doom/cleanup-session) +(ex! "clean[up]" #'doom:cleanup-session) (ex! "k[ill]" #'doom/kill-this-buffer) (ex! "k[ill]all" #'+default:kill-all-buffers) (ex! "k[ill]m" #'+default:kill-matching-buffers)