From 3c8f0c7f98fe2f4e6c5906e3d2e96da592da20ea Mon Sep 17 00:00:00 2001 From: Bozhidar Batsov Date: Fri, 27 Sep 2013 11:36:47 +0300 Subject: [PATCH] Add prelude-find-shell-init-file --- core/prelude-core.el | 10 ++++++++++ core/prelude-mode.el | 1 + 2 files changed, 11 insertions(+) diff --git a/core/prelude-core.el b/core/prelude-core.el index 056d6e7..bd88d1d 100644 --- a/core/prelude-core.el +++ b/core/prelude-core.el @@ -538,5 +538,15 @@ This follows freedesktop standards, should work in X servers." (interactive) (find-file-other-window user-init-file)) +(defun prelude-find-shell-init-file () + "Edit the shell init file in another window." + (interactive) + (let* ((shell (car (reverse (s-split "/" (getenv "SHELL"))))) + (shell-init-file (cond + ((s-equals? "zsh" shell) ".zshrc") + ((s-equals? "bash" shell) ".bashrc") + (t (error "Unknown shell"))))) + (find-file-other-window (expand-file-name shell-init-file (getenv "HOME"))))) + (provide 'prelude-core) ;;; prelude-core.el ends here diff --git a/core/prelude-mode.el b/core/prelude-mode.el index 936bfcf..2258c0a 100644 --- a/core/prelude-mode.el +++ b/core/prelude-mode.el @@ -65,6 +65,7 @@ (define-key map (kbd "C-c +") 'prelude-increment-integer-at-point) (define-key map (kbd "C-c -") 'prelude-decrement-integer-at-point) (define-key map (kbd "C-c I") 'prelude-find-user-init-file) + (define-key map (kbd "C-c S") 'prelude-find-shell-init-file) ;; make some use of the Super key (define-key map [?\s-d] 'projectile-find-dir) (define-key map [?\s-p] 'projectile-switch-project)