diff options
| author | Jonathan Behrens <fintelia@gmail.com> | 2017-05-06 15:14:44 -0400 |
|---|---|---|
| committer | Jonathan Behrens <fintelia@gmail.com> | 2017-05-06 15:14:44 -0400 |
| commit | 7c6479358bb562094de8a932c941254b5e31f210 (patch) | |
| tree | 1cd858edecba01cca4d6779a8ba4938637a4c507 /src/file_lines.rs | |
| parent | 75a13868dab681dfc31fbe31d76fff413bfe7c9e (diff) | |
Respect file_lines within format_lines() function
Diffstat (limited to 'src/file_lines.rs')
| -rw-r--r-- | src/file_lines.rs | 14 |
1 files changed, 14 insertions, 0 deletions
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. |
