Fix new workspace & file prompt on project switch

Properly initialize a new workspace, switch to the fallback buffer
(scratch/dash), update its default-directory to the project root, and
fuzzy-prompt for a file to open.
This commit is contained in:
Henrik Lissner 2017-08-06 18:38:19 +02:00
parent 85c28444b3
commit 6d44cec666
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 16 additions and 9 deletions

View file

@ -459,12 +459,6 @@ the workspace and move to the next."
(+workspace/new)
(set-frame-parameter frame 'assoc-persp (+workspace-current-name)))
;;;###autoload
(defun +workspaces|create-project-workspace ()
"Create a new workspace when switching project with `projectile'."
(when persp-mode
(+workspace-switch (projectile-project-name) t)))
;;;###autoload
(defun +workspaces|delete-associated-workspace-maybe (frame)
"Delete workspace associated with current frame IF it has no real buffers."
@ -480,3 +474,15 @@ the workspace and move to the next."
(when (doom-real-buffer-list)
(apply orig-fn args))
t)
;;;###autoload
(defun +workspaces*switch-project-by-name (orig-fn &rest args)
"Switch to a project and prompt for a file to open.
Ensures the scratch (or dashboard) buffers are CDed into the project's root."
(when persp-mode
(+workspace-switch (car args) t)
(with-current-buffer (switch-to-buffer (doom-fallback-buffer))
(setq default-directory (car args))))
(apply orig-fn args))