]> git.eshelyaron.com Git - emacs.git/commitdiff
Add a way to override project name for project-vc backend
authorDmitry Gutov <dgutov@yandex.ru>
Wed, 23 Nov 2022 02:16:23 +0000 (04:16 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Wed, 23 Nov 2022 02:17:06 +0000 (04:17 +0200)
* lisp/progmodes/project.el (project-vc-name): New user option.
(project-name): Override for VC project backend (bug#48747).

lisp/progmodes/project.el

index 751e240a56ecb0e6e037265f355e209a22618a54..c7b2c386ccd949e5a33ec2c82b3e3a865e5c932f 100644 (file)
@@ -395,6 +395,15 @@ you might have to restart Emacs to see the effect."
   :version "29.1"
   :safe #'booleanp)
 
+(defcustom project-vc-name nil
+  "When non-nil, the name of the current VC project.
+
+The best way to change the value a VC project reports as its
+name, is by setting this in .dir-locals.el."
+  :type 'string
+  :version "29.1"
+  :safe #'stringp)
+
 ;; FIXME: Using the current approach, major modes are supposed to set
 ;; this variable to a buffer-local value.  So we don't have access to
 ;; the "external roots" of language A from buffers of language B, which
@@ -694,6 +703,10 @@ DIRS must contain directory names."
         (push buf bufs)))
     (nreverse bufs)))
 
+(cl-defmethod project-name ((_project (head vc)))
+  (or project-vc-name
+      (cl-call-next-method)))
+
 \f
 ;;; Project commands