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.
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:
Then press enter to jump the method.
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).