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
- linter-ui-default which brings some UI additions for the linter
- language-yaml for all those
any of which you can disable. If you don't like the way
fonts, uninstall it and clear the
Font Family box in Settings (Preferences),
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.
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
brittany, whichever you prefer. E.g.,
stack install hindent
Follow this up with:
Edit -> Preferences -> Packages -> atom-beautify -> Settings -> Haskell -> expand -> [your choice of beautifier]
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.