From eb3b03c1c686e20c55eeaa21652b318251e16458 Mon Sep 17 00:00:00 2001 From: Theodor Thornhill Date: Thu, 18 Jun 2020 02:09:41 +0300 Subject: [PATCH] New command: project-switch-to-buffer * lisp/progmodes/project.el (project-switch-to-buffer): New command. --- lisp/progmodes/project.el | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 14aafdf2899..d8f56acedf3 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -768,6 +768,19 @@ Arguments the same as in `compile'." (default-directory (project-root pr))) (compile command comint))) +;;;###autoload +(defun project-switch-to-buffer () + "Switch to a buffer in the current project." + (interactive) + (let ((root (project-root (project-current t)))) + (switch-to-buffer + (read-buffer + "Switch to buffer: " nil t + (lambda (buffer) + ;; BUFFER is an entry (BUF-NAME . BUF-OBJ) of Vbuffer_alist. + (when-let ((file (buffer-file-name (cdr buffer)))) + (file-in-directory-p file root))))))) + ;;; Project list -- 2.39.5