pub struct ApplyOptionsBuilder { /* private fields */ }Expand description
Creates a new builder for ApplyOptions.
This provides a classic builder pattern for constructing an ApplyOptions struct,
which can be useful when the configuration is built conditionally or comes from
multiple sources.
§Example
use mpatch::ApplyOptions;
let mut builder = ApplyOptions::builder();
let is_dry_run = true;
if is_dry_run {
builder = builder.dry_run(true);
}
let options = builder.fuzz_factor(0.8).build();
assert_eq!(options.dry_run, true);
assert_eq!(options.fuzz_factor, 0.8);Implementations§
Source§impl ApplyOptionsBuilder
impl ApplyOptionsBuilder
Sourcepub fn dry_run(self, dry_run: bool) -> Self
pub fn dry_run(self, dry_run: bool) -> Self
Sets the dry_run flag for the patch operation.
If true, no files will be modified. Instead, a diff of the proposed
changes will be generated and returned in PatchResult. This is useful
for previewing changes before they are applied.
§Example
let options = ApplyOptions::builder()
.dry_run(true) // Enable dry-run mode
.build();
assert!(options.dry_run);Sourcepub fn fuzz_factor(self, fuzz_factor: f32) -> Self
pub fn fuzz_factor(self, fuzz_factor: f32) -> Self
Sets the similarity threshold for fuzzy matching.
The fuzz_factor is a value between 0.0 and 1.0 that determines how
closely a block of text in the target file must match a hunk’s context
to be considered a “fuzzy match”. A higher value requires a closer match.
Setting it to 0.0 disables fuzzy matching entirely, requiring an exact match.
§Example
// Require a very high similarity (90%) for a fuzzy match to be accepted.
let options = ApplyOptions::builder().fuzz_factor(0.9).build();
assert_eq!(options.fuzz_factor, 0.9);Sourcepub fn build(self) -> ApplyOptions
pub fn build(self) -> ApplyOptions
Builds the ApplyOptions struct from the builder’s configuration.
This method consumes the builder and returns a final ApplyOptions instance.
Any options not explicitly set on the builder will fall back to their
default values.
§Example
let options = ApplyOptions::builder()
.dry_run(true) // Finalize the configuration
.fuzz_factor(0.8)
.build();
assert!(options.dry_run);
assert_eq!(options.fuzz_factor, 0.8);Trait Implementations§
Source§impl Clone for ApplyOptionsBuilder
impl Clone for ApplyOptionsBuilder
Source§fn clone(&self) -> ApplyOptionsBuilder
fn clone(&self) -> ApplyOptionsBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ApplyOptionsBuilder
impl Debug for ApplyOptionsBuilder
Source§impl Default for ApplyOptionsBuilder
impl Default for ApplyOptionsBuilder
Source§fn default() -> ApplyOptionsBuilder
fn default() -> ApplyOptionsBuilder
impl Copy for ApplyOptionsBuilder
Auto Trait Implementations§
impl Freeze for ApplyOptionsBuilder
impl RefUnwindSafe for ApplyOptionsBuilder
impl Send for ApplyOptionsBuilder
impl Sync for ApplyOptionsBuilder
impl Unpin for ApplyOptionsBuilder
impl UnwindSafe for ApplyOptionsBuilder
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more