1

一个班轮:我正在寻找一个“分层”标签文件设置,而如果在目录中global找不到它,那么它会爬上 dir 链,直到找到另一个。TAGSDBGTAGSDBPATH

长衬里:

我有这个项目文件结构

/vob/project-name/src/ ==> 项目src目录的ROOT

在此目录下有子目录,如 :./utils, ./common, ./iplib, ./ipv6lib,./subsystem1./subsystem2

我工作subsystem1

大标签文件是巨大的。

我有..

setenv  GTAGSROOT /vobs/project-name/src
setenv  GTAGSDBPATH /vobs/project-name/src  

这些需要 40 分钟来构建。

我也有一个标签文件./subsystem1/sre

目前我有两个shell文件:

热门标签:

setenv  GTAGSROOT /vobs/project-name/src
setenv  GTAGSDBPATH /vobs/project-name/src  

底部标签:

setenv  GTAGSROOT /vobs/project-name/src/subsystem1/src
setenv  GTAGSDBPATH /vobs/project-name/src/subsystem1/src

这样,我可以很少构建 TOP 项目文件,并且时不时地构建底部标签,因为那里有流失的地方。

另外,目前,当我(setq ggtags-update-on-save nil)每次写一个文件时都会产生三个不会死的进程。我收到一封严厉的电子邮件,要求系统管理员保持 150 个进程正常运行。

4

1 回答 1

1

locate-dominating-file is just what you need.

(locate-dominating-file default-directory GTAGS-FILE-NAME)

will give you the name of the closest enclosing directory containing a file called GTAGS-FILE-NAME, or nil if there is no such directory.

于 2015-03-23T03:22:14.830 回答