diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 218058b195..30d1d5a3dd 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -753,6 +753,19 @@ project-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) + (when-let ((file (buffer-file-name (cdr buffer)))) + (when (file-in-directory-p file root) + t))))))) + ;;; Project list