#+TITLE: Purescript contribution layer for Spacemacs #+HTML_HEAD_EXTRA: [[file:img/purescript-logo.png]] * Table of Contents :TOC_4_org:noexport: - [[Description][Description]] - [[Install][Install]] - [[Key bindings][Key bindings]] - [[Purescript][Purescript]] - [[Imports][Imports]] - [[REPL][REPL]] * 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]] * Install To use this contribution add it to your =~/.spacemacs= #+BEGIN_SRC emacs-lisp (setq-default dotspacemacs-configuration-layers '(purescript)) #+END_SRC * 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 | ** REPL [[https://github.com/ardumont/emacs-psci][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 for importing | | ~SPC m s i~ | Launch a psci console buffer | | ~SPC m s m~ | Equivalent of =:i your.current.module.name= - Import for use in PSCI | | ~SPC m s p~ | Load or reload files defined in the project file .psci |