(Emacs/config)~+project/generate-tags uses root folder

Instead of giving all the project files that project.el THINKS I want,
let's just use the folder itself and abuse ctags.  Leads to better
TAGS overall.
This commit is contained in:
2024-08-24 20:02:38 +01:00
parent 594f15ed72
commit 8156bff81a

View File

@@ -2609,14 +2609,14 @@ quickly generate them in C/C++ projects.
(if (not project) (if (not project)
(message "+project/generate-tags: Not in project.") (message "+project/generate-tags: Not in project.")
(let ((tags-file (concat (project-root project) "TAGS")) (let ((tags-file (concat (project-root project) "TAGS"))
(files (format "%s" (project-files project)))) (folder (format "%s" (project-root project))))
(set-process-sentinel (set-process-sentinel
(start-process-shell-command (start-process-shell-command
"PROJECT-GENERATE-TAGS" "PROJECT-GENERATE-TAGS"
"*gen-tags*" "*gen-tags*"
(format "ctags -Re -f %s %s" (format "ctags -Re -f %s %s"
tags-file tags-file
(substring files 1 (- (length files) 1)))) (concat folder "*")))
(lambda (p event) (lambda (p event)
(when (string= event "finished\n") (when (string= event "finished\n")
(visit-tags-table (concat (project-root (project-current)) "TAGS")) (visit-tags-table (concat (project-root (project-current)) "TAGS"))