atom-haskell package
Curated set of packages for Haskell development with Atom. The package list taken from Atom-Haskell Documentation (not made by me 😃. Detailed configuration, documentation and much more can be found there.
This package installs the following for you:
- language-haskell – Syntax highlighting and Haskell autodetection
- ide-haskell – GUI and minimal utilities
- ide-haskell-cabal – Build Haskell projects with either cabal or stack. Reports errors/warnings on build.
- haskell-ghc-mod – ghc-mod integration. Typecheck and lint sources without building, query type information and more.
- autocomplete-haskell – Autocompletion support. This plugin depends on haskell-ghc-mod.
- haskell-pointfree – convert selection to pointfree/pointful representation
- ide-haskell-hasktags – go to declaration, list all symbols defined in file/project
- ide-haskell-hoogle – lookup hoogle documentation via local hoogle database
- ide-haskell-repl – GHCi REPL in Atom
- language-haskell-scoped – highlight known identifiers in editor
- haskell-scry - de-emphasizes qualified Haskell identifiers
Additionally it installs,
- atom-hasklig throws in the nice Hasklig font
- atom-beautify use this to beautify instead of
ide-haskell
, to avoid annoying red error boxes when you save a file with a syntax error (this can also beautify a plethora of other languages) - linter for prettier
hlint
/ghc-mod
output - linter-ui-default which brings some UI additions for the linter
- language-yaml for all those
stack.yaml
s
which you can optionally disable.
Quick configuration
You will be prompted if you want to set some nice default configuration values for the installed packages. You will only be asked once, and you can dismiss this and later run it manually via the Command Palette and then Atom Haskell: Set Default Configuration
.
Binaries
To set up the binaries (except formatters) for the above you can run,
stack install ghc-mod hoogle hasktags pointfree pointful cabal-install
For formatters you have some choice between stylish-haskell
, hindent
and brittany
, whichever you prefer. E.g.,
stack install hindent
Other things
Spacemacs-esque keybindings
A bit of a self-plug, but you might also like my keybindings package spaceatom-keybindings, if you're coming from spacemacs and still have that muscle memory.
Spacemacs dark theme
I also recommend the theme Spacemacs Dark, where I added some additional highlighting for Haskell. It is, as the name implies, inspired by the Spacemacs dark theme.