Иерархический файл 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 если такой директории нет.

Другие вопросы по тегам