我工作在源在以下目录structe组织的项目:
./source/include
./source/include/analysis
./source/include/tools
./source/include/utils
./source/include/utils/stream
./source/include/utils/string
[...]
./source/src
./source/src/analysis
./source/src/tools
./source/src/utils
./source/src/utils/stream
./source/src/utils/string
[...]
其中的每个子目录./source/include/
(包括./source/include/
)包含头文件。 同样的每一个子目录./source/src/
(包括./source/src/
)包含实现文件。
当使用ff-find-other-file
上驻留在“顶级”的文件(即./source/include
/或./source/src/
)一切工作正常。 不过,我想不出一个如何配置ff-search-directories
向上和向后搜索深入到目录树。
有已经在一个问题SO( emacs的FF-发现,其他文件和FF-搜索目录不是递归 ),但它并没有解决我的问题,因为这仅适用于静态设置。
理想的解决方案是这样的(伪正则表达式解决方案,其中DIR_REGEXP
匹配所有可能的目录名):
"../\(DIR_REGEXP\)/include/\1/"
"../\(DIR_REGEXP\)/\(DIR_REGEXP\)/include/\1/\2/"
是否有任何的elisp片断/包在那里它可以提供一个解决方案?