Back to Spacevim

SpaceVim lang#sml layer

docs/layers/lang/sml.md

2.4.02.0 KB
Original Source

Available Layers >> lang#sml

<!-- vim-markdown-toc GFM --> <!-- 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 BindingsDescriptions
SPC l s bsend buffer and keep code buffer focused
SPC l s lsend line and keep code buffer focused
SPC l s ssend selection text and keep code buffer focused