From 4b7d3834ab54313e96fec207f4b5944156013d65 Mon Sep 17 00:00:00 2001 From: alexion Date: Sat, 19 Sep 2026 21:27:23 -0400 Subject: [PATCH] feat(xatu): add manual inherit lint --- src/xatu/BUILD | 1 + src/xatu/ast.rs | 31 ++------- src/xatu/parser.rs | 104 ++++++---------------------- src/xatu/rules.rs | 10 ++- src/xatu/rules/manual_inherit.rs | 23 ++++++ src/xatu/testdata/clean.nix | 5 ++ src/xatu/testdata/lint_findings.nix | 1 + src/xatu/xatu_test.rs | 13 ++++ 8 files changed, 77 insertions(+), 111 deletions(-) create mode 100644 src/xatu/rules/manual_inherit.rs diff --git a/src/xatu/BUILD b/src/xatu/BUILD index 4a72c08..ea83932 100644 --- a/src/xatu/BUILD +++ b/src/xatu/BUILD @@ -8,6 +8,7 @@ rust_library( "file_store.rs", "parser.rs", "rules.rs", + "rules/manual_inherit.rs", "rules/unquoted_uri.rs", "xatu.rs", ], diff --git a/src/xatu/ast.rs b/src/xatu/ast.rs index 1addbf4..4b3c25c 100644 --- a/src/xatu/ast.rs +++ b/src/xatu/ast.rs @@ -28,20 +28,13 @@ impl std::fmt::Display for SourceRange { #[derive(Debug, Clone, PartialEq, Eq)] pub enum NodeData { - Apply(Apply), - LetIn(LetIn), - Inherit(Inherit), + Binding(Binding), } #[derive(Debug, Clone, PartialEq, Eq)] -pub struct Apply { - pub function: Expr, -} - -#[derive(Debug, Clone, PartialEq, Eq)] -pub enum Expr { - Ident(Ident), - Select(Box