From 7c6479358bb562094de8a932c941254b5e31f210 Mon Sep 17 00:00:00 2001 From: Jonathan Behrens Date: Sat, 6 May 2017 15:14:44 -0400 Subject: Respect file_lines within format_lines() function --- src/file_lines.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/file_lines.rs') diff --git a/src/file_lines.rs b/src/file_lines.rs index a20c8c4d3b3..3db75e1ce7e 100644 --- a/src/file_lines.rs +++ b/src/file_lines.rs @@ -144,6 +144,20 @@ impl FileLines { Err(_) => false, } } + + pub fn contains_line(&self, file_name: &str, line: usize) -> bool { + let map = match self.0 { + // `None` means "all lines in all files". + None => return true, + Some(ref map) => map, + }; + + match canonicalize_path_string(file_name) + .and_then(|canonical| map.get_vec(&canonical).ok_or(())) { + Ok(ranges) => ranges.iter().any(|r| r.lo <= line && r.hi >= line), + Err(_) => false, + } + } } /// FileLines files iterator. -- cgit 1.4.1-3-g733a5