Respect file_lines within format_lines() function
This commit is contained in:
parent
75a13868da
commit
7c6479358b
2 changed files with 39 additions and 17 deletions
|
@ -144,6 +144,20 @@ impl FileLines {
|
||||||
Err(_) => false,
|
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.
|
/// FileLines files iterator.
|
||||||
|
|
42
src/lib.rs
42
src/lib.rs
|
@ -481,27 +481,35 @@ fn format_lines(text: &mut StringBuffer, name: &str, config: &Config, report: &m
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add warnings for bad todos/ fixmes
|
let format_line = config.file_lines.contains_line(name, cur_line as usize);
|
||||||
if let Some(issue) = issue_seeker.inspect(c) {
|
|
||||||
errors.push(FormattingError {
|
if format_line {
|
||||||
line: cur_line,
|
// Add warnings for bad todos/ fixmes
|
||||||
kind: ErrorKind::BadIssue(issue),
|
if let Some(issue) = issue_seeker.inspect(c) {
|
||||||
});
|
errors.push(FormattingError {
|
||||||
|
line: cur_line,
|
||||||
|
kind: ErrorKind::BadIssue(issue),
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if c == '\n' {
|
if c == '\n' {
|
||||||
// Check for (and record) trailing whitespace.
|
if format_line {
|
||||||
if let Some(lw) = last_wspace {
|
// Check for (and record) trailing whitespace.
|
||||||
trims.push((cur_line, lw, b));
|
if let Some(lw) = last_wspace {
|
||||||
line_len -= 1;
|
trims.push((cur_line, lw, b));
|
||||||
}
|
line_len -= 1;
|
||||||
// Check for any line width errors we couldn't correct.
|
}
|
||||||
if config.error_on_line_overflow && line_len > config.max_width {
|
|
||||||
errors.push(FormattingError {
|
// Check for any line width errors we couldn't correct.
|
||||||
line: cur_line,
|
if config.error_on_line_overflow && line_len > config.max_width {
|
||||||
kind: ErrorKind::LineOverflow(line_len, config.max_width),
|
errors.push(FormattingError {
|
||||||
});
|
line: cur_line,
|
||||||
|
kind: ErrorKind::LineOverflow(line_len, config.max_width),
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
line_len = 0;
|
line_len = 0;
|
||||||
cur_line += 1;
|
cur_line += 1;
|
||||||
newline_count += 1;
|
newline_count += 1;
|
||||||
|
|
Loading…
Reference in a new issue