#+TITLE: SML layer
#+HTML_HEAD_EXTRA: <link rel="stylesheet" type="text/css" href="../../../css/readtheorg.css" />
[[file:img/sml.png]]
* Table of Contents :TOC_4_org:noexport:
- [[Description][Description]]
- [[Install][Install]]
- [[Key Bindings][Key Bindings]]
- [[Form Completion][Form Completion]]
- [[REPL][REPL]]
* Description
Adds support for the [[http://www.smlnj.org][SML]] programming language.
* Install
To use this contribution add it to your =~/.spacemacs=
#+BEGIN_SRC elisp
(setq-default dotspacemacs-configuration-layers '(sml))
#+END_SRC
* Key Bindings
** Form Completion
| Key Binding | Description |
|-------------+-------------------------------------------------------------------------------------------|
| ~M-SPC~ | Inserts a space and completes the form before the cursor. |
| ~\vert~ | Inserts a pipe and adds a double arrow or copies the function name. Generally just works. |
** REPL
|-------------+-------------------------------------------------------------------|
| ~SPC m s b~ | Send buffer to REPL |
| ~SPC m s B~ | Send buffer to REPL and switch to REPL buffer in `insert state` |
| ~SPC m s f~ | Send function to REPL |
| ~SPC m s F~ | Send function to REPL and switch to REPL buffer in `insert state` |
| ~SPC m s i~ | Run the sml REPL or switch to it if the REPL is already running |
| ~SPC m s r~ | Send region to REPL |
| ~SPC m s R~ | Send region to REPL and switch to REPL buffer in `insert state` |
| ~SPC m s s~ | Run the sml REPL or switch to it if the REPL is already running |