Add custom fn to find project.el project roots
This commit is contained in:
parent
221343d166
commit
f158054a15
17
init.el
17
init.el
@ -375,6 +375,23 @@
|
||||
(delete-directory package-user-dir t)
|
||||
(init-file/byte-compile-init-file)))
|
||||
|
||||
(defun init-file/project-find-projects ()
|
||||
"Prompt for a directory and then search for any project roots within."
|
||||
(interactive)
|
||||
(when-let* ((valid-root-p (lambda (path)
|
||||
(and (file-accessible-directory-p path)
|
||||
(not (string= (file-name-nondirectory path) ".git")))))
|
||||
(directory (read-directory-name "Look for projects in: "))
|
||||
(project-list (mapcar 'file-name-directory (directory-files-recursively directory "\\.git$" 'valid-root-p t )))
|
||||
(num-projects-found (length project-list))
|
||||
(temp-buffer-name (concat "*" (number-to-string num-projects-found) " Project Roots Found*"))
|
||||
(temp-buffer (with-output-to-temp-buffer temp-buffer-name (progn (princ (mapconcat 'identity project-list "\n"))
|
||||
standard-output))))
|
||||
(when (yes-or-no-p "Index all of these directories as projects? ")
|
||||
(mapc 'project-remember-projects-under project-list)
|
||||
(message "%d%s" num-projects-found " directories indexed as projects."))
|
||||
(kill-buffer temp-buffer)))
|
||||
|
||||
;; Make sure that this init file is byte-compiled whenever it changes.
|
||||
(if (file-newer-than-file-p
|
||||
(concat user-emacs-directory "init.el")
|
||||
|
Loading…
Reference in New Issue
Block a user