Updated:
ESense (ErlangSense) is a minor mode which provides features similar to IntelliSense or CodeSense in other editors. It can be enabled in an Erlang buffer or in the Erlang Shell buffer. Configuration: -------------- The most important variables are `esense-index-directory' (which does not need to be set if you use the default directory when generating index files), `esense-module-search-directories', `esense-include-search-directories' and `esense-indexer-program'. See other configuration variables in the "User Configuration" section below. Activation: ----------- In your .emacs add to erlang-load-hook: (require 'esense) You can also set ESense-related configuration variables here: (setq esense-indexer-program (concat (getenv "HOME") "/path/to/esense.sh")) Add to erlang-mode-hook (esense-mode) How it works: ------------- ESense uses a single activation key (by default F1) which does different things depending on the context: If the cursor is ON a symbol it shows the documentation of the symbol in a tooltip. If the cursor is at the end of a symbol it tries to complete the symbol. If the cursor is in a parameter list and the two conditions above are not met then it shows the documentation of the entity the parameter list belongs to in a tooltip. If the modifier CTRL is also pressed then in contexts where normally documentation is shown the definition of the symbol is visited instead. The original location is put onto the tag stack of etags, so M-* can be used to return to the starting location. ALT+jumps to an arbitrary module/function with completion. If the cursor is on an -include line the corresponding header file is visited.