mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-23 22:30:04 +08:00
70 lines
2.1 KiB
Markdown
70 lines
2.1 KiB
Markdown
---
|
||
title: "SpaceVim lang#sml layer"
|
||
description: "This layer is for Standard ML development, provides syntax highlighting and repl support for sml files."
|
||
---
|
||
|
||
# [Available Layers](../../) >> lang#sml
|
||
|
||
<!-- vim-markdown-toc GFM -->
|
||
|
||
- [Description](#description)
|
||
- [Install](#install)
|
||
- [Layer options](#layer-options)
|
||
- [Key bindings](#key-bindings)
|
||
- [Running current script](#running-current-script)
|
||
- [Inferior REPL process](#inferior-repl-process)
|
||
|
||
<!-- vim-markdown-toc -->
|
||
|
||
## Description
|
||
|
||
This layer is for Standard ML development.
|
||
|
||
## Install
|
||
|
||
To use this configuration layer, update your custom configuration file with:
|
||
|
||
```toml
|
||
[[layers]]
|
||
name = "lang#sml"
|
||
```
|
||
|
||
## Layer options
|
||
|
||
- `smlnj_path`: Set the path to the smlnj executable, by default, it is `sml`.
|
||
- `mlton_path`: Set the path to the mlton executable, by default, it is `mlton`.
|
||
- `repl_options`: Options used for REPL, by default, it is ''.
|
||
- `auto_create_def_use`: Whether to build def-use files on save automatically.
|
||
By default, it is `mlb`. Valid values is:
|
||
- `mlb`: Auto build def-use if there's a `*.mlb` file
|
||
- `always`: Always build def-use file
|
||
- `never`: Never build def-use file
|
||
- `enable_conceal`: `true`/`false`. Whether to enable concealing for SML files. `false` by default.
|
||
`'a` becomes `α` (or `'α`). `fn` becomes `λ.`
|
||
- `enable_conceal_show_tick`: `true`/`false`. When conceal is enabled, show `'α` for `'a` instead of `α`.
|
||
Helps for alignment. `false` by default.
|
||
- `sml_file_head`: Template for new sml file.
|
||
|
||
|
||
## Key bindings
|
||
|
||
### Running current script
|
||
|
||
The key binding for running current sml file is `SPC l r`.
|
||
It will run the current file without losing focus,
|
||
and the result will be shown in a runner buffer.
|
||
|
||
### Inferior REPL process
|
||
|
||
Start a `sml` inferior REPL process with `SPC l s i`.
|
||
|
||
Send code to inferior process commands:
|
||
|
||
| Key Bindings | Descriptions |
|
||
| ------------ | ------------------------------------------------ |
|
||
| `SPC l s b` | send buffer and keep code buffer focused |
|
||
| `SPC l s l` | send line and keep code buffer focused |
|
||
| `SPC l s s` | send selection text and keep code buffer focused |
|
||
|
||
|