Иерархический файл GTAGS TAG
Один лайнер: я ищу "Иерархические" настройки файла тегов, тогда как если global
не могу найти TAGSDB
в GTAGSDBPATH
затем каталог поднимается вверх по цепочке, пока не найдет другую.
длинные лайнеры:
У меня есть эта структура файла проекта
/vob/project-name/src/
==> ROOT каталога проекта src
В этом каталоге находятся подкаталоги, такие как:./utils
, ./common
, ./iplib
, ./ipv6lib
, ./subsystem1
, ./subsystem2
так далее
я работаю на subsystem1
Файл больших тегов ОГРОМНЫЙ.
Я имею..
setenv GTAGSROOT /vobs/project-name/src
setenv GTAGSDBPATH /vobs/project-name/src
Это займет 40 минут, чтобы построить.
У меня также есть файл тегов в ./subsystem1/sre
В настоящее время у меня есть два файла оболочки:
топ-теги:
setenv GTAGSROOT /vobs/project-name/src
setenv GTAGSDBPATH /vobs/project-name/src
bottomtags:
setenv GTAGSROOT /vobs/project-name/src/subsystem1/src
setenv GTAGSDBPATH /vobs/project-name/src/subsystem1/src
Таким образом, я редко могу создать файл проекта TOP и время от времени нижние метки, так как там, где есть отток.
Кроме того, в настоящее время, когда я делаю (setq ggtags-update-on-save nil)
затем каждый раз, когда я пишу файл, появляются три процесса, которые не умирают. Я получил строгое письмо по электронной почте для sysadmin для поддержки 150 процессов.
1 ответ
locate-dominating-file
это именно то, что вам нужно.
(locate-dominating-file default-directory GTAGS-FILE-NAME)
даст вам имя ближайшего вложенного каталога, содержащего файл с именем GTAGS-FILE-NAME
, или же nil
если такой директории нет.