This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/contrib/lang/haskell
Bjarke Vad 9df3400643 Updated Haskell layer
- Uses cabal-repl instead of the deprecated cabal-dev
- Loads company-ghc if company-mode is enabled
- Fixed RET in REPL
- See README.md for keybindings
2014-12-21 23:05:29 -05:00
..
haskell.png Move Haskell to its own lang contrib layer 2014-12-01 23:22:45 -05:00
packages.el Updated Haskell layer 2014-12-21 23:05:29 -05:00
README.md Updated Haskell layer 2014-12-21 23:05:29 -05:00

Haskell contribution layer for Spacemacs

logo

This layer adds support for the Haskell language. The layer uses company-ghc for completetion.

This layer is still not fully adapted for Spacemacs, it needs you, Haskell experts, to improve it and make it consistent with the Spacemacs experience.

Install

To use this contribution add it to your ~/.spacemacs

(setq-default dotspacemacs-configuration-layers '(haskell)
  "List of contribution to load."
)

Key bindings

All Haskell specific bindings are prefixed with SPC m

Haskell source code:

Haskell commands:

Top-level commands are prefixed by SPC m:

Key Binding            |                 Description

---------------------------|------------------------------------------------------------ SPC m C | compile the current project SPC m t | gets the type of the identifier under the cursor SPC m i | gets information for the identifier under the cursor SPC m b | build the current cabal project SPC m u | finds uses of identifier SPC m g | go to definition or tag

Documentation commands:

Documentation commands are prefixed by SPC m h

Key Binding            |                 Description

---------------------------|------------------------------------------------------------ SPC m h d | find or generate Haddock documentation for the identifier under the cursor SPC m h h | do a Hoogle lookup SPC m h y | do a Hayoo lookup

Cabal commands:

Cabal commands are prefixed by SPC m c:

Key Binding            |                 Description

---------------------------|------------------------------------------------------------ SPC m c c | cabal actions SPC m c v | visit the cabal file

Debug commands:

Debug commands are prefixed by SPC m d:

Key Binding            |                 Description

---------------------------|------------------------------------------------------------ SPC m d d | start debug process, needs to be run first SPC m d b | insert breakpoint at function SPC m d n | next breakpoint SPC m d p | previous breakpoint SPC m d B | delete breakpoint SPC m d c | continue current process SPC m d a | abandon current process SPC m d r | refresh process buffer

REPL commands:

REPL commands are prefixed by SPC m s:

Key Binding            |                 Description

---------------------------|------------------------------------------------------------ SPC m s b | load or reload the current buffer into the REPL SPC m s c | clear the REPL SPC m s s | show the REPL SPC m s S | show and switch to the REPL

Cabal files:

Key Binding            |                 Description

---------------------------|------------------------------------------------------------ SPC m d | add a dependency to the project SPC m b | go to benchmark section SPC m e | go to executable section SPC m t | go to test-suite section SPC m m | go to exposed modules SPC m l | go to libary section SPC m n | go to next subsection SPC m p | go to previous subsection SPC m N | go to next section SPC m P | go to previous section SPC m f | find or create source-file under the cursor

TODO