Files
zed/docs/src/languages/sml.md
T
Dzming Li 29c8f13296 docs: Add Standard ML to community language extensions list (#55695)
Adds the Standard ML community extension
([omarjatoi/zed-sml](https://github.com/omarjatoi/zed-sml)) to
`docs/src/languages.md`. It is already published in the Zed extension
registry ([zed.dev/extensions/sml](https://zed.dev/extensions/sml)) and
provides Tree-sitter highlighting plus Millet LSP integration, but is
currently missing from the language documentation page.

Release Notes:

- N/A
2026-05-04 22:07:14 +00:00

29 lines
1.3 KiB
Markdown

---
title: Standard ML
description: "Configure Standard ML language support in Zed, including language servers, formatting, and debugging."
---
# Standard ML
Standard ML support is available through the community-maintained [Standard ML extension](https://github.com/omarjatoi/zed-sml).
- Tree-sitter: [MatthewFluet/tree-sitter-sml](https://github.com/MatthewFluet/tree-sitter-sml)
- Language Server: [Millet](https://github.com/azdavis/millet)
## Setup
1. Install a Standard ML implementation such as [SML/NJ](https://www.smlnj.org/) or [MLton](http://mlton.org/) to compile and run your code.
2. [Install Millet](https://github.com/azdavis/millet#install) and ensure `millet-ls` is on your `$PATH`.
## Project setup
For projects with more than one source file, Millet expects a single root group file. Create a `millet.toml` in the directory you open in Zed:
```toml
version = 1
[workspace]
root = "sources.mlb"
```
The root must be either a [ML Basis (MLB)](http://mlton.org/MLBasis) file (`.mlb`, used with MLton) or a [SML/NJ Compilation Manager (CM)](https://www.smlnj.org/doc/CM/new.pdf) file (`.cm`, used with SML/NJ). Files not transitively reachable from the root are not analyzed. See the [Millet manual](https://github.com/azdavis/millet/blob/main/docs/manual.md) for more options.