EAssist

EAssist stands for Emacs Assist

It uses CEDET to parse files and outputs list of functions/methods for current file. Then you can type a part of function name and list will be reduced.

Usage example

Standing in a sample C++ file, press M-m. Complete list of functions and methods will appear:

void MyClass::getIntParameterOne
void MyClass::getIntParameterTwo
void MyClass::setIntParameterOne
void MyClass::setIntParameterTwo
void MyClass::fooMethod
int fooFunction

Type “get” and list will be reduced to:

void MyClass::getIntParameterOne
void MyClass::getIntParameterTwo

You might choose method among these two, or just continue typing: “get one”. It will reduce list to:

void MyClass::getIntParameterOne

Then press enter to jump the method.

Setup

Important Update: EAssist is now a part of CEDET, provided as a module in contrib folder of CEDET distribution. CEDET 1.0pre4 doesnt still have EAssist, but later versions will. CVS tree of CEDET already contains EAssist. If you are using CEDET from CVS or CEDET version later than 1.0pre3 please follow install instructions in contrib/INSTALL file.

EAssist uses CollectionOfEmacsDevelopmentEnvironmentTools to parse files. The latter should be installed before using EAssist. eassist.el is EAssist source. Add the following lines to your .emacs file to add EAssist keybindings:

(defun my-c-mode-common-hook ()
   (define-key c-mode-base-map (kbd "M-o") 'eassist-switch-h-cpp)
   (define-key c-mode-base-map (kbd "M-m") 'eassist-list-methods))
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)

This will add M-o and M-m combinations to your c-mode. M-m will produce method/function list. M-o will switch from header to body file and backwards (for C++ only).

Feature requests

Alternatives


CategoryProgrammerUtils CategoryNavigation