diff --git a/examples/ast/jbfl/complex.hs b/examples/ast/jbfl/complex.hs index 459b9b9a..03a6c4e6 100644 --- a/examples/ast/jbfl/complex.hs +++ b/examples/ast/jbfl/complex.hs @@ -24,6 +24,32 @@ 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 = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "components", RuleSet { rsBySelectors = fromList [ @@ -44,6 +70,80 @@ 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 = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "flexbodies", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -63,6 +163,35 @@ 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 = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "glowMap", RuleSet { rsBySelectors = fromList [ @@ -152,6 +281,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 +301,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 +358,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 +397,16 @@ 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 = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "rails", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just ( RuleSet @@ -227,6 +414,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 +446,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 +467,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 +491,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 +533,34 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [ ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), + ( ObjectKey "turbocharger", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( 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 = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "waterDamage", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( 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..39e269dd 100644 --- a/examples/ast/jbfl/minimal.hs +++ b/examples/ast/jbfl/minimal.hs @@ -24,6 +24,32 @@ 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 = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "components", RuleSet { rsBySelectors = fromList [ @@ -44,6 +70,80 @@ 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 = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "flexbodies", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Just ( RuleSet @@ -63,6 +163,35 @@ 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 = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "glowMap", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just ( RuleSet @@ -97,6 +226,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 +246,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 +303,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 +342,16 @@ 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 = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), ( ObjectKey "rails", RuleSet { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Just ( RuleSet @@ -172,6 +359,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 +391,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 +412,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 +436,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 +478,31 @@ RuleSet ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), rsHere = fromList [ ( SomeKey AutoPad, SomeProperty AutoPad True ) ], rsBelow = fromList [] } ), + ( ObjectKey "turbocharger", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( 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 = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( SomeKey PreserveNumberFormat, SomeProperty PreserveNumberFormat True ) ] } ), + ( ObjectKey "waterDamage", RuleSet + { rsBySelectors = fromList [], rsPrefixes = [], rsAnyObjectKey = Nothing, rsAnyArrayIndex = Nothing, rsHere = fromList + [ + ( SomeKey AlignObjectKeys, SomeProperty AlignObjectKeys True ), + ( SomeKey ComplexNewLine, SomeProperty ComplexNewLine Force ) ], rsBelow = fromList + [ + ( 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..2cc3f970 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,15 @@ .*.mainEngine.burnEfficiency[*], .*.mainEngine.torqueModIntake[*], .*.mainEngine.torqueModMult[*], -.*.powertrain[*], .*.flexbodies[*] { +.*.mainEngine.torqueCompressionBrake[*], +.*.powertrain[*], .*.flexbodies[*], +.*.pressureWheels[*], +.*.slidenodes[*], .*.torsionbars[*], +.*.mainEngine.deformGroups*, +.*.driveModes.defaultSettings[*], +.*.driveModes.modes.*.settings[*], +.*.mirrors[*], .*.soundscape[*], +.*.camerasInternal[*] { PreserveNumberFormat : true; ComplexNewLine : None; } @@ -43,11 +53,46 @@ .*.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; } +/* 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; @@ -55,7 +100,11 @@ .*.mainEngine, .*.sounds, .*.soundConfig, .*.soundConfigExhaust, -.*.information, +.*.information, .*.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..b4978f8c 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,15 @@ .*.mainEngine.burnEfficiency[*], .*.mainEngine.torqueModIntake[*], .*.mainEngine.torqueModMult[*], -.*.powertrain[*], .*.flexbodies[*] { +.*.mainEngine.torqueCompressionBrake[*], +.*.powertrain[*], .*.flexbodies[*], +.*.pressureWheels[*], +.*.slidenodes[*], .*.torsionbars[*], +.*.mainEngine.deformGroups*, +.*.driveModes.defaultSettings[*], +.*.driveModes.modes.*.settings[*], +.*.mirrors[*], .*.soundscape[*], +.*.camerasInternal[*] { PreserveNumberFormat : true; ComplexNewLine : None; } @@ -40,19 +50,58 @@ .*.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, .*.gauges, +.*.gauges.configuration, +.*.gauges.displayData, +.*.differential_R, .*.differential_F, +.*.differential_C { ComplexNewLine: Force; AlignObjectKeys: true; 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;