From f987e2dbb7c066d73328a7c8b2bf6e6aaa5dfd12 Mon Sep 17 00:00:00 2001 From: Benson Chu Date: Sat, 24 Sep 2022 16:28:27 -0500 Subject: [PATCH] Automatically switch tabs for certain projectile projects --- lisp/keymap.el | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lisp/keymap.el b/lisp/keymap.el index 2559d65..61bbe2f 100644 --- a/lisp/keymap.el +++ b/lisp/keymap.el @@ -76,6 +76,20 @@ (define-key *root-map* (kbd "n") 'toggle-notifications) (when (<= 27 emacs-major-version) - (require 'switch-tabs)) + (require 'switch-tabs) + + (defun projectile-switch-switch-tab (project arg) + (let* ((dir-name (-> project + (directory-file-name) + (file-name-nondirectory))) + (tab-name + (cond ((member dir-name '("emacs-config" ".emacs.d")) "emacs-devel") + ((member dir-name '("agenda" "org" "work")) "org")))) + (when tab-name + (switch-or-create-tab tab-name)))) + + (advice-add #'projectile-switch-project-by-name + :before + #'projectile-switch-switch-tab)) (provide 'keymap)