Skip to main content

Crate perl_lsp_limits

Crate perl_lsp_limits 

Source
Expand description

Central configuration for LSP operation limits and bounded behavior

This module provides a single source of truth for all resource limits, result caps, and deadlines used throughout the LSP server. This ensures consistent behavior and makes limit tuning straightforward.

§Design Goals

  • Bounded memory: All caches have hard caps with LRU eviction
  • Bounded latency: All loops have deadlines to prevent blocking
  • Bounded results: All list operations have caps for client safety
  • Graceful degradation: Exceed limits → degrade, don’t crash

§Usage

use perl_lsp_limits::LspLimits;

let limits = LspLimits::default();
let results = my_query().take(limits.references_result_cap);

Structs§

LspLimits
Central configuration for all LSP operation limits

Statics§

LSP_LIMITS
Global singleton for LSP limits

Functions§

code_lens_cap
Get current code lens cap
code_lens_resolve_deadline
Get current code lens resolve deadline
completion_cap
Get current completion cap
completion_deadline
Get current completion deadline
diagnostics_per_file_cap
Get current diagnostics per file cap
document_symbol_cap
Get current document symbol cap
inlay_hints_cap
Get current inlay hints cap
max_file_size_bytes
Get current maximum file size in bytes
reference_search_deadline
Get current reference search deadline
references_cap
Get current references cap
regex_scan_deadline
Get current regex scan deadline
semantic_tokens_deadline
Get current semantic tokens deadline
workspace_symbol_cap
Get current workspace symbol cap