mirror of
https://codeberg.org/demostf/edit.git
synced 2026-06-03 03:44:08 +02:00
builder updates
This commit is contained in:
parent
e734324f37
commit
01b74e3f7b
3 changed files with 17 additions and 18 deletions
15
README.md
15
README.md
|
|
@ -25,14 +25,13 @@ See `edit --help` for the available options.
|
|||
use edit::{edit, EditOptions, TickRange};
|
||||
|
||||
fn main() {
|
||||
let options = EditOptions {
|
||||
unlock_pov: true,
|
||||
cut: Some(TickRange {
|
||||
from: 1000.into(),
|
||||
to: 2000.into(),
|
||||
}),
|
||||
..EditOptions::default()
|
||||
};
|
||||
let options = EditOptions::builder()
|
||||
.unlock_pov(true)
|
||||
.remove_invalid_deletes(self.remove_invalid_deletes)
|
||||
.cut(TickRange {
|
||||
from: from.into(),
|
||||
to: to.into(),
|
||||
}).build();
|
||||
let input = fs::read("in.demo").unwrap();
|
||||
let output = edit(&input, options);
|
||||
fs::write("out.dem", output).unwrap();
|
||||
|
|
|
|||
|
|
@ -19,17 +19,17 @@ struct Args {
|
|||
|
||||
impl Args {
|
||||
fn get_options(&self) -> EditOptions {
|
||||
EditOptions::builder()
|
||||
let builder = EditOptions::builder()
|
||||
.unlock_pov(self.unlock_pov)
|
||||
.remove_invalid_deletes(self.remove_invalid_deletes)
|
||||
.cut(if let (Some(from), Some(to)) = (self.from, self.to) {
|
||||
Some(TickRange {
|
||||
from: from.into(),
|
||||
to: to.into(),
|
||||
})
|
||||
} else {
|
||||
None
|
||||
.remove_invalid_deletes(self.remove_invalid_deletes);
|
||||
if let (Some(from), Some(to)) = (self.from, self.to) {
|
||||
builder.cut(TickRange {
|
||||
from: from.into(),
|
||||
to: to.into(),
|
||||
}).build()
|
||||
} else {
|
||||
builder.build()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ pub struct EditOptions {
|
|||
#[cfg_attr(feature = "cli", builder(default))]
|
||||
pub remove_conditions: Vec<CondOptions>,
|
||||
#[serde(default)]
|
||||
#[cfg_attr(feature = "cli", builder(default))]
|
||||
#[cfg_attr(feature = "cli", builder(default, setter(strip_option)))]
|
||||
pub cut: Option<TickRange>,
|
||||
#[serde(default)]
|
||||
#[cfg_attr(feature = "cli", builder(default))]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue