Prevent doom buffer from sneaking into saved workgroups
This commit is contained in:
parent
799ea3054d
commit
efb2d30bb4
2 changed files with 12 additions and 5 deletions
|
@ -12,6 +12,8 @@
|
||||||
"The name of the doom scratch buffer.")
|
"The name of the doom scratch buffer.")
|
||||||
(defvar doom-buffer-edited nil
|
(defvar doom-buffer-edited nil
|
||||||
"If non-nil, the scratch buffer has been edited.")
|
"If non-nil, the scratch buffer has been edited.")
|
||||||
|
(defvar doom-buffer-inhibit-refresh nil
|
||||||
|
"If non-nil, the doom buffer won't be refreshed.")
|
||||||
|
|
||||||
(define-derived-mode doom-mode fundamental-mode
|
(define-derived-mode doom-mode fundamental-mode
|
||||||
(concat "v" doom-version)
|
(concat "v" doom-version)
|
||||||
|
@ -45,7 +47,8 @@ buffer. Without this, it would refuse to split, saying 'too small to split'."
|
||||||
|
|
||||||
(defun doom-reload-scratch-buffer (&optional dir)
|
(defun doom-reload-scratch-buffer (&optional dir)
|
||||||
"Update the DOOM scratch buffer (or create it, if it doesn't exist)."
|
"Update the DOOM scratch buffer (or create it, if it doesn't exist)."
|
||||||
(when (and (get-buffer-window-list doom-buffer nil t)
|
(when (and (not doom-buffer-inhibit-refresh)
|
||||||
|
(get-buffer-window-list doom-buffer nil t)
|
||||||
(or (not doom-buffer-edited) dir)
|
(or (not doom-buffer-edited) dir)
|
||||||
(not (minibuffer-window-active-p (minibuffer-window))))
|
(not (minibuffer-window-active-p (minibuffer-window))))
|
||||||
(doom--reload-scratch-buffer dir)))
|
(doom--reload-scratch-buffer dir)))
|
||||||
|
|
|
@ -2,9 +2,12 @@
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun doom|wg-cleanup ()
|
(defun doom|wg-cleanup ()
|
||||||
|
"Remove unsavable windows and buffers before we save the window
|
||||||
|
configuration."
|
||||||
|
(let (doom-buffer-inhibit-refresh)
|
||||||
(doom/popup-close-all)
|
(doom/popup-close-all)
|
||||||
(when (and (featurep 'neotree) (neo-global--window-exists-p))
|
(when (and (featurep 'neotree) (neo-global--window-exists-p))
|
||||||
(neotree-hide)))
|
(neotree-hide))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun doom/wg-projectile-switch-project ()
|
(defun doom/wg-projectile-switch-project ()
|
||||||
|
@ -17,9 +20,9 @@
|
||||||
;;;###autoload (autoload 'doom:workgroup-save "defuns-workgroup" nil t)
|
;;;###autoload (autoload 'doom:workgroup-save "defuns-workgroup" nil t)
|
||||||
(evil-define-command doom:workgroup-save (&optional bang session-name)
|
(evil-define-command doom:workgroup-save (&optional bang session-name)
|
||||||
(interactive "<!><a>")
|
(interactive "<!><a>")
|
||||||
|
(doom|wg-cleanup)
|
||||||
(unless (wg-workgroup-list)
|
(unless (wg-workgroup-list)
|
||||||
(wg-create-workgroup wg-first-wg-name))
|
(wg-create-workgroup wg-first-wg-name))
|
||||||
(doom|wg-cleanup)
|
|
||||||
(wg-save-session-as (if session-name
|
(wg-save-session-as (if session-name
|
||||||
(concat wg-workgroup-directory session-name)
|
(concat wg-workgroup-directory session-name)
|
||||||
(if bang
|
(if bang
|
||||||
|
@ -29,6 +32,7 @@
|
||||||
;;;###autoload (autoload 'doom:workgroup-load "defuns-workgroup" nil t)
|
;;;###autoload (autoload 'doom:workgroup-load "defuns-workgroup" nil t)
|
||||||
(evil-define-command doom:workgroup-load (&optional bang session-name)
|
(evil-define-command doom:workgroup-load (&optional bang session-name)
|
||||||
(interactive "<!><a>")
|
(interactive "<!><a>")
|
||||||
|
(doom|wg-cleanup)
|
||||||
(let ((session-file (if session-name
|
(let ((session-file (if session-name
|
||||||
(concat wg-workgroup-directory session-name)
|
(concat wg-workgroup-directory session-name)
|
||||||
(let ((sess (concat wg-workgroup-directory (f-filename (doom/project-root)))))
|
(let ((sess (concat wg-workgroup-directory (f-filename (doom/project-root)))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue