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;