feat(natu): support preceding suppressions
This commit was merged in pull request #118.
This commit is contained in:
@@ -127,6 +127,18 @@ pub fn run_rules(file: &ast::ParsedFile, graph: &ScopeGraph, source: &str) -> Ve
|
||||
|
||||
pub fn is_suppressed(source: &str, range: ast::SourceRange, rule_id: &str) -> bool {
|
||||
let line = source[range.start..].lines().next().unwrap_or_default();
|
||||
line_suppresses(line, rule_id) || preceding_line_suppresses(source, range, rule_id)
|
||||
}
|
||||
|
||||
fn preceding_line_suppresses(source: &str, range: ast::SourceRange, rule_id: &str) -> bool {
|
||||
let Some((preceding_source, _current_line)) = source[..range.start].rsplit_once('\n') else {
|
||||
return false;
|
||||
};
|
||||
let preceding_line = preceding_source.lines().next_back().unwrap_or_default();
|
||||
line_suppresses(preceding_line, rule_id)
|
||||
}
|
||||
|
||||
fn line_suppresses(line: &str, rule_id: &str) -> bool {
|
||||
let Some(comment) = line.split_once('#').map(|(_, comment)| comment.trim()) else {
|
||||
return false;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user