LSPs

Crush can use language servers for additional context to help inform its decisions.

Crush can use LSPs for additional context to help inform its decisions, just like you would. LSPs can be added manually like so:

# crushrc lsp add go --command "gopls" --env "GOTOOLCHAIN go1.24.5"lsp add typescript --command "typescript-language-server" --args --stdiolsp add nix --command "nil"

Command Reference

Manage language servers.

Usage:  lsp [command]Available Commands:  add       Add or update a language server  remove    Remove a language server  rm        Alias for remove

lsp add

Add a language server, or update an existing server with the same name.

Usage:  lsp add <name> --command <command> [flags]Flags:      --args string              command argument (repeatable)      --env key value            environment variable (repeatable)      --filetypes string         file type to attach to (repeatable)      --root-markers string      root marker file (repeatable)      --timeout int              startup timeout in seconds      --disabled bool            disable without removing      --init-options JSON        initialization options      --options JSON             server settings
lsp add go --command gopls --env GOPATH "$HOME/go"

lsp remove

Remove a language server.

Usage:  lsp remove <name>  lsp rm <name>

Read this post in your terminal with glow:glow -p https://crush-docs.fly.dev/docs/integrations/lsps.md

EOF