From 90be3f871c7fdb2686fbef7c232a546eb9e19b6c Mon Sep 17 00:00:00 2001 From: alexion Date: Sat, 19 Sep 2026 23:51:45 -0400 Subject: [PATCH] fix(xatu): count select receivers as references --- src/xatu/parser.rs | 17 +++++++++++------ src/xatu/testdata/lint_findings.nix | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/xatu/parser.rs b/src/xatu/parser.rs index ce9c94b..f8f7624 100644 --- a/src/xatu/parser.rs +++ b/src/xatu/parser.rs @@ -144,13 +144,18 @@ impl ExprReferences for rnix::ast::Expr { } fn is_reference(ident: &rnix::ast::Ident) -> bool { + let parent = ident.syntax().parent(); + let grandparent = parent.as_ref().and_then(rowan::SyntaxNode::parent); + !matches!( - ident.syntax().parent().and_then(|parent| parent.parent()), - Some(grandparent) - if matches!( - grandparent.kind(), - rnix::SyntaxKind::NODE_ATTRPATH_VALUE | rnix::SyntaxKind::NODE_SELECT - ) + ( + parent.map(|node| node.kind()), + grandparent.map(|node| node.kind()) + ), + ( + Some(rnix::SyntaxKind::NODE_ATTRPATH), + Some(rnix::SyntaxKind::NODE_ATTRPATH_VALUE | rnix::SyntaxKind::NODE_SELECT), + ) ) } diff --git a/src/xatu/testdata/lint_findings.nix b/src/xatu/testdata/lint_findings.nix index de5a287..74e396a 100644 --- a/src/xatu/testdata/lint_findings.nix +++ b/src/xatu/testdata/lint_findings.nix @@ -1,6 +1,6 @@ let support = "support"; - primary = support; + primary = support.value; in { package = package; from = pkgs.from;