makefile_lossless

Struct Makefile

source
pub struct Makefile(/* private fields */);
Expand description

An AST node for $ast

Implementations§

source§

impl Makefile

source

pub fn new() -> Makefile

Create a new empty makefile

source

pub fn read<R: Read>(r: R) -> Result<Makefile, Error>

Read a changelog file from a reader

source

pub fn read_relaxed<R: Read>(r: R) -> Result<Makefile, Error>

Read makefile from a reader, but allow syntax errors

source

pub fn rules(&self) -> impl Iterator<Item = Rule>

Retrieve the rules in the makefile

§Example
use makefile_lossless::Makefile;
let makefile: Makefile = "rule: dependency\n\tcommand\n".parse().unwrap();
assert_eq!(makefile.rules().count(), 1);
source

pub fn rules_by_target<'a>( &'a self, target: &'a str, ) -> impl Iterator<Item = Rule> + 'a

Get all rules that have a specific target

source

pub fn variable_definitions(&self) -> impl Iterator<Item = VariableDefinition>

Get all variable definitions in the makefile

source

pub fn add_rule(&mut self, target: &str) -> Rule

Add a new rule to the makefile

§Example
use makefile_lossless::Makefile;
let mut makefile = Makefile::new();
makefile.add_rule("rule");
assert_eq!(makefile.to_string(), "rule:\n");

Trait Implementations§

source§

impl AstNode for Makefile

source§

type Language = Lang

source§

fn can_cast(kind: SyntaxKind) -> bool

source§

fn cast(syntax: SyntaxNode<Lang>) -> Option<Self>

source§

fn syntax(&self) -> &SyntaxNode<Lang>

source§

fn clone_for_update(&self) -> Self
where Self: Sized,

source§

fn clone_subtree(&self) -> Self
where Self: Sized,

source§

impl Default for Makefile

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Display for Makefile

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl FromStr for Makefile

source§

type Err = ParseError

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for Makefile

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Makefile

source§

fn eq(&self, other: &Makefile) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Makefile

source§

impl StructuralPartialEq for Makefile

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.