fix(natu): sort let-order scopes
This commit is contained in:
@@ -40,14 +40,25 @@ impl std::fmt::Display for Report {
|
|||||||
file.path.display()
|
file.path.display()
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
for finding in self.diagnostics.iter().filter(|candidate| {
|
let mut findings = self
|
||||||
candidate.file_id == diagnostic.file_id
|
.diagnostics
|
||||||
&& candidate.finding.rule_id == "let_order"
|
.iter()
|
||||||
}) {
|
.filter(|candidate| {
|
||||||
|
candidate.file_id == diagnostic.file_id
|
||||||
|
&& candidate.finding.rule_id == "let_order"
|
||||||
|
})
|
||||||
|
.collect::<Vec<_>>();
|
||||||
|
findings.sort_by_key(|finding| finding.finding.range.start);
|
||||||
|
|
||||||
|
for finding in findings {
|
||||||
let (start, _) = line_range(&file.source, finding.finding.range);
|
let (start, _) = line_range(&file.source, finding.finding.range);
|
||||||
let expected_order =
|
let expected_order =
|
||||||
finding.finding.expected_order.as_ref().expect("let order");
|
finding.finding.expected_order.as_ref().expect("let order");
|
||||||
writeln!(formatter, " line {start}: {}", expected_order.join(", "))?;
|
writeln!(
|
||||||
|
formatter,
|
||||||
|
" bindings starting at line {start}: {}",
|
||||||
|
expected_order.join(", ")
|
||||||
|
)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -58,8 +58,8 @@ fn natu_reports_out_of_order_let_bindings() -> googletest::Result<()> {
|
|||||||
"testdata/lint_findings.nix:12 [manual_inherit_from] Use `inherit` for this selected attribute\n",
|
"testdata/lint_findings.nix:12 [manual_inherit_from] Use `inherit` for this selected attribute\n",
|
||||||
"testdata/lint_findings.nix:13 [unquoted_uri] URI literals should be quoted\n",
|
"testdata/lint_findings.nix:13 [unquoted_uri] URI literals should be quoted\n",
|
||||||
"testdata/lint_findings.nix [let_order] Let bindings must follow dependency order\n",
|
"testdata/lint_findings.nix [let_order] Let bindings must follow dependency order\n",
|
||||||
" line 5: nestedSecond, nestedFirst\n",
|
" bindings starting at line 2: first, second, nested\n",
|
||||||
" line 2: first, second, nested\n",
|
" bindings starting at line 5: nestedSecond, nestedFirst\n",
|
||||||
))
|
))
|
||||||
);
|
);
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|||||||
Reference in New Issue
Block a user