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