Refactor doom/cleanup-session & corresponding evil command

This commit is contained in:
Henrik Lissner 2018-01-03 14:08:41 -05:00
parent 69385fac1a
commit ab0223144c
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 18 additions and 8 deletions

View file

@ -242,18 +242,19 @@ project."
(message "Killed %s buffers" n)))) (message "Killed %s buffers" n))))
;;;###autoload ;;;###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 "Clean up buried buries and orphaned processes in the current workspace. If
ALL-P (universal argument), clean them up globally." ALL-P (universal argument), clean them up globally."
(interactive "P") (interactive (list current-prefix-arg 'interactive))
(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) kill-buffer-query-functions)
(mapc #'kill-buffer buffers) (mapc #'kill-buffer buffers)
(setq n (+ n (length buffers) (doom/cleanup-processes))) (setq n (+ n (length buffers) (doom/cleanup-processes)))
(when (called-interactively-p 'interactive) (run-hooks 'doom-cleanup-hook)
(message "Cleaned up %s buffers" n)))) (when interactive-p
(message "Cleaned up %s buffers" n))
n))
;;;###autoload ;;;###autoload
(defun doom/cleanup-processes () (defun doom/cleanup-processes ()

View file

@ -2,11 +2,20 @@
(defalias 'ex! 'evil-ex-define-cmd) (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! "al[ign]" #'+evil:align)
;;(ex! "g[lobal]" #'+evil:global) ;;(ex! "g[lobal]" #'+evil:global)
;;; Custom commands ;;; Custom commands
;; Editing ;; Editing
(ex! "@" #'+evil:macro-on-all-lines) ; TODO Test me (ex! "@" #'+evil:macro-on-all-lines) ; TODO Test me
(ex! "al[ign]" #'+evil:align) (ex! "al[ign]" #'+evil:align)
@ -39,7 +48,7 @@
(ex! "gblame" #'magit-blame) (ex! "gblame" #'magit-blame)
(ex! "grevert" #'git-gutter:revert-hunk) (ex! "grevert" #'git-gutter:revert-hunk)
;; Dealing with buffers ;; 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]" #'doom/kill-this-buffer)
(ex! "k[ill]all" #'+default:kill-all-buffers) (ex! "k[ill]all" #'+default:kill-all-buffers)
(ex! "k[ill]m" #'+default:kill-matching-buffers) (ex! "k[ill]m" #'+default:kill-matching-buffers)