Features

Project status

As of May, 25th 2022, this project is officially unmaintained. If you would like to take over, drop a message to @lierdakil.

If you're looking for a decent editor support for Haskell, consider using VSCode with Haskell extensions.

Syntax highlighting

Grammars:

  • Haskell (*.hs)
  • Literate Haskell (*.lhs)
  • Cabal (*.cabal)

image

Errors, warnings and lints

After saving the current file the check and linter processes will be executed. After processes are finished, the results can be seen in output panel. You can see different kind of results by switching Errors, Warnings and Lints tab buttons. If you click on message’s file name in output panel, Atom will open this file and put cursor near problem that triggered output message.

Check results can also be seen in left editor gutter (near line numbers) as icons. If you hover mouse pointer over such an icon, a tooltip will be shown with problem description. Results are highlighted inside editor as well, so you can easily determine where the problem is.

errors

Get type/info

If you have haskell-ghc-mod or similar package installed, you can get type of any expression and get info on any symbol.

There are two options to do so.

First one is to hover mouse pointer over any Haskell source in editor, or any selection. By default, this will show type for expression/selecton under cursor. You can change this behavior to show info for symbol, or disable it completely in IDE-Haskell settings.

Another option is to use keyboard to get type/info under cursor. No default bindings are specified, but you can specify them in your Atom keymap.

See Configuration for more information.

typeinfo

typeins

Autocompletion

You can show auto-completions for hole _. This will try to find replacements based on type. It’s no magic though, so if hole has some crazy type, it won’t find anything. You can also refine hole completions based on name by using named holes, e.g. _from

Current autocompletion scopes:

  • Import module name
  • Import module symbols
  • Language pragmas
  • OPTIONS_GHC pragma
  • Type name
  • Class name
  • Symbol name

Autocompletion:

autocomplete

Import autocompletion:

import

Hole autocompletion:

hole

Code beautify

You can use prettifier filter programs, such as stylish-haskell, brittany, ormolu. Simply select Prettify from Haskel IDE menu to apply prettifier to current file, or choose to prettify on each save.

prettify

Build and test project

If you have ide-haskell-cabal, you can build, clean and test your project from ide-haskell (stack and cabal supported)