Skip to main content

RegexVersionFile

Struct RegexVersionFile 

Source
pub struct RegexVersionFile { /* private fields */ }
Expand description

A version file engine driven by a user-supplied regex.

The regex must contain at least one capture group. The first capture group is treated as the version string for both reading and writing.

Implementations§

Source§

impl RegexVersionFile

Source

pub fn new(custom: &CustomVersionFile) -> Result<Self, VersionFileError>

Create a new engine from a CustomVersionFile config entry.

§Errors

Returns VersionFileError::InvalidRegex if the pattern fails to compile or contains no capture groups.

Source

pub fn name(&self) -> String

Human-readable name (the file path as a string).

Source

pub fn path(&self) -> &Path

The file path relative to the repository root.

Source

pub fn detect(&self, content: &str) -> bool

Check if content contains a match for the regex pattern.

Source

pub fn read_version(&self, content: &str) -> Option<String>

Extract the version string from the first capture group.

Source

pub fn write_version( &self, content: &str, new_version: &str, ) -> Result<String, VersionFileError>

Return updated content with the first capture group replaced by new_version, preserving all surrounding text.

§Errors

Returns VersionFileError::NoVersionField if the regex does not match content.

Trait Implementations§

Source§

impl Debug for RegexVersionFile

Source§

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

Formats the value using the given formatter. Read more

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> 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, 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.