Skip to main content

WatchFile

Struct WatchFile 

Source
pub struct WatchFile(/* private fields */);
Expand description

A node in the syntax tree for $ast

Implementations§

Source§

impl WatchFile

Source

pub fn line(&self) -> usize

Get the line number (0-indexed) where this node starts.

Source

pub fn column(&self) -> usize

Get the column number (0-indexed, in bytes) where this node starts.

Source

pub fn line_col(&self) -> (usize, usize)

Get both line and column (0-indexed) where this node starts. Returns (line, column) where column is measured in bytes from the start of the line.

Source§

impl WatchFile

Source

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

Access the underlying syntax node

Source

pub fn new(version: Option<u32>) -> WatchFile

Create a new watch file with specified version

Source

pub fn version_node(&self) -> Option<Version>

Returns the version AST node of the watch file.

Source

pub fn version(&self) -> u32

Returns the version of the watch file.

Source

pub fn entries(&self) -> impl Iterator<Item = Entry> + '_

Returns an iterator over all entries in the watch file.

Source

pub fn set_version(&mut self, new_version: u32)

Set the version of the watch file.

Source

pub fn add_entry(&mut self, entry: Entry) -> Entry

Add an entry to the watch file.

Appends a new entry to the end of the watch file.

§Examples
use debian_watch::linebased::{WatchFile, EntryBuilder};

let mut wf = WatchFile::new(Some(4));

// Add an entry using EntryBuilder
let entry = EntryBuilder::new("https://github.com/example/tags")
    .matching_pattern(".*/v?(\\d\\S+)\\.tar\\.gz")
    .build();
wf.add_entry(entry);

// Or use the builder pattern directly
wf.add_entry(
    EntryBuilder::new("https://example.com/releases")
        .matching_pattern(".*/(\\d+\\.\\d+)\\.tar\\.gz")
        .opt("compression", "xz")
        .version_policy("debian")
        .build()
);
Source

pub fn from_reader<R: Read>(reader: R) -> Result<WatchFile, ParseError>

Read a watch file from a Read object.

Source

pub fn from_reader_relaxed<R: Read>(r: R) -> Result<Self, Error>

Read a watch file from a Read object, allowing syntax errors.

Source

pub fn from_str_relaxed(s: &str) -> Self

Parse a debian watch file from a string, allowing syntax errors.

Trait Implementations§

Source§

impl Clone for WatchFile

Source§

fn clone(&self) -> WatchFile

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for WatchFile

Source§

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

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

impl Display for WatchFile

Source§

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

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

impl FromStr for WatchFile

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 WatchFile

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 WatchFile

Source§

fn eq(&self, other: &WatchFile) -> 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 WatchFile

Source§

impl StructuralPartialEq for WatchFile

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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.