45 lines
1.1 KiB
EmacsLisp
45 lines
1.1 KiB
EmacsLisp
;;; module-perspective.el --- workspace management
|
|
;;;
|
|
;;; Commentary:
|
|
;;;
|
|
;;; Declutter buffer lists.
|
|
;;;
|
|
;;; Code:
|
|
|
|
(require 'module-pkg)
|
|
(pkg/require 'perspective)
|
|
(pkg/require 'persp-projectile)
|
|
|
|
(persp-mode +1)
|
|
(persp-turn-on-modestring)
|
|
|
|
|
|
(defun my-persp-save ()
|
|
(persp-state-save "~/.config/emacs/perspectives"))
|
|
|
|
(defun my-persp-load ()
|
|
(persp-state-load "~/.config/emacs/perspectives"))
|
|
|
|
|
|
(global-set-key (kbd "C-x k") 'persp-kill-buffer*)
|
|
(global-set-key (kbd "C-x x s") 'persp-switch)
|
|
(global-set-key (kbd "C-x x k") 'persp-kill)
|
|
(global-set-key (kbd "C-x x r") 'persp-rename)
|
|
(global-set-key (kbd "C-x x n") 'persp-next)
|
|
(global-set-key (kbd "C-x x p") 'persp-prev)
|
|
(global-set-key (kbd "C-x C-b") 'persp-ibuffer)
|
|
|
|
(define-key projectile-mode-map (kbd "C-x p s") 'projectile-persp-switch-project)
|
|
|
|
(autoload 'projectile-project-root "projectile")
|
|
(setq consult-project-root-function #'projectile-project-root)
|
|
|
|
;; load and save perspectives on load and exit
|
|
(add-hook 'kill-emacs-hook 'my-persp-save)
|
|
(add-hook 'after-init-hook 'my-persp-load)
|
|
|
|
(provide 'module-perspective)
|
|
|
|
;;; module-projectile.el ends here.
|
|
|