Uses the Crystal lang tree-sitter found at crystal-lang-tools/tree-sitter-crystal, which is mostly complete, and can parse the majority of Crystal's own source code without errors.
Also uses Crystalline for LSP functionality, if it is available in $PATH
.
To use the Crystal formatter directly instead of using the language server for formatting—for example, if a language server isn't available—copy the following into Zed's settings file:
"languages": {
"Crystal": {
"formatter": {
"external": {
"command": "crystal",
"arguments": [
"tool",
"format",
"-"
]
}
}
}
}
To disable Crystalline, copy the following:
"languages": {
"Crystal": {
"enable_language_server": false,
}
}