Expand description
Variable rendering for Perl DAP
This crate provides types and utilities for rendering Perl variables in the Debug Adapter Protocol (DAP) format, enabling debugging support in VSCode and other DAP-compatible editors.
§Overview
The crate provides:
PerlValue- Represents Perl values (scalars, arrays, hashes, references)RenderedVariable- DAP-compatible variable representation with lazy expansionVariableRenderer- Trait for custom variable rendering strategiesPerlVariableRenderer- Default implementation for Perl variables
§Example
use perl_dap_variables::{PerlValue, RenderedVariable, PerlVariableRenderer, VariableRenderer};
let renderer = PerlVariableRenderer::new();
let value = PerlValue::Scalar("hello".to_string());
let rendered = renderer.render("$greeting", &value);
assert_eq!(rendered.name, "$greeting");
assert_eq!(rendered.value, "\"hello\"");Structs§
- Perl
Variable Renderer - Default Perl variable renderer implementation.
- Rendered
Variable - A rendered variable for the DAP protocol.
- Variable
Parser - Parser for Perl debugger variable output.
Enums§
- Perl
Value - Represents a Perl value in the debugger context.
- Variable
Parse Error - Errors that can occur during variable parsing.
Traits§
- Variable
Renderer - Trait for rendering Perl values into DAP variables.