pub struct Variable {
pub name: String,
pub value: String,
pub type_: Option<String>,
pub presentation_hint: Option<VariablePresentationHint>,
pub evaluate_name: Option<String>,
pub variables_reference: i32,
pub named_variables: Option<i32>,
pub indexed_variables: Option<i32>,
pub memory_reference: Option<String>,
/* private fields */
}
Expand description
A Variable is a name/value pair.
Optionally a variable can have a ‘type’ that is shown if space permits or when hovering over the variable’s name.
An optional ‘kind’ is used to render additional properties of the variable, e.g. different icons can be used to indicate that a variable is public or private.
If the value is structured (has children), a handle is provided to retrieve the children with the VariablesRequest.
If the number of named or indexed children is large, the numbers should be returned via the optional ‘namedVariables’ and ‘indexedVariables’ attributes.
The client can use this optional information to present the children in a paged UI and fetch them in chunks.
Fields§
§name: String
The variable’s name.
value: String
The variable’s value. This can be a multi-line text, e.g. for a function the body of a function.
type_: Option<String>
The type of the variable’s value. Typically shown in the UI when hovering over the value.
This attribute should only be returned by a debug adapter if the client has passed the value true for the ‘supportsVariableType’ capability of the ‘initialize’ request.
presentation_hint: Option<VariablePresentationHint>
Properties of a variable that can be used to determine how to render the variable in the UI.
evaluate_name: Option<String>
Optional evaluatable name of this variable which can be passed to the ‘EvaluateRequest’ to fetch the variable’s value.
variables_reference: i32
If variablesReference is > 0, the variable is structured and its children can be retrieved by passing variablesReference to the VariablesRequest.
named_variables: Option<i32>
The number of named child variables.
The client can use this optional information to present the children in a paged UI and fetch them in chunks.
indexed_variables: Option<i32>
The number of indexed child variables.
The client can use this optional information to present the children in a paged UI and fetch them in chunks.
memory_reference: Option<String>
Optional memory reference for the variable if the variable represents executable code, such as a function pointer.
This attribute is only required if the client has passed the value true for the ‘supportsMemoryReferences’ capability of the ‘initialize’ request.
Implementations§
Source§impl Variable
impl Variable
Sourcepub fn builder() -> VariableBuilder<((), (), (), (), (), (), (), (), ())>
pub fn builder() -> VariableBuilder<((), (), (), (), (), (), (), (), ())>
Create a builder for building Variable
.
On the builder, call .name(...)
, .value(...)
, .type_(...)
(optional), .presentation_hint(...)
(optional), .evaluate_name(...)
(optional), .variables_reference(...)
, .named_variables(...)
(optional), .indexed_variables(...)
(optional), .memory_reference(...)
(optional) to set the values of the fields.
Finally, call .build()
to create the instance of Variable
.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Variable
impl<'de> Deserialize<'de> for Variable
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Variable
impl StructuralPartialEq for Variable
Auto Trait Implementations§
impl Freeze for Variable
impl RefUnwindSafe for Variable
impl Send for Variable
impl Sync for Variable
impl Unpin for Variable
impl UnwindSafe for Variable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.