Clone this wiki locally
Scion (pronunciation) is a Haskell IDE library. Scion provides services that can be useful for a Haskell IDE. This currently includes:
- Type checking source files and reporting errors and warnings. This may be done incrementally.
- Query information about identifiers at a given location in the file. (E.g., type lookup.)
- Jump to definition (within current project).
Future planned features:
- Automatic import management
- Default fixes for certain error and warning classes. E.g., suggest language extensions.
- Semi-automatic management of .cabal files.
- Profiling and debugging support.
Scion is based on the GHC API and aims to support many frontends. Scion is implemented as a server and communicates with the frontend via RPC. The frontend can choose between a number of serialisation formats; the current default is JSON. Session state management is handled by the Scion server.
Current IDEs/editors using Scion include:
- Emacs. This is included in this repository. Use the standard
haskell-modetogether with the Scion minor mode)
- Vim. Currently defunct - maintainer wanted.
- Eclipse. Via EclipseFP. Currently uses a fork of Scion.
- Yi. Status unknown.