DAML
DAML smart contract language support for Zed
How to install
With Forge Super installed, the button above opens the app on this extension, where you press Install. Nothing is installed until you do.
You can also open the Extensions panel in the app and search for DAML. The extension's id is daml.
Don't have Forge Super yet? Download it here.
README
From the extension's repository, written by its authors and not by Mentenaz. See the source.
DAML for Zed
DAML language support for the Zed editor.
Features
- Syntax highlighting for
.damlfiles (via tree-sitter-haskell grammar with DAML keyword extensions) - Language server integration (
damlc ide/damlc multi-ide) - Multi-package project support (automatic
multi-idefor SDK >= 2.9.0) - Document outline (data types, functions, classes, instances)
- Code completion with type signature display
- Bracket matching and indentation
- Text object selections
Requirements
- DAML SDK installed and available in your
PATH - Supports both
dpm(preferred) anddamlcommands
Configuration
The extension works out of the box if dpm or daml is on your PATH. For custom setups, add to your Zed settings (Cmd+,):
{
"lsp": {
"daml-language-server": {
"binary": {
"path": "/path/to/dpm",
"arguments": ["damlc", "ide"]
}
}
}
}
Multi-IDE mode
For multi-package projects, the extension automatically uses damlc multi-ide when your daml.yaml declares SDK version >= 2.9.0. To force single-package mode, override the arguments:
{
"lsp": {
"daml-language-server": {
"binary": {
"arguments": ["damlc", "ide"]
}
}
}
}
License
Apache-2.0