intero
![AppVeyor Build Status](https://camo.githubusercontent.com/2087b3482a2f1f5aac08587b3a1ab311bda999801a58b9b41e2650bf0c8fc1c2/68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f6769746875622f636f6d6d65726369616c6861736b656c6c2f706174683f7376673d74727565)
Complete interactive development program for Haskell
Intero for Emacs
Please see the homepage for Intero for Emacs.
Default key bindings
Key binding | Description |
---|---|
M-. |
Jump to definition |
C-c C-i |
Show information of identifier at point |
C-c C-t |
Show the type of thing at point, or the selection |
C-u C-c C-t |
Insert a type signature for the thing at point |
C-c C-l |
Load this module in the REPL |
C-c C-c |
Evaluate the selected region in the REPL |
C-c C-r |
Apply suggestions from GHC |
C-c C-k |
Clear REPL |
C-c C-z |
Switch to and from the REPL |
Enabling intero
To enable intero
in all haskell-mode
buffers by default, enable
intero-global-mode
, by using M-x customize
or by adding
(intero-global-mode 1)
to your Emacs start-up files.
Intero will then activate for all projects, and for files without a
stack.yaml, it will assume the "global" project. If you want to use an
alternate stack yaml configuration file (for example, when developing
for multiple GHC versions), use M-x intero-stack-yaml
to switch
file. When switching configuration, you will asked whether you want to
preserve this choice across emacs sessions for the given project.
Whitelisting/blacklisting projects
Some users prefer to enable Intero selectively. The custom variables
intero-blacklist
and intero-whitelist
are provided for this
purpose, and are honoured by intero-global-mode
:
If the parent directory of a Haskell file is listed in
intero-blacklist
, then intero
will not be enabled for that file,
unless a parent directory of that file is also listed in
intero-whitelist
. In other words, whitelist entries take
precedence. You can therefore blacklist /
to disable intero
in all
projects unless they are whitelisted.
Intero for IDE writers
Please see the TOOLING.md file for how to use Intero to integrate your own editor..
Issues
Issues are split into low/medium/high priorities which dictates which ones will be implemented first.