3.6 KiB
Haskell contribution layer for Spacemacs
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