deps-core 0.5.5

Core abstractions for deps-lsp: caching, errors, and traits
Documentation

deps-core

Crates.io docs.rs codecov License: MIT

Core abstractions for deps-lsp: traits, caching, and generic LSP handlers.

This crate provides the shared infrastructure used by ecosystem-specific crates (deps-cargo, deps-npm, deps-pypi, deps-go).

Features

  • EcosystemHandler Trait — Unified interface for all package ecosystems
  • LockFileProvider Trait — Abstract lock file parsing for resolved versions
  • Generic LSP Handlersgenerate_inlay_hints, generate_hover, generate_code_actions, generate_diagnostics
  • HTTP Cache — ETag/Last-Modified caching for registry requests
  • Version Matchers — Semver and PEP 440 version matching
  • Error Types — Unified error handling with thiserror

Usage

[dependencies]
deps-core = "0.5"
use deps_core::{EcosystemHandler, HttpCache, PackageRegistry};

Architecture

// Implement EcosystemHandler for your ecosystem
#[async_trait]
impl EcosystemHandler for MyHandler {
    type Registry = MyRegistry;
    type Dependency = MyDependency;
    // ...
}

// Use generic handlers
let hints = generate_inlay_hints::<MyHandler>(&handler, &deps).await;
let hover = generate_hover_info::<MyHandler>(&handler, &dep, &versions);

License

MIT