diff options
author | Balaji Sivaraman <balaji@balajisivaraman.com> | 2018-01-01 19:52:35 +0530 |
---|---|---|
committer | Andrew Gallant <jamslam@gmail.com> | 2018-01-01 09:22:35 -0500 |
commit | b6177f0459044a7e3fb882ecda9c80e44e4d95de (patch) | |
tree | 281e058e4fbe87c6293ea5260d4f798a05ce7b4d /src | |
parent | ba1023e1e45d7bd6edffa43d06c9613d3b84de8f (diff) |
cleanup: replace try! with ?
Diffstat (limited to 'src')
-rw-r--r-- | src/args.rs | 80 | ||||
-rw-r--r-- | src/decoder.rs | 16 | ||||
-rw-r--r-- | src/printer.rs | 10 | ||||
-rw-r--r-- | src/search_stream.rs | 12 | ||||
-rw-r--r-- | src/worker.rs | 4 |
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 |