分层GTAGS TAG文件

时间:2015-03-21 00:44:40

标签: emacs gnu-global

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

长衬垫:

我有这个项目文件结构

/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文件:

toptags:

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)时,每次我写一个文件时,会产生三个不会死的进程。我收到了一封关于系统管理员的严厉电子邮件,要求保留150个流程。

1 个答案:

答案 0 :(得分:1)

locate-dominating-file正是您所需要的。

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

将为您提供包含名为GTAGS-FILE-NAME的文件的最近的封闭目录的名称,如果没有此类目录,则为nil