summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBalaji Sivaraman <balaji@balajisivaraman.com>2018-01-01 19:52:35 +0530
committerAndrew Gallant <jamslam@gmail.com>2018-01-01 09:22:35 -0500
commitb6177f0459044a7e3fb882ecda9c80e44e4d95de (patch)
tree281e058e4fbe87c6293ea5260d4f798a05ce7b4d /src
parentba1023e1e45d7bd6edffa43d06c9613d3b84de8f (diff)
cleanup: replace try! with ?
Diffstat (limited to 'src')
-rw-r--r--src/args.rs80
-rw-r--r--src/decoder.rs16
-rw-r--r--src/printer.rs10
-rw-r--r--src/search_stream.rs12
-rw-r--r--src/worker.rs4
5 files changed, 61 insertions, 61 deletions
diff --git a/src/args.rs b/src/args.rs
index f2c9de44..77cf8cc0 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -312,27 +312,27 @@ impl<'a> ArgMatches<'a> {
fn to_args(&self) -> Result<Args> {
let paths = self.paths();
let line_number = self.line_number(&paths);
- let mmap = try!(self.mmap(&paths));
+ let mmap = self.mmap(&paths)?;
let with_filename = self.with_filename(&paths);
- let (before_context, after_context) = try!(self.contexts());
+ let (before_context, after_context) = self.contexts()?;
let quiet = self.is_present("quiet");
let args = Args {
paths: paths,
after_context: after_context,
before_context: before_context,
color_choice: self.color_choice(),
- colors: try!(self.color_specs()),
+ colors: self.color_specs()?,
column: self.column(),
context_separator: self.context_separator(),
count: self.is_present("count"),
- encoding: try!(self.encoding()),
+ encoding: self.encoding()?,
files_with_matches: self.is_present("files-with-matches"),
files_without_matches: self.is_present("files-without-match"),
eol: b'\n',
files: self.is_present("files"),
follow: self.is_present("follow"),
- glob_overrides: try!(self.overrides()),
- grep: try!(self.grep()),
+ glob_overrides: self.overrides()?,
+ grep: self.grep()?,
heading: self.heading(),
hidden: self.hidden(),
ignore_files: self.ignore_files(),
@@ -340,10 +340,10 @@ impl<'a> ArgMatches<'a> {
line_number: line_number,
line_number_width: try!(self.usize_of("line-number-width")),
line_per_match: self.is_present("vimgrep"),
- max_columns: try!(self.usize_of("max-columns")),
- max_count: try!(self.usize_of("max-count")).map(|max| max as u64),
- max_filesize: try!(self.max_filesize()),
- maxdepth: try!(self.usize_of("maxdepth")),
+ max_columns: self.usize_of("max-columns")?,
+ max_count: self.usize_of("max-count")?.map(|max| max as u64),
+ max_filesize: self.max_filesize()?,
+ maxdepth: self.usize_of("maxdepth")?,
mmap: mmap,
no_ignore: self.no_ignore(),
no_ignore_parent: self.no_ignore_parent(),
@@ -351,16 +351,16 @@ impl<'a> ArgMatches<'a> {
no_messages: self.is_present("no-messages"),
null: self.is_present("null"),
only_matching: self.is_present("only-matching"),
- path_separator: try!(self.path_separator()),
+ path_separator: self.path_separator()?,
quiet: quiet,
quiet_matched: QuietMatched::new(quiet),
replace: self.replace(),
sort_files: self.is_present("sort-files"),
stdout_handle: self.stdout_handle(),
text: self.text(),
- threads: try!(self.threads()),
+ threads: self.threads()?,
type_list: self.is_present("type-list"),
- types: try!(self.types()),
+ types: self.types()?,
with_filename: with_filename,
};
if args.mmap {
@@ -424,7 +424,7 @@ impl<'a> ArgMatches<'a> {
/// If any part of the pattern isn't valid UTF-8, then an error is
/// returned.
fn pattern(&self) -> Result<String> {
- Ok(try!(self.patterns()).join("|"))
+ Ok(self.patterns()?.join("|"))
}
/// Get a sequence of all available patterns from the command line.
@@ -445,13 +445,13 @@ impl<'a> ArgMatches<'a> {
None => {
if self.values_of_os("file").is_none() {
if let Some(os_pat) = self.value_of_os("PATTERN") {
- pats.push(try!(self.os_str_pattern(os_pat)));
+ pats.push(self.os_str_pattern(os_pat)?);
}
}
}
Some(os_pats) => {
for os_pat in os_pats {
- pats.push(try!(self.os_str_pattern(os_pat)));
+ pats.push(self.os_str_pattern(os_pat)?);
}
}
}
@@ -460,12 +460,12 @@ impl<'a> ArgMatches<'a> {
if file == "-" {
let stdin = io::stdin();
for line in stdin.lock().lines() {
- pats.push(self.str_pattern(&try!(line)));
+ pats.push(self.str_pattern(&line?));
}
} else {
- let f = try!(fs::File::open(file));
+ let f = fs::File::open(file)?;
for line in io::BufReader::new(f).lines() {
- pats.push(self.str_pattern(&try!(line)));
+ pats.push(self.str_pattern(&line?));
}
}
}
@@ -481,7 +481,7 @@ impl<'a> ArgMatches<'a> {
///
/// If the pattern is not valid UTF-8, then an error is returned.
fn os_str_pattern(&self, pat: &OsStr) -> Result<String> {
- let s = try!(pattern_to_str(pat));
+ let s = pattern_to_str(pat)?;
Ok(self.str_pattern(s))
}
@@ -581,8 +581,8 @@ impl<'a> ArgMatches<'a> {
/// `paths` should be a slice of all top-level file paths that ripgrep
/// will need to search.
fn mmap(&self, paths: &[PathBuf]) -> Result<bool> {
- let (before, after) = try!(self.contexts());
- let enc = try!(self.encoding());
+ let (before, after) = self.contexts()?;
+ let enc = self.encoding()?;
Ok(if before > 0 || after > 0 || self.is_present("no-mmap") {
false
} else if self.is_present("mmap") {
@@ -671,9 +671,9 @@ impl<'a> ArgMatches<'a> {
/// If there was a problem parsing the values from the user as an integer,
/// then an error is returned.
fn contexts(&self) -> Result<(usize, usize)> {
- let after = try!(self.usize_of("after-context")).unwrap_or(0);
- let before = try!(self.usize_of("before-context")).unwrap_or(0);
- let both = try!(self.usize_of("context")).unwrap_or(0);
+ let after = self.usize_of("after-context")?.unwrap_or(0);
+ let before = self.usize_of("before-context")?.unwrap_or(0);
+ let both = self.usize_of("context")?.unwrap_or(0);
Ok(if both > 0 {
(both, both)
} else {
@@ -719,7 +719,7 @@ impl<'a> ArgMatches<'a> {
"match:style:bold".parse().unwrap(),
];
for spec_str in self.values_of_lossy_vec("colors") {
- specs.push(try!(spec_str.parse()));
+ specs.push(spec_str.parse()?);
}
Ok(ColorSpecs::new(&specs))
}
@@ -752,7 +752,7 @@ impl<'a> ArgMatches<'a> {
if self.is_present("sort-files") {
return Ok(1);
}
- let threads = try!(self.usize_of("threads")).unwrap_or(0);
+ let threads = self.usize_of("threads")?.unwrap_or(0);
Ok(if threads == 0 {
cmp::min(12, num_cpus::get())
} else {
@@ -772,15 +772,15 @@ impl<'a> ArgMatches<'a> {
let casei =
self.is_present("ignore-case")
&& !self.is_present("case-sensitive");
- let mut gb = GrepBuilder::new(&try!(self.pattern()))
+ let mut gb = GrepBuilder::new(&self.pattern()?)
.case_smart(smart)
.case_insensitive(casei)
.line_terminator(b'\n');
- if let Some(limit) = try!(self.dfa_size_limit()) {
+ if let Some(limit) = self.dfa_size_limit()? {
gb = gb.dfa_size_limit(limit);
}
- if let Some(limit) = try!(self.regex_size_limit()) {
+ if let Some(limit) = self.regex_size_limit()? {
gb = gb.size_limit(limit);
}
gb.build().map_err(From::from)
@@ -788,17 +788,17 @@ impl<'a> ArgMatches<'a> {
/// Builds the set of glob overrides from the command line flags.
fn overrides(&self) -> Result<Override> {
- let mut ovr = OverrideBuilder::new(try!(env::current_dir()));
+ let mut ovr = OverrideBuilder::new(env::current_dir()?);
for glob in self.values_of_lossy_vec("glob") {
- try!(ovr.add(&glob));
+ ovr.add(&glob)?;
}
// this is smelly. In the long run it might make sense
// to change overridebuilder to be like globsetbuilder
// but this would be a breaking change to the ignore crate
// so it is being shelved for now...
- try!(ovr.case_insensitive(true));
+ ovr.case_insensitive(true)?;
for glob in self.values_of_lossy_vec("iglob") {
- try!(ovr.add(&glob));
+ ovr.add(&glob)?;
}
ovr.build().map_err(From::from)
}
@@ -811,7 +811,7 @@ impl<'a> ArgMatches<'a> {
btypes.clear(&ty);
}
for def in self.values_of_lossy_vec("type-add") {
- try!(btypes.add_def(&def));
+ btypes.add_def(&def)?;
}
for ty in self.values_of_lossy_vec("type") {
btypes.select(&ty);
@@ -835,12 +835,12 @@ impl<'a> ArgMatches<'a> {
None => return Ok(None)
};
let re = regex::Regex::new("^([0-9]+)([KMG])?$").unwrap();
- let caps = try!(
+ let caps =
re.captures(&arg_value).ok_or_else(|| {
format!("invalid format for {}", arg_name)
- }));
+ })?;
- let value = try!(caps[1].parse::<u64>());
+ let value = caps[1].parse::<u64>()?;
let suffix = caps.get(2).map(|x| x.as_str());
let v_10 = value.checked_mul(1024);
@@ -865,13 +865,13 @@ impl<'a> ArgMatches<'a> {
/// Parse the dfa-size-limit argument option into a byte count.
fn dfa_size_limit(&self) -> Result<Option<usize>> {
- let r = try!(self.parse_human_readable_size_arg("dfa-size-limit"));
+ let r = self.parse_human_readable_size_arg("dfa-size-limit")?;
human_readable_to_usize("dfa-size-limit", r)
}
/// Parse the regex-size-limit argument option into a byte count.
fn regex_size_limit(&self) -> Result<Option<usize>> {
- let r = try!(self.parse_human_readable_size_arg("regex-size-limit"));
+ let r = self.parse_human_readable_size_arg("regex-size-limit")?;
human_readable_to_usize("regex-size-limit", r)
}
diff --git a/src/decoder.rs b/src/decoder.rs
index 8bb9d2bf..0842fb5c 100644
--- a/src/decoder.rs
+++ b/src/decoder.rs
@@ -62,7 +62,7 @@ impl<R: io::Read> BomPeeker<R> {
}
self.bom = Some(Bom { bytes: [0; 3], len: 0 });
let mut buf = [0u8; 3];
- let bom_len = try!(read_full(&mut self.rdr, &mut buf));
+ let bom_len = read_full(&mut self.rdr, &mut buf)?;
self.bom = Some(Bom { bytes: buf, len: bom_len });
Ok(self.bom.unwrap())
}
@@ -71,7 +71,7 @@ impl<R: io::Read> BomPeeker<R> {
impl<R: io::Read> io::Read for BomPeeker<R> {
fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
if self.nread < 3 {
- let bom = try!(self.peek_bom());
+ let bom = self.peek_bom()?;
let bom = bom.as_slice();
if self.nread < bom.len() {
let rest = &bom[self.nread..];
@@ -81,7 +81,7 @@ impl<R: io::Read> io::Read for BomPeeker<R> {
return Ok(len);
}
}
- let nread = try!(self.rdr.read(buf));
+ let nread = self.rdr.read(buf)?;
self.nread += nread;
Ok(nread)
}
@@ -196,7 +196,7 @@ impl<R: io::Read, B: AsMut<[u8]>> DecodeReader<R, B> {
}
self.pos = 0;
self.buflen +=
- try!(self.rdr.read(&mut self.buf.as_mut()[self.buflen..]));
+ self.rdr.read(&mut self.buf.as_mut()[self.buflen..])?;
Ok(())
}
@@ -219,7 +219,7 @@ impl<R: io::Read, B: AsMut<[u8]>> DecodeReader<R, B> {
return Ok(0);
}
if self.pos >= self.buflen {
- try!(self.fill());
+ self.fill()?;
}
let mut nwrite = 0;
loop {
@@ -235,7 +235,7 @@ impl<R: io::Read, B: AsMut<[u8]>> DecodeReader<R, B> {
}
// Otherwise, we know that our internal buffer has insufficient
// data to transcode at least one char, so we attempt to refill it.
- try!(self.fill());
+ self.fill()?;
// Quit on EOF.
if self.buflen == 0 {
self.pos = 0;
@@ -251,7 +251,7 @@ impl<R: io::Read, B: AsMut<[u8]>> DecodeReader<R, B> {
#[inline(never)] // impacts perf...
fn detect(&mut self) -> io::Result<()> {
- let bom = try!(self.rdr.peek_bom());
+ let bom = self.rdr.peek_bom()?;
self.decoder = bom.decoder();
Ok(())
}
@@ -261,7 +261,7 @@ impl<R: io::Read, B: AsMut<[u8]>> io::Read for DecodeReader<R, B> {
fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
if self.first {
self.first = false;
- try!(self.detect());
+ self.detect()?;
}
if self.decoder.is_none() {
return self.rdr.read(buf);
diff --git a/src/printer.rs b/src/printer.rs
index 2fb4ed60..7f0aa9b8 100644
--- a/src/printer.rs
+++ b/src/printer.rs
@@ -741,28 +741,28 @@ impl FromStr for Spec {
if pieces.len() <= 1 || pieces.len() > 3 {
return Err(Error::InvalidFormat(s.to_string()));
}
- let otype: OutType = try!(pieces[0].parse());
- match try!(pieces[1].parse()) {
+ let otype: OutType = pieces[0].parse()?;
+ match pieces[1].parse()? {
SpecType::None => Ok(Spec { ty: otype, value: SpecValue::None }),
SpecType::Style => {
if pieces.len() < 3 {
return Err(Error::InvalidFormat(s.to_string()));
}
- let style: Style = try!(pieces[2].parse());
+ let style: Style = pieces[2].parse()?;
Ok(Spec { ty: otype, value: SpecValue::Style(style) })
}
SpecType::Fg => {
if pieces.len() < 3 {
return Err(Error::InvalidFormat(s.to_string()));
}
- let color: Color = try!(pieces[2].parse());
+ let color: Color = pieces[2].parse()?;
Ok(Spec { ty: otype, value: SpecValue::Fg(color) })
}
SpecType::Bg => {
if pieces.len() < 3 {
return Err(Error::InvalidFormat(s.to_string()));
}
- let color: Color = try!(pieces[2].parse());
+ let color: Color = pieces[2].parse()?;
Ok(Spec { ty: otype, value: SpecValue::Bg(color) })
}
}
diff --git a/src/search_stream.rs b/src/search_stream.rs
index 4e167121..3d8396cb 100644
--- a/src/search_stream.rs
+++ b/src/search_stream.rs
@@ -264,7 +264,7 @@ impl<'a, R: io::Read, W: WriteColor> Searcher<'a, R, W> {
while !self.terminate() {
let upto = self.inp.lastnl;
self.print_after_context(upto);
- if !try!(self.fill()) {
+ if !self.fill()? {
break;
}
while !self.terminate() && self.inp.pos < self.inp.lastnl {
@@ -301,7 +301,7 @@ impl<'a, R: io::Read, W: WriteColor> Searcher<'a, R, W> {
}
if self.after_context_remaining > 0 {
if self.last_printed == self.inp.lastnl {
- try!(self.fill());
+ self.fill()?;
}
let upto = self.inp.lastnl;
if upto > 0 {
@@ -349,9 +349,9 @@ impl<'a, R: io::Read, W: WriteColor> Searcher<'a, R, W> {
self.count_lines(keep);
self.last_line = 0;
}
- let ok = try!(self.inp.fill(&mut self.haystack, keep).map_err(|err| {
+ let ok = self.inp.fill(&mut self.haystack, keep).map_err(|err| {
Error::from_io(err, &self.path)
- }));
+ })?;
Ok(ok)
}
@@ -595,8 +595,8 @@ impl InputBuffer {
let new_len = cmp::max(min_len, self.buf.len() * 2);
self.buf.resize(new_len, 0);
}
- let n = try!(rdr.read(
- &mut self.buf[self.end..self.end + self.read_size]));
+ let n = rdr.read(
+ &mut self.buf[self.end..self.end + self.read_size])?;
if !self.text {
if is_binary(&self.buf[self.end..self.end + n], self.first) {
return Ok(false);
diff --git a/src/worker.rs b/src/worker.rs
index 9aa0fdc0..b487c7d5 100644
--- a/src/worker.rs
+++ b/src/worker.rs
@@ -282,7 +282,7 @@ impl Worker {
path: &Path,
file: &File,
) -> Result<u64> {
- if try!(file.metadata()).len() == 0 {
+ if file.metadata()?.len() == 0 {
// Opening a memory map with an empty file results in an error.
// However, this may not actually be an empty file! For example,
// /proc/cpuinfo reports itself as an empty file, but it can
@@ -290,7 +290,7 @@ impl Worker {
// regular read calls.
return self.search(printer, path, file);
}
- let mmap = unsafe { try!(Mmap::map(file)) };
+ let mmap = unsafe { Mmap::map(file)? };
let buf = &*mmap;
if buf.len() >= 3 && Encoding::for_bom(buf).is_some() {
// If we have a UTF-16 bom in our memory map, then we need to fall