esense

Updated:

Summary

Commentary

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.

Dependencies