Skip to content

Commit c973f2d

Browse files
committed
Update dependencies
1 parent 99f8357 commit c973f2d

File tree

2 files changed

+64
-82
lines changed

2 files changed

+64
-82
lines changed

Cargo.lock

Lines changed: 24 additions & 54 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main.rs

Lines changed: 40 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ extern crate core;
1010
extern crate getopts;
1111
extern crate regex;
1212

13+
use getopts::Options;
14+
use regex::Captures;
15+
use regex::Regex;
16+
1317
use core::borrow::Borrow;
1418
use std::collections::HashMap;
1519
use std::env;
@@ -18,15 +22,15 @@ use std::io::BufRead;
1822
use std::io::LineWriter;
1923
use std::io::Write;
2024

21-
use getopts::Options;
22-
use regex::Captures;
23-
use regex::Regex;
24-
2525
fn create_options() -> Options {
2626
let mut opts = Options::new();
2727
opts.optflag("h", "help", "print this help menu and exit");
2828
opts.optflag("V", "version", "print the version and exit");
29-
opts.optflag("g", "greedy-defaults", "allow expansion of undefined variable defaults");
29+
opts.optflag(
30+
"g",
31+
"greedy-defaults",
32+
"allow expansion of undefined variable defaults",
33+
);
3034
opts.optmulti(
3135
"v",
3236
"variable",
@@ -93,9 +97,9 @@ fn main() {
9397
regex::escape(prefix.clone().as_str()),
9498
regex::escape(suffix.clone().as_str())
9599
)
96-
.as_str(),
100+
.as_str(),
97101
)
98-
.unwrap()
102+
.unwrap(),
99103
),
100104
false => None,
101105
};
@@ -169,35 +173,43 @@ fn main() {
169173
for (_, (regex, value)) in &vars {
170174
let val = &value.clone();
171175
out = regex
172-
.replace_all(out.as_str(), |caps: &Captures| match caps.get(2) {
173-
Some(mat) => match mat.as_str() {
174-
":-" => match val.borrow() {
175-
Some(v) => {
176-
if v.is_empty() {
177-
caps.get(3).map_or("", |m| m.as_str())
178-
} else {
179-
v.as_str()
176+
.replace_all(out.as_str(), |caps: &Captures| -> String {
177+
match caps.get(2) {
178+
Some(mat) => match mat.as_str() {
179+
":-" => match val.borrow() {
180+
Some(v) => {
181+
if v.is_empty() {
182+
caps.get(3).map_or("", |m| m.as_str())
183+
} else {
184+
v.as_str()
185+
}
180186
}
181-
}
182-
None => caps.get(3).map_or("", |m| m.as_str()),
187+
None => caps.get(3).map_or("", |m| m.as_str()),
188+
},
189+
_ => match val.borrow() {
190+
Some(v) => v.as_str(),
191+
None => caps.get(3).map_or("", |m| m.as_str()),
192+
},
183193
},
184-
_ => match val.borrow() {
194+
None => match val.borrow() {
185195
Some(v) => v.as_str(),
186-
None => caps.get(3).map_or("", |m| m.as_str()),
196+
None => caps.get(0).unwrap().as_str(),
187197
},
188-
},
189-
None => match val.borrow() {
190-
Some(v) => v.as_str(),
191-
None => caps.get(0).unwrap().as_str(),
192-
},
198+
}
199+
.to_string()
193200
})
194201
.to_string();
195202
}
196203
out = match greedy.clone() {
197-
Some(regex) => regex.replace_all(
198-
out.as_str(),
199-
|caps: &Captures| caps.get(1).map_or("", |m| m.as_str())
200-
).to_string(),
204+
Some(regex) => regex
205+
.replace_all(out.as_str(), |caps: &Captures| -> String {
206+
caps.get(1)
207+
.clone()
208+
.map_or("", |m| m.as_str())
209+
.clone()
210+
.to_string()
211+
})
212+
.to_string(),
201213
None => out,
202214
};
203215
writer.write(out.as_bytes()).unwrap();

0 commit comments

Comments
 (0)