perl-lsp-rs 0.14.0

Perl Language Server (LSP) — Tree-sitter-compatible with comprehensive IDE features
docs.rs failed to build perl-lsp-rs-0.14.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: perl-lsp-rs-0.12.2

perl-lsp-rs

Use this crate when you need the internal implementation package behind the public perllsp Cargo entry.

When to use this crate

Use perl-lsp-rs when you want to work on or embed the real language server implementation:

  • run the perllsp binary behind an editor such as VS Code, Neovim, Emacs, or Helix
  • expose Perl LSP features over stdio or TCP
  • embed the server entry point from Rust instead of shelling out to a binary

If you only need a parser, tokenizer, or a single feature provider, prefer the smaller workspace crates such as perl-parser, perl-lexer, or the perl-lsp-* provider crates.

Public install path

cargo install perllsp

For a workspace-local install from this repository, use:

cargo install --path crates/perllsp

If you are hacking on the implementation package itself, use workspace package commands such as cargo build -p perl-lsp-rs or cargo test -p perl-lsp-rs.

Quick start

perllsp --stdio
perllsp --health

Usage

perllsp --stdio           # stdio mode (default, for editor integration)
perllsp --socket --port 9257   # TCP socket mode
perllsp --health          # health check
perllsp --version         # version info

Embedding from Rust

The perl_lsp library re-exports LspServer, JsonRpcRequest, JsonRpcResponse, JsonRpcError, and a convenience run_stdio() entry point for embedding.

Workspace role

This is the internal executable implementation in the perl-lsp workspace. It delegates parsing to perl-parser and dispatches feature work through focused provider crates such as perl-lsp-completion, perl-lsp-navigation, and perl-lsp-diagnostics.

License

MIT OR Apache-2.0