Unified analyze - consolidate multiple Pike operations in one request.
Delegates to PikeBridge.analyze() which performs compilation and tokenization once, then distributes results to all requested operations. More efficient than calling parse(), introspect(), and analyzeUninitialized() separately.
LOG-14-01: Logs all analyze() calls with timing and cache hit information to verify whether duplicate analyze calls occur during document changes.
Pike source code to analyze.
Which operations to perform (at least one required).
Optionalfilename:
string
Optional filename for error messages.
OptionaldocumentVersion:
number
Optional LSP document version for cache key.
Analyze response with result/failures structure and performance timing.
Analyze uninitialized variable usage.
Check if the Pike executable is available.
Evaluate a constant Pike expression.
Optionalfilename:
string
Find all identifier occurrences using Pike tokenization.
Find all rename positions for a symbol using Pike's Rename module.
Optionalcharacter:
number
Optionalfilename:
string
PERF-003: Get completion context at a specific position.
Source code to analyze
Line number (1-based)
Character position (0-based)
OptionaldocumentUri:
string
Optional document URI for tokenization caching
OptionaldocumentVersion:
number
Optional LSP document version for cache invalidation
Get health status of the bridge and server. PERF-011: Includes startup metrics if available. PERF-013: Reports whether version fetch is pending.
Health status information
Check if the bridge is running.
true if bridge is running
Register event handler on the underlying bridge.
Parse Pike source code and extract symbols.
Resolve a module path to a file location.
Detect whether a document is a Roxen module.
Phase 3: Roxen module LSP support. Calls Pike bridge to check for Roxen-specific patterns.
Source code to analyze
Optionalfilename:
string
Filename for the document
Roxen module information
Validate Roxen module API compliance.
Phase 5: Roxen-specific diagnostics. Checks required callbacks, defvar usage, and tag signatures.
Delegates to the bridge's roxenValidate method which calls the roxen_validate RPC handler in Pike.
Source code to validate
Filename for error messages
OptionalmoduleInfo:
Record<string,
unknown>
Optional Roxen module information from detection
Validation diagnostics
Start the bridge subprocess and cache version information. PERF-011: Tracks startup timing for performance monitoring. PERF-013: Fetches version info asynchronously to reduce perceived startup time.
Stop the bridge subprocess.
Bridge manager wraps PikeBridge with health monitoring.
Tracks server uptime, recent errors, Pike version info, and provides pass-through methods for all PikeBridge functionality.