From d7b3916f23e23e6bbe8cd9947369aee5a06d3861 Mon Sep 17 00:00:00 2001 From: webdevred <148627186+webdevred@users.noreply.github.com> Date: Tue, 25 Aug 2026 22:57:36 +0200 Subject: [PATCH 1/2] Cover the config sections in the shipped rulesets The formatter treated driveModes, mirrors, soundscape and the powertrain objects like node tables: it exploded compact structures across many lines and rewrote the numbers the authors wrote, turning [0.60, 0.00] into [0.6, 0]. Over the 4943 stock jbeam files these rules leave 523 files closer to how they were written, by 15380 lines, with the drivemodes files gaining 200 to 325 lines each. The rules come from PR #179, which sat five months behind master. AST fixtures regenerated with jbeam-edit-dump-ast; no example file changes, since none of them has these sections. --- examples/ast/jbfl/complex.hs | 306 ++++++++++++++++++++++++++++++++++- examples/ast/jbfl/minimal.hs | 306 ++++++++++++++++++++++++++++++++++- examples/jbfl/complex.jbfl | 43 ++++- examples/jbfl/minimal.jbfl | 43 ++++- 4 files changed, 678 insertions(+), 20 deletions(-) diff --git a/examples/ast/jbfl/complex.hs b/examples/ast/jbfl/complex.hs index 459b9b9a..e73ce2f2 100644 --- a/examples/ast/jbfl/complex.hs +++ b/examples/ast/jbfl/complex.hs @@ -24,6 +24,37 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [ ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), + ( ObjectKey "camerasInternal", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "clutch", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "components", RuleSet { rsBySelectors = fromList [ @@ -44,6 +75,85 @@ RuleSet [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "differential_C", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "differential_F", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "differential_R", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "driveModes", RuleSet + { rsBySelectors = fromList + [ + ( ObjectKey "defaultSettings", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "modes", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList + [ + ( ObjectKey "settings", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "engineBlock", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "flexbodies", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -63,6 +173,40 @@ RuleSet [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "gauges", RuleSet + { rsBySelectors = fromList + [ + ( ObjectKey "configuration", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "displayData", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "gearbox", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "glowMap", RuleSet { rsBySelectors = fromList [ @@ -152,6 +296,13 @@ RuleSet [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "torqueCompressionBrake", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), ( ObjectKey "torqueModIntake", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -165,12 +316,37 @@ RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = + [ + ( "deformGroups", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ) ], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "mirrors", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), ( ObjectKey "nodes", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -197,7 +373,24 @@ RuleSet ( ObjectKey "powertrain", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "pressureWheels", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), @@ -219,7 +412,21 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList + [ + ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), + ( ObjectKey "radiator", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "rails", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just ( RuleSet @@ -227,6 +434,20 @@ RuleSet [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "slidenodes", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList + [ + ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "slots", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -245,7 +466,9 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList + [ + ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "slots2", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -264,7 +487,9 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList + [ + ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "soundConfig", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ @@ -286,6 +511,39 @@ RuleSet [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "soundscape", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "torsionbars", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList + [ + ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "triangles", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -295,13 +553,49 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [ ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), + ( ObjectKey "turbocharger", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "variables", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "vehicleController", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "waterDamage", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [ ( SomeKey Indent, SomeProperty Indent 2 ), ( SomeKey TrailingComma, SomeProperty TrailingComma None ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } diff --git a/examples/ast/jbfl/minimal.hs b/examples/ast/jbfl/minimal.hs index 735cc739..2cd602a0 100644 --- a/examples/ast/jbfl/minimal.hs +++ b/examples/ast/jbfl/minimal.hs @@ -24,6 +24,37 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [ ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), + ( ObjectKey "camerasInternal", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "clutch", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "components", RuleSet { rsBySelectors = fromList [ @@ -44,6 +75,85 @@ RuleSet [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "differential_C", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "differential_F", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "differential_R", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "driveModes", RuleSet + { rsBySelectors = fromList + [ + ( ObjectKey "defaultSettings", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "modes", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList + [ + ( ObjectKey "settings", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "engineBlock", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "flexbodies", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -63,6 +173,40 @@ RuleSet [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "gauges", RuleSet + { rsBySelectors = fromList + [ + ( ObjectKey "configuration", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "displayData", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "gearbox", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "glowMap", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just ( RuleSet @@ -97,6 +241,13 @@ RuleSet [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "torqueCompressionBrake", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), ( ObjectKey "torqueModIntake", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -110,12 +261,37 @@ RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = + [ + ( "deformGroups", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ) ], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "mirrors", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), ( ObjectKey "nodes", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -142,7 +318,24 @@ RuleSet ( ObjectKey "powertrain", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "pressureWheels", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), @@ -164,7 +357,21 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList + [ + ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), + ( ObjectKey "radiator", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "rails", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just ( RuleSet @@ -172,6 +379,20 @@ RuleSet [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "slidenodes", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList + [ + ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "slots", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -190,7 +411,9 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList + [ + ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "slots2", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -209,7 +432,9 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList + [ + ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "soundConfig", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ @@ -231,6 +456,39 @@ RuleSet [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "soundscape", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "torsionbars", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList + [ + ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "triangles", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -240,10 +498,46 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [ ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), + ( ObjectKey "turbocharger", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "variables", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [ ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), + ( ObjectKey "vehicleController", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "waterDamage", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just + ( RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + [ + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } diff --git a/examples/jbfl/complex.jbfl b/examples/jbfl/complex.jbfl index 52675152..de2674a5 100644 --- a/examples/jbfl/complex.jbfl +++ b/examples/jbfl/complex.jbfl @@ -13,7 +13,9 @@ } .*.nodes, .*.beams, -.*.triangles { +.*.triangles, .*.slots, +.*.slots2, .*.props, +.*.slidenodes, .*.torsionbars { AutoPad : true; } @@ -28,7 +30,20 @@ .*.mainEngine.burnEfficiency[*], .*.mainEngine.torqueModIntake[*], .*.mainEngine.torqueModMult[*], -.*.powertrain[*], .*.flexbodies[*] { +.*.mainEngine.torqueCompressionBrake[*], +.*.powertrain[*], .*.flexbodies[*], +.*.gearbox.*, .*.clutch.*, +.*.turbocharger.*, +.*.vehicleController.*, +.*.radiator.*, .*.waterDamage.*, +.*.engineBlock.*, +.*.pressureWheels[*], +.*.slidenodes[*], .*.torsionbars[*], +.*.mainEngine.deformGroups*, +.*.driveModes.defaultSettings[*], +.*.driveModes.modes.*.settings[*], +.*.mirrors[*], .*.soundscape[*], +.*.camerasInternal[*] { PreserveNumberFormat : true; ComplexNewLine : None; } @@ -43,7 +58,20 @@ .*.slots2[*].*, .*.slots2[*][*].*, .*.props[*].*, .*.props[*][*].*, .*.flexbodies[*].*, -.*.flexbodies[*][*].* { +.*.flexbodies[*][*].*, +.*.driveModes.defaultSettings[*].*, +.*.driveModes.defaultSettings[*][*].*, +.*.driveModes.modes.*.settings[*].*, +.*.driveModes.modes.*.settings[*][*].*, +.*.mirrors[*].*, .*.mirrors[*][*].*, +.*.soundscape[*].*, +.*.soundscape[*][*].*, +.*.camerasInternal[*].*, +.*.camerasInternal[*][*].*, +.*.slidenodes[*].*, +.*.torsionbars[*].*, +.*.pressureWheels[*].*, +.*.powertrain[*].* { PreserveNumberFormat : true; ComplexNewLine : None; } @@ -55,7 +83,14 @@ .*.mainEngine, .*.sounds, .*.soundConfig, .*.soundConfigExhaust, -.*.information, +.*.information, .*.gearbox, +.*.clutch, .*.turbocharger, +.*.vehicleController, .*.radiator, +.*.waterDamage, .*.engineBlock, +.*.gauges, .*.gauges.configuration, +.*.gauges.displayData, +.*.differential_R, .*.differential_F, +.*.differential_C, .*.glowMap.dumptruck_gaugelight_warning, .*.glowMap.chassis_gaugelight_warning { ComplexNewLine: Force; diff --git a/examples/jbfl/minimal.jbfl b/examples/jbfl/minimal.jbfl index ca1731d2..48ff1e97 100644 --- a/examples/jbfl/minimal.jbfl +++ b/examples/jbfl/minimal.jbfl @@ -7,7 +7,9 @@ } .*.nodes, .*.beams, -.*.triangles { +.*.triangles, .*.slots, +.*.slots2, .*.props, +.*.slidenodes, .*.torsionbars { AutoPad: true; } @@ -25,7 +27,20 @@ .*.mainEngine.burnEfficiency[*], .*.mainEngine.torqueModIntake[*], .*.mainEngine.torqueModMult[*], -.*.powertrain[*], .*.flexbodies[*] { +.*.mainEngine.torqueCompressionBrake[*], +.*.powertrain[*], .*.flexbodies[*], +.*.gearbox.*, .*.clutch.*, +.*.turbocharger.*, +.*.vehicleController.*, +.*.radiator.*, .*.waterDamage.*, +.*.engineBlock.*, +.*.pressureWheels[*], +.*.slidenodes[*], .*.torsionbars[*], +.*.mainEngine.deformGroups*, +.*.driveModes.defaultSettings[*], +.*.driveModes.modes.*.settings[*], +.*.mirrors[*], .*.soundscape[*], +.*.camerasInternal[*] { PreserveNumberFormat : true; ComplexNewLine : None; } @@ -40,14 +55,34 @@ .*.slots2[*].*, .*.slots2[*][*].*, .*.props[*].*, .*.props[*][*].*, .*.flexbodies[*].*, -.*.flexbodies[*][*].* { +.*.flexbodies[*][*].*, +.*.driveModes.defaultSettings[*].*, +.*.driveModes.defaultSettings[*][*].*, +.*.driveModes.modes.*.settings[*].*, +.*.driveModes.modes.*.settings[*][*].*, +.*.mirrors[*].*, .*.mirrors[*][*].*, +.*.soundscape[*].*, +.*.soundscape[*][*].*, +.*.camerasInternal[*].*, +.*.camerasInternal[*][*].*, +.*.slidenodes[*].*, +.*.torsionbars[*].*, +.*.pressureWheels[*].*, +.*.powertrain[*].* { PreserveNumberFormat : true; ComplexNewLine : None; } .*.mainEngine, .*.sounds, .*.soundConfig, .*.soundConfigExhaust, -.*.information { +.*.information, .*.gearbox, +.*.clutch, .*.turbocharger, +.*.vehicleController, .*.radiator, +.*.waterDamage, .*.engineBlock, +.*.gauges, .*.gauges.configuration, +.*.gauges.displayData, +.*.differential_R, .*.differential_F, +.*.differential_C { ComplexNewLine: Force; AlignObjectKeys: true; PreserveNumberFormat: true; From 7c0b25a9097f0906b97389cd1b81d15fe84cf40b Mon Sep 17 00:00:00 2001 From: webdevred <148627186+webdevred@users.noreply.github.com> Date: Tue, 25 Aug 2026 23:12:36 +0200 Subject: [PATCH 2/2] Restrict the container rules with > instead of undoing them Seven config containers were written twice, once with ComplexNewLine: Force and again as .X.* with None, purely to stop the first rule reaching their children. The > operator says that directly, so the undo rules are gone. PreserveNumberFormat stays in a plain rule because it has to keep reaching down into those children. Measured over the 186 stock files that carry these sections: 184 format identically and two improve. Both are gearbox objects holding an array with line comments in it, where forcing the array inline used to rewrite the comments into block comments and leave the row looking broken. --- examples/ast/jbfl/complex.hs | 77 ++++++++++-------------------------- examples/ast/jbfl/minimal.hs | 77 ++++++++++-------------------------- examples/jbfl/complex.jbfl | 34 +++++++++++----- examples/jbfl/minimal.jbfl | 34 +++++++++++----- 4 files changed, 90 insertions(+), 132 deletions(-) diff --git a/examples/ast/jbfl/complex.hs b/examples/ast/jbfl/complex.hs index e73ce2f2..03a6c4e6 100644 --- a/examples/ast/jbfl/complex.hs +++ b/examples/ast/jbfl/complex.hs @@ -44,16 +44,11 @@ RuleSet ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), ( ObjectKey "clutch", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "components", RuleSet { rsBySelectors = fromList @@ -143,16 +138,11 @@ RuleSet ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), ( ObjectKey "engineBlock", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "flexbodies", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just @@ -196,16 +186,11 @@ RuleSet ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "gearbox", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "glowMap", RuleSet { rsBySelectors = fromList @@ -416,16 +401,11 @@ RuleSet [ ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "radiator", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "rails", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just @@ -554,16 +534,11 @@ RuleSet [ ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "turbocharger", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "variables", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just @@ -573,28 +548,18 @@ RuleSet ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), ( ObjectKey "vehicleController", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "waterDamage", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [ ( SomeKey Indent, SomeProperty Indent 2 ), diff --git a/examples/ast/jbfl/minimal.hs b/examples/ast/jbfl/minimal.hs index 2cd602a0..39e269dd 100644 --- a/examples/ast/jbfl/minimal.hs +++ b/examples/ast/jbfl/minimal.hs @@ -44,16 +44,11 @@ RuleSet ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), ( ObjectKey "clutch", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "components", RuleSet { rsBySelectors = fromList @@ -143,16 +138,11 @@ RuleSet ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), ( ObjectKey "engineBlock", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "flexbodies", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just @@ -196,16 +186,11 @@ RuleSet ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "gearbox", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "glowMap", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just @@ -361,16 +346,11 @@ RuleSet [ ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "radiator", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "rails", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just @@ -499,16 +479,11 @@ RuleSet [ ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), ( ObjectKey "turbocharger", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "variables", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just @@ -518,26 +493,16 @@ RuleSet ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [], rsBelow = fromList [] } ), ( ObjectKey "vehicleController", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "waterDamage", RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just - ( RuleSet - { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList - [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine None ), - ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsAnyArrayIndex = Nothing, rsHere = fromList + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [ - ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ) ], rsBelow = fromList + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList [ - ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ), ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ) ], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } ), rsAnyArrayIndex = Nothing, rsHere = fromList [], rsBelow = fromList [] } diff --git a/examples/jbfl/complex.jbfl b/examples/jbfl/complex.jbfl index de2674a5..2cc3f970 100644 --- a/examples/jbfl/complex.jbfl +++ b/examples/jbfl/complex.jbfl @@ -32,11 +32,6 @@ .*.mainEngine.torqueModMult[*], .*.mainEngine.torqueCompressionBrake[*], .*.powertrain[*], .*.flexbodies[*], -.*.gearbox.*, .*.clutch.*, -.*.turbocharger.*, -.*.vehicleController.*, -.*.radiator.*, .*.waterDamage.*, -.*.engineBlock.*, .*.pressureWheels[*], .*.slidenodes[*], .*.torsionbars[*], .*.mainEngine.deformGroups*, @@ -76,6 +71,28 @@ ComplexNewLine : None; } +/* These containers render multi-line with aligned keys, but the arrays and + objects inside them stay on one line. ComplexNewLine reaches below the node + its rule names, so without > each of the seven needed a second rule setting + None on its children purely to undo the first. PreserveNumberFormat has to + keep reaching down, which is why it cannot join the > block. */ +.* > .gearbox, .* > .clutch, +.* > .turbocharger, +.* > .vehicleController, +.* > .radiator, .* > .waterDamage, +.* > .engineBlock { + ComplexNewLine: Force; + AlignObjectKeys: true; +} + +.*.gearbox, .*.clutch, +.*.turbocharger, +.*.vehicleController, +.*.radiator, .*.waterDamage, +.*.engineBlock { + PreserveNumberFormat: true; +} + .*.glowMap { AlignObjectKeys: true; AutoPadSubObjects: true; @@ -83,11 +100,8 @@ .*.mainEngine, .*.sounds, .*.soundConfig, .*.soundConfigExhaust, -.*.information, .*.gearbox, -.*.clutch, .*.turbocharger, -.*.vehicleController, .*.radiator, -.*.waterDamage, .*.engineBlock, -.*.gauges, .*.gauges.configuration, +.*.information, .*.gauges, +.*.gauges.configuration, .*.gauges.displayData, .*.differential_R, .*.differential_F, .*.differential_C, diff --git a/examples/jbfl/minimal.jbfl b/examples/jbfl/minimal.jbfl index 48ff1e97..b4978f8c 100644 --- a/examples/jbfl/minimal.jbfl +++ b/examples/jbfl/minimal.jbfl @@ -29,11 +29,6 @@ .*.mainEngine.torqueModMult[*], .*.mainEngine.torqueCompressionBrake[*], .*.powertrain[*], .*.flexbodies[*], -.*.gearbox.*, .*.clutch.*, -.*.turbocharger.*, -.*.vehicleController.*, -.*.radiator.*, .*.waterDamage.*, -.*.engineBlock.*, .*.pressureWheels[*], .*.slidenodes[*], .*.torsionbars[*], .*.mainEngine.deformGroups*, @@ -75,11 +70,8 @@ .*.mainEngine, .*.sounds, .*.soundConfig, .*.soundConfigExhaust, -.*.information, .*.gearbox, -.*.clutch, .*.turbocharger, -.*.vehicleController, .*.radiator, -.*.waterDamage, .*.engineBlock, -.*.gauges, .*.gauges.configuration, +.*.information, .*.gauges, +.*.gauges.configuration, .*.gauges.displayData, .*.differential_R, .*.differential_F, .*.differential_C { @@ -88,6 +80,28 @@ PreserveNumberFormat: true; } +/* These containers render multi-line with aligned keys, but the arrays and + objects inside them stay on one line. ComplexNewLine reaches below the node + its rule names, so without > each of the seven needed a second rule setting + None on its children purely to undo the first. PreserveNumberFormat has to + keep reaching down, which is why it cannot join the > block. */ +.* > .gearbox, .* > .clutch, +.* > .turbocharger, +.* > .vehicleController, +.* > .radiator, .* > .waterDamage, +.* > .engineBlock { + ComplexNewLine: Force; + AlignObjectKeys: true; +} + +.*.gearbox, .*.clutch, +.*.turbocharger, +.*.vehicleController, +.*.radiator, .*.waterDamage, +.*.engineBlock { + PreserveNumberFormat: true; +} + .*.glowMap { AlignObjectKeys: true; AutoPadSubObjects: true;