7.3.5 Custom Locate

The various simple project styles all have one major drawback, which is that the files in the project are not completely known to EDE. When the EDE API is used to try and file files by some reference name in the project, then that could fail.

EDE can therefore use some external locate commands, such as the unix “locate” command, or “GNU Global”.

Configuration of the tool you want to use such as locate, or global will need to be done without the aid of EDE. Once configured, however, EDE can use it.

To enable one of these tools, set the variable ede-locate-setup-options with the names of different locate objects. Miscellaneous commands.

Configure this in your .emacs before loading in CEDET or EDE. If you want to add support for GNU Global, your configuration would look like this:

(setq ede-locate-setup-options '(ede-locate-global ede-locate-base))

That way, when a search needs to be done, it will first try using GLOBAL. If global is not available for that directory, then it will revert to the base locate object. The base object always fails to find a file.

You can add your own locate tool but subclassing from ede-locate-base. The subclass should also implement two methods. See the code in ede-locate.el for GNU Global as a simple example.

@TODO - Add ID Utils and CScope examples

More on idutils and cscope is in the CEDET manual, and they each have their own section.