2015-12-02 14:23:39 +00:00
|
|
|
#+TITLE: Purescript layer
|
2015-11-08 18:04:44 +00:00
|
|
|
#+HTML_HEAD_EXTRA: <link rel="stylesheet" type="text/css" href="../../../css/readtheorg.css" />
|
2015-06-10 16:44:30 +00:00
|
|
|
|
|
|
|
[[file:img/purescript-logo.png]]
|
|
|
|
|
2015-10-30 11:20:58 +00:00
|
|
|
* Table of Contents :TOC_4_org:noexport:
|
|
|
|
- [[Description][Description]]
|
|
|
|
- [[Install][Install]]
|
|
|
|
- [[Key bindings][Key bindings]]
|
|
|
|
- [[Purescript][Purescript]]
|
|
|
|
- [[Imports][Imports]]
|
2015-12-08 22:50:15 +00:00
|
|
|
- [[psc-ide][psc-ide]]
|
2015-10-30 11:20:58 +00:00
|
|
|
- [[REPL][REPL]]
|
2015-06-10 16:44:30 +00:00
|
|
|
|
|
|
|
* Description
|
|
|
|
|
|
|
|
This layer provides basic Purescript editing support for spacemacs
|
|
|
|
thanks to the following packages:
|
|
|
|
- [[https://github.com/dysinger/purescript-mode][purescript-mode]]
|
|
|
|
- [[https://github.com/ardumont/emacs-psci][psci]]
|
2015-12-08 22:50:15 +00:00
|
|
|
- [[https://github.com/epost/psc-ide-emacs][psc-ide-emacs]]
|
2015-06-10 16:44:30 +00:00
|
|
|
|
|
|
|
* Install
|
2016-01-06 05:21:55 +00:00
|
|
|
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.
|
2015-06-10 16:44:30 +00:00
|
|
|
|
2015-12-08 22:50:15 +00:00
|
|
|
If you want to get autocompletions and type information you have to install [[https://github.com/kRITZCREEK/psc-ide][psc-ide]].
|
|
|
|
|
2015-06-10 16:44:30 +00:00
|
|
|
* Key bindings
|
|
|
|
|
|
|
|
** Purescript
|
|
|
|
|
|
|
|
*** Imports
|
|
|
|
|
2015-06-12 01:23:07 +00:00
|
|
|
| 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 |
|
2015-06-10 16:44:30 +00:00
|
|
|
|
2015-12-08 22:50:15 +00:00
|
|
|
*** psc-ide
|
|
|
|
|
|
|
|
| Key Binding | Description |
|
|
|
|
|-------------+---------------------------------------------------------|
|
2015-12-20 03:51:01 +00:00
|
|
|
| ~SPC m h t~ | Show type at point |
|
2015-12-08 22:50:15 +00:00
|
|
|
| ~SPC m m l~ | Load a module with its dependencies into psc-ide-server |
|
2015-12-20 03:51:01 +00:00
|
|
|
| ~SPC m m s~ | Start psc-ide-server |
|
2015-12-08 22:50:15 +00:00
|
|
|
|
2015-06-10 16:44:30 +00:00
|
|
|
** REPL
|
|
|
|
|
2015-06-10 21:16:01 +00:00
|
|
|
[[https://github.com/ardumont/emacs-psci][psci]] provides a very basic REPL for purescript. The following key
|
2015-06-10 16:44:30 +00:00
|
|
|
bindings are available:
|
|
|
|
|
2015-06-12 01:23:07 +00:00
|
|
|
| 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 |
|