Integrate counsel-projectile-switch-project & restore file prompt when switching projects
This commit is contained in:
parent
d0cce3cafb
commit
3578d433c2
3 changed files with 21 additions and 3 deletions
|
@ -114,13 +114,14 @@ immediately runs it on the current candidate (ending the ivy session)."
|
||||||
|
|
||||||
(def-package! counsel-projectile
|
(def-package! counsel-projectile
|
||||||
:commands (counsel-projectile-find-file counsel-projectile-find-dir counsel-projectile-switch-to-buffer
|
:commands (counsel-projectile-find-file counsel-projectile-find-dir counsel-projectile-switch-to-buffer
|
||||||
counsel-projectile-grep counsel-projectile-ag)
|
counsel-projectile-grep counsel-projectile-ag counsel-projectile-switch-project)
|
||||||
:init
|
:init
|
||||||
(map! [remap projectile-find-file] #'counsel-projectile-find-file
|
(map! [remap projectile-find-file] #'counsel-projectile-find-file
|
||||||
[remap projectile-find-dir] #'counsel-projectile-find-dir
|
[remap projectile-find-dir] #'counsel-projectile-find-dir
|
||||||
[remap projectile-switch-to-buffer] #'counsel-projectile-switch-to-buffer
|
[remap projectile-switch-to-buffer] #'counsel-projectile-switch-to-buffer
|
||||||
[remap projectile-grep] #'counsel-projectile-grep
|
[remap projectile-grep] #'counsel-projectile-grep
|
||||||
[remap projectile-ag] #'counsel-projectile-ag)
|
[remap projectile-ag] #'counsel-projectile-ag
|
||||||
|
[remap projectile-switch-project] #'counsel-projectile-switch-project)
|
||||||
:config
|
:config
|
||||||
;; Highlight entries that have been visited
|
;; Highlight entries that have been visited
|
||||||
(ivy-set-display-transformer #'counsel-projectile-find-file #'+ivy-projectile-find-file-transformer))
|
(ivy-set-display-transformer #'counsel-projectile-find-file #'+ivy-projectile-find-file-transformer))
|
||||||
|
|
|
@ -479,6 +479,19 @@ created."
|
||||||
`+workspaces|switch-to-project'."
|
`+workspaces|switch-to-project'."
|
||||||
(setq +workspaces--project-dir default-directory))
|
(setq +workspaces--project-dir default-directory))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(defun +workspaces|switch-counsel-project-action (project)
|
||||||
|
"A `counsel-projectile-switch-project-action' that creates a dedicated
|
||||||
|
workspace for a new project, before prompting to open a file."
|
||||||
|
(when persp-mode
|
||||||
|
(let ((+workspaces--project-dir project)
|
||||||
|
(inhibit-message t))
|
||||||
|
(+workspaces|switch-to-project)))
|
||||||
|
(counsel-projectile-switch-project-action project)
|
||||||
|
(+workspace-message
|
||||||
|
(format "Switched to '%s' in new workspace" new-name)
|
||||||
|
'success))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun +workspaces|switch-to-project ()
|
(defun +workspaces|switch-to-project ()
|
||||||
"Creates a workspace dedicated to a new project. Should be hooked to
|
"Creates a workspace dedicated to a new project. Should be hooked to
|
||||||
|
@ -491,6 +504,9 @@ created."
|
||||||
(new-name (persp-name persp)))
|
(new-name (persp-name persp)))
|
||||||
(+workspace-switch new-name)
|
(+workspace-switch new-name)
|
||||||
(switch-to-buffer (doom-fallback-buffer))
|
(switch-to-buffer (doom-fallback-buffer))
|
||||||
|
(call-interactively
|
||||||
|
(or (command-remapping #'projectile-find-file)
|
||||||
|
#'projectile-find-file))
|
||||||
(+workspace-message
|
(+workspace-message
|
||||||
(format "Switched to '%s' in new workspace" new-name)
|
(format "Switched to '%s' in new workspace" new-name)
|
||||||
'success))
|
'success))
|
||||||
|
|
|
@ -81,7 +81,8 @@ renamed.")
|
||||||
(add-hook 'delete-frame-functions #'+workspaces|delete-associated-workspace)
|
(add-hook 'delete-frame-functions #'+workspaces|delete-associated-workspace)
|
||||||
|
|
||||||
;; per-project workspaces
|
;; per-project workspaces
|
||||||
(setq projectile-switch-project-action #'+workspaces|set-project-action)
|
(setq projectile-switch-project-action #'+workspaces|set-project-action
|
||||||
|
counsel-projectile-switch-project-action #'+workspaces|switch-counsel-project-action)
|
||||||
(add-hook 'projectile-after-switch-project-hook #'+workspaces|switch-to-project)
|
(add-hook 'projectile-after-switch-project-hook #'+workspaces|switch-to-project)
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue