pub struct VariableDefinition(/* private fields */);Expand description
An AST node for $ast
Implementations§
Source§impl VariableDefinition
impl VariableDefinition
Sourcepub fn remove(&mut self)
pub fn remove(&mut self)
Remove this variable definition from its parent makefile
This will also remove any preceding comments and up to 1 empty line before the variable.
§Example
use makefile_lossless::Makefile;
let mut makefile: Makefile = "VAR = value\n".parse().unwrap();
let mut var = makefile.variable_definitions().next().unwrap();
var.remove();
assert_eq!(makefile.variable_definitions().count(), 0);Sourcepub fn set_value(&mut self, new_value: &str)
pub fn set_value(&mut self, new_value: &str)
Update the value of this variable definition while preserving the rest (export prefix, operator, whitespace, etc.)
§Example
use makefile_lossless::Makefile;
let mut makefile: Makefile = "export VAR := old_value\n".parse().unwrap();
let mut var = makefile.variable_definitions().next().unwrap();
var.set_value("new_value");
assert_eq!(var.raw_value(), Some("new_value".to_string()));
assert!(makefile.code().contains("export VAR := new_value"));Trait Implementations§
Source§impl AstNode for VariableDefinition
impl AstNode for VariableDefinition
Source§impl Display for VariableDefinition
impl Display for VariableDefinition
Source§impl Hash for VariableDefinition
impl Hash for VariableDefinition
Source§impl PartialEq for VariableDefinition
impl PartialEq for VariableDefinition
impl Eq for VariableDefinition
impl StructuralPartialEq for VariableDefinition
Auto Trait Implementations§
impl Freeze for VariableDefinition
impl !RefUnwindSafe for VariableDefinition
impl !Send for VariableDefinition
impl !Sync for VariableDefinition
impl Unpin for VariableDefinition
impl !UnwindSafe for VariableDefinition
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
Mutably borrows from an owned value. Read more