They've been removed from feature/workspaces and moved into core/autoload/sessions, which falls back to desktop.el if persp-mode isn't present. This also offers a substantial speed up to restart+restoring and restoring sessions in general. Also fixes #1210, where the newly spawned frame after doom/restart wasn't focused. Introduces the following commands: - doom/restart - doom/restart-and-restore - doom/quickload-session - doom/quicksave-session - doom/load-session - doom/save-session - +workspace/restore-last-session (alias for doom/quickload-session) And removes - +workspace/load-session - +workspace/save-session - +workspace/load-last-session (renamed to +workspace/restore-last-session) - +workspace/restart-emacs-then-restore (replaced by doom/restart-and-restore) - :ss (ex command) - :sl (ex command)
39 lines
1.9 KiB
EmacsLisp
39 lines
1.9 KiB
EmacsLisp
;;; feature/workspaces/autoload/evil.el -*- lexical-binding: t; -*-
|
|
;;;###if (featurep! :feature evil)
|
|
|
|
;;;###autoload (autoload '+workspace:save "feature/workspaces/autoload/evil" nil t)
|
|
(evil-define-command +workspace:save (&optional name)
|
|
"Ex wrapper around `+workspace/save-session'."
|
|
(interactive "<a>") (+workspace/save name))
|
|
|
|
;;;###autoload (autoload '+workspace:load "feature/workspaces/autoload/evil" nil t)
|
|
(evil-define-command +workspace:load (&optional name)
|
|
"Ex wrapper around `+workspace/load-session'."
|
|
(interactive "<a>") (+workspace/load name))
|
|
|
|
;;;###autoload (autoload '+workspace:new "feature/workspaces/autoload/evil" nil t)
|
|
(evil-define-command +workspace:new (bang name)
|
|
"Ex wrapper around `+workspace/new'. If BANG, clone the current workspace."
|
|
(interactive "<!><a>") (+workspace/new name bang))
|
|
|
|
;;;###autoload (autoload '+workspace:rename "feature/workspaces/autoload/evil" nil t)
|
|
(evil-define-command +workspace:rename (new-name)
|
|
"Ex wrapper around `+workspace/rename'."
|
|
(interactive "<a>") (+workspace/rename new-name))
|
|
|
|
;;;###autoload (autoload '+workspace:delete "feature/workspaces/autoload/evil" nil t)
|
|
(evil-define-command +workspace:delete ()
|
|
"Ex wrapper around `+workspace/delete'."
|
|
(interactive) (+workspace/delete (+workspace-current-name)))
|
|
|
|
;;;###autoload (autoload '+workspace:switch-next "feature/workspaces/autoload/evil" nil t)
|
|
(evil-define-command +workspace:switch-next (&optional count)
|
|
"Switch to next workspace. If COUNT, switch to COUNT-th workspace."
|
|
(interactive "<c>")
|
|
(if count (+workspace/switch-to count) (+workspace/cycle +1)))
|
|
|
|
;;;###autoload (autoload '+workspace:switch-previous "feature/workspaces/autoload/evil" nil t)
|
|
(evil-define-command +workspace:switch-previous (&optional count)
|
|
"Switch to previous workspace. If COUNT, switch to COUNT-th workspace."
|
|
(interactive "<c>")
|
|
(if count (+workspace/switch-to count) (+workspace/cycle -1)))
|