spacemacs/layers/+lang/purescript
syl20bnr c6a6c41d92 Replace hooks by regular list for jump lists
Hook semantic is to be used with run-hooks API and run all hooks
sequentially, jump list semantic is different since the running
functions are not guaranteed to be executed so we prefer using regular
list API to manage jump-lists.
2016-09-04 12:28:40 -04:00
..
img
config.el
packages.el Replace hooks by regular list for jump lists 2016-09-04 12:28:40 -04:00
README.org

Purescript layer

/TakeV/spacemacs/media/commit/c6a6c41d9206a60f5558c3bd2e94f85be59f7a55/layers/+lang/purescript/img/purescript-logo.png

Description

This layer provides basic Purescript editing support for spacemacs thanks to the following packages:

Install

To use this configuration layer, add it to your ~/.spacemacs. You will need to add purescript to the existing dotspacemacs-configuration-layers list in this file.

You'll also need to make sure the PureScript compiler and its associated binaries (psc-ide-server, psci,…) are on your path. Installation instructions can be found here.

Configuration

Add import on completion

Set purescript-add-import-on-completion to nil to make psc-ide stop adding imports on completion. Default value it t.

Error popup

If you set purescript-enable-rebuild-on-save to non-nil, you will get a popup buffer showing you your current warnings/errors one at a time. This is primarily meant as an alternative to using flycheck. Default value is nil.

Key bindings

Purescript

Imports

Key Binding Description
SPC m i = Format imports
SPC m i \ Return to where you were editing before navigating to imports
SPC m i a Align imports
SPC m i n Navigate to the imports

psc-ide

psc-ide command are available under SPC m m:

Key Binding Description
SPC m m s Start psc-ide-server
SPC m m l Load definitions for the modules inside your project
SPC m h t Show type at point
SPC m g g Goto definition for identifier at point
SPC m m b Rebuilds the current file and displays any warnings or errors
SPC m m i a Add an import for the identifier at the current cursor position
SPC m m i s Inserts a suggestion for the warning/error at the current cursor position
SPC m m t Add a new clause for the function signature at point
SPC m m c s Casesplits on the identifier at the current cursor position
SPC m m q Quit the current psc-ide-server
SPC m m L Load a specific module (This is mostly used for troubleshooting)

REPL

psci provides a very basic REPL for purescript. The following key bindings are available:

Key Binding Description
SPC m s b Equivalent of :m /path/to/current/module/file.purs - Load <file> for importing
SPC m s i Launch a psci console buffer
SPC m s m Equivalent of :i your.current.module.name - Import <module> for use in PSCI
SPC m s p Load or reload files defined in the project file .psci