Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Haskell IDE plugin for Atom editor - https://atom.io/packages/ide-haskell

README.md

Haskell IDE

Join the chat at https://gitter.im/chaika2013/ide-haskell

Welcome to Haskell IDE plugin for amazing Atom editor! This plugin is intended to help you in Haskell developing.

Haskell IDE is currently in active development state.

Implemented features

Cabal project autodetection

Haskell IDE works only with cabal projects. You can simply start Atom from cabal project root or drag and drop cabal project folder on editor and plugin will be started automatically.

Errors, warnings and linter

After saving the current file the check and linter processes will be executed. After processes are finished the results can be seen in plugin output panel. You can see different kind of results by switching Errors, Warnings and Lints tab buttons. By pressing with mouse button on any result inside output panel the Atom editor will open the appropriate file with cursor already at the position of this result.

Also all the results can be seen near the line numbers if you position the mouse cursor over the handsome icon. And of course the results are highlighted inside editor view so you can easily locate where the problem is.

Errors, warnings and linter

Get type at point

Just position your mouse cursor above expression you want to know the type of and wait for some time. Tooltip will appear with everything you want to know.

Get type at point

Autocompletion

Remember that you need autocomplete-plus package to be installed to use Haskell IDE autocompletion feature.

Autocompletion feature works for pragmas like LANGUAGE and OPTIONS_GHC. Also autocompletion works for import keyword.

Autocompletion

And of course autocompletion feature works inside functions to make your Haskelling happier.

Autocompletion

Not all the things I wanted from this feature was implemented. That is why autocompletion is subject to change the way you want! So you are welcome with suggestions how this feature can be changed to make your work with Haskell code more comfortable. Pelease, write issues with enhancement of autocompletion here.

Code beautify

Now you can use stylish-haskell utility to indent pragmas, imports and data type definitions. Simply select Prettify from Haskel IDE menu or press magic combination of buttons to apply stylish-haskell to current file.

Code beautify

Requirements

Installation

$ apm install ide-haskell

Configuration

Open ~/.atom/config.cson by clicking Open Your Config in Atom menu. Manually add ide-haskell plugin section as in example below.

'ide-haskell':
  'ghcModPath': '/path/to/ghc-mod'
  'stylishHaskellPath': '/path/to/stylish-haskell'

Following entries are also customizable in ide-haskell section

  • ghcModPath - path to ghc-mod utility
  • stylishHaskellPath - path to stylish-haskell utility
  • checkOnFileSave - check file after save (defaut is true)
  • lintOnFileSave - lint file after save (defaut is true)
  • switchTabOnCheck - switch to error tab after file check finished (defaut is true)
  • expressionTypeInterval - after this period of time the process of getting the expression type will be started (milliseconds, default is 300)

TODO

  • Cabal project autodetection
  • Errors, warnings and linter
  • Get type at point
  • Autocompletion
  • Code beautify
  • Jump to definition
  • Who calls and vice versa
  • Interactive REPL
  • Cabal project management
  • Documentation support

Changelog

Changelog is available here.

License

Copyright (c) 2014 Alexander Chaika

See the LICENSE.md for details.

Something went wrong with that request. Please try again.