From 2f231fcfb763626b8a4ede7da0f80da14a122ca9 Mon Sep 17 00:00:00 2001 From: Theodor Thornhill Date: Thu, 18 Jun 2020 02:05:31 +0300 Subject: [PATCH] Add global bindings for project commands * lisp/progmodes/project.el (project-prefix-map): New variable. Add the new keymap to ctl-x-map. --- lisp/progmodes/project.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 1c1891fcf55..14aafdf2899 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -490,6 +490,23 @@ DIRS must contain directory names." ;; Sidestep the issue of expanded/abbreviated file names here. (cl-set-difference files dirs :test #'file-in-directory-p)) +;;;###autoload +(defvar project-prefix-map + (let ((map (make-sparse-keymap))) + (define-key map "f" 'project-find-file) + (define-key map "s" 'project-shell) + (define-key map "d" 'project-dired) + (define-key map "v" 'project-vc-dir) + (define-key map "c" 'project-compile) + (define-key map "e" 'project-eshell) + (define-key map "p" 'project-switch-project) + (define-key map "g" 'project-find-regexp) + (define-key map "r" 'project-query-replace-regexp) + map) + "Keymap for project commands.") + +;;;###autoload (define-key ctl-x-map "p" project-prefix-map) + (defun project--value-in-dir (var dir) (with-temp-buffer (setq default-directory dir) -- 2.39.5