Edit purescript layer README and key bindings
This commit is contained in:
parent
7c43c35d8e
commit
81b38d0aba
|
@ -2,11 +2,22 @@
|
|||
|
||||
![logo](img/purescript-logo.png)
|
||||
|
||||
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc/generate-toc again -->
|
||||
**Table of Contents**
|
||||
|
||||
- [Purescript contribution layer for Spacemacs](#purescript-contribution-layer-for-spacemacs)
|
||||
- [Description](#description)
|
||||
- [Install](#install)
|
||||
- [Key bindings](#key-bindings)
|
||||
|
||||
<!-- markdown-toc end -->
|
||||
|
||||
## Description
|
||||
|
||||
This layer provides basic Purescript editing support for spacemacs:
|
||||
- purescript-mode
|
||||
- psci
|
||||
This layer provides basic Purescript editing support for spacemacs
|
||||
thanks to the following packages:
|
||||
- [purescript-mode][]
|
||||
- [psci][]
|
||||
|
||||
## Install
|
||||
|
||||
|
@ -18,15 +29,28 @@ To use this contribution add it to your `~/.spacemacs`
|
|||
|
||||
## Key bindings
|
||||
|
||||
### Purescript
|
||||
|
||||
#### Imports
|
||||
|
||||
Key Binding | Description
|
||||
-----------------|------------------------------------------------------------
|
||||
`<SPC> m p l` | Equivalent of `:m /path/to/current/module/file.purs` - Load <file> for importing
|
||||
`<SPC> m p i` | Equivalent of `:i your.current.module.name` - Import <module> for use in PSCI
|
||||
`<SPC> m p p r` | Load or reload files defined in the project file .psci
|
||||
`<SPC> m p r` | Equivalent of `:r` - Reset
|
||||
`<SPC> m p q` | Equivalent of `:q` - Quit
|
||||
`<SPC> m p p` | Launch a psci console buffer
|
||||
`<SPC> m i f` | Format imports
|
||||
`<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
|
||||
`<SPC> m i r` | Return to where you were editing before navigating to imports
|
||||
|
||||
### 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
|
||||
|
||||
[purescript-mode]: https://github.com/dysinger/purescript-mode
|
||||
[psci]: https://github.com/ardumont/emacs-psci
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
;;; keybindings.el --- Purescript Layer keybindings File for Spacemacs
|
||||
;;
|
||||
;; Copyright (c) 2012-2014 Sylvain Benner
|
||||
;; Copyright (c) 2015 Ryan L. Bell & Contributors
|
||||
;;
|
||||
;; Author: Ryan L. Bell
|
||||
;; URL: https://github.com/syl20bnr/spacemacs
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;;; License: GPLv3
|
||||
|
||||
|
||||
(evil-leader/set-key-for-mode 'purescript-mode
|
||||
;; -- ----- purescript-mode bindings ------------------
|
||||
"mia" 'purescript-align-imports
|
||||
"mif" 'purescript-mode-format-imports
|
||||
"min" 'purescript-navigate-imports
|
||||
"mir" 'purescript-navigate-imports-return
|
||||
|
||||
;; ------- inferior-psci-mode bindings ---------------
|
||||
"mpl" 'psci/load-current-file!
|
||||
"mpi" 'psci/load-module!
|
||||
"mppr" 'psci/load-project-modules!
|
||||
"mpr" 'psci/reset!
|
||||
"mpq" 'psci/quit!
|
||||
"mpp" 'psci
|
||||
)
|
|
@ -14,17 +14,29 @@
|
|||
(defvar purescript-packages
|
||||
'(
|
||||
purescript-mode
|
||||
psci))
|
||||
psci
|
||||
))
|
||||
|
||||
(defun purescript/init-purescript-mode ()
|
||||
(use-package purescript-mode
|
||||
:defer t
|
||||
:config
|
||||
(add-hook 'purescript-mode-hook
|
||||
(lambda () (turn-on-purescript-indentation)))))
|
||||
:init
|
||||
(progn
|
||||
(add-hook 'purescript-mode-hook 'turn-on-purescript-indentation)
|
||||
(evil-leader/set-key-for-mode 'purescript-mode
|
||||
"mi=" 'purescript-mode-format-imports
|
||||
"mi`" 'purescript-navigate-imports-return
|
||||
"mia" 'purescript-align-imports
|
||||
"min" 'purescript-navigate-imports))))
|
||||
|
||||
(defun purescript/init-psci ()
|
||||
(use-package psci
|
||||
:defer t
|
||||
:init
|
||||
(add-hook 'purescript-mode-hook 'inferior-psci-mode)))
|
||||
(progn
|
||||
(add-hook 'purescript-mode-hook 'inferior-psci-mode)
|
||||
(evil-leader/set-key-for-mode 'purescript-mode
|
||||
"msb" 'psci/load-current-file!
|
||||
"msi" 'psci
|
||||
"msm" 'psci/load-module!
|
||||
"msp" 'psci/load-project-modules!))))
|
||||
|
|
Loading…
Reference in a new issue