Есть несколько вариантов, но я предполагаю, что когда ваш проект C ++ обнаруживается в нескольких случайных местах, вы хотите создать собственный способ автоматического создания проектов ede-cpp-root.
Если вы посмотрите в ede / ede-cpp-root.el или в emacs lisp / cedet / ede / cpp-root.el, в комментариях вверху найдите ADVANCED EXAMPLE.Здесь показано, как создать в вашем .emacs три простые функции с правилами, которые будут создавать новые проекты при обнаружении.
Допустим, каждый из ваших проектов находится в директории, подобной этой:
/home/BD/somewhere/MYPROJ/
тогда у вас может быть код в MY-FILE-FOR-DIR (из примера), который выглядит следующим образом:
(when (string-match "/MYPROJ/" dir)
(expand-file-name "Makefile" (substring dir (match-end 0)) )
или если в каждом проекте всегда есть какой-то специальный файл, например ".SPECIAL", выможет иметь
(when (file-exists-p (expand-file-name ".SPECIAL" dir)))
(expand-file-name ".SPECIAL" dir))
Скорее всего, вы сможете получить много денег из простого кода Emacs Lisp.