#lsp #cargo #cargo-toml #crates #version #language-server #language-server-protocol

app crates-lsp

Language Server Protocol implementation for Cargo.toml manifests

1 unstable release

new 0.1.5 Jan 28, 2025

#51 in Text editors

29 downloads per month

MIT license

58KB
1.5K SLoC

crates-lsp

Language Server implementation targeted specifically towards the Cargo.toml file of Rust projects, providing auto-completion for crate versions and in-editor hints when the selected crate versions are out of date.

This project was started specifically to be used with the Lapce editor plugin lapce-crates, but should work with any LSP-capable editor.

Project is heavily inspired by the crates plugin for VSCode.

Usage

Lapce

To use this with Lapce, install the Crates plugin from within the Lapce editor.

Helix

@ameknite kindly provided this example configuration for the Helix editor:

[[language]]
name = "toml"
language-servers = [
    { name = "crates-lsp", except-features = [
        "format",
    ] },
    "taplo",
]

formatter = { command = "taplo", args = ["fmt", "-"] }

Dependencies

~10–21MB
~287K SLoC