From 6a5f456d72000a2259946787af80f41018b622db Mon Sep 17 00:00:00 2001 From: Kevin Amado Date: Sat, 29 Jan 2022 17:05:05 -0500 Subject: [PATCH] feat: get `rec {` done right --- src/rules/attr_set.rs | 8 ++++++++ tests/cases/attr_set/in | 2 +- tests/cases/attr_set/out | 8 ++++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/rules/attr_set.rs b/src/rules/attr_set.rs index d8a3616..50c8a11 100644 --- a/src/rules/attr_set.rs +++ b/src/rules/attr_set.rs @@ -19,6 +19,14 @@ pub fn rule( build_ctx.config.layout() }; + // rec + let child = children.peek_next().unwrap(); + if let rnix::SyntaxKind::TOKEN_REC = child.element.kind() { + steps.push_back(crate::builder::Step::Format(child.element)); + steps.push_back(crate::builder::Step::Whitespace); + children.move_next(); + } + // { let child = children.get_next().unwrap(); steps.push_back(crate::builder::Step::Format(child.element)); diff --git a/tests/cases/attr_set/in b/tests/cases/attr_set/in index 0ab24f8..7f82e77 100644 --- a/tests/cases/attr_set/in +++ b/tests/cases/attr_set/in @@ -3,5 +3,5 @@ {/*a*/} {a=1;} {/*a*/b=1;/*c*/} - {a={a={a={a={a={a={a={a={a={a={};};};};};};};};};};} + {a=rec {a={a=rec {a={a=rec {a={a=rec {a={a=rec {a={};};};};};};};};};};} ] diff --git a/tests/cases/attr_set/out b/tests/cases/attr_set/out index 0070866..b3636aa 100644 --- a/tests/cases/attr_set/out +++ b/tests/cases/attr_set/out @@ -16,9 +16,13 @@ */ } { - a = { + a = rec { a = { - a = { a = { a = { a = { a = { a = { a = { a = { }; }; }; }; }; }; }; }; + a = rec { + a = { + a = rec { a = { a = rec { a = { a = rec { a = { }; }; }; }; }; }; + }; + }; }; }; }