Skip to content

Commit

Permalink
Update Corvus.Json
Browse files Browse the repository at this point in the history
  • Loading branch information
dalyIsaac committed Feb 9, 2025
1 parent 233800b commit 42a6fe0
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 31 deletions.
4 changes: 2 additions & 2 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Corvus.Json.ExtendedTypes" Version="4.0.9" />
<PackageVersion Include="Corvus.Json.SourceGenerator" Version="4.0.9" />
<PackageVersion Include="Corvus.Json.ExtendedTypes" Version="4.2.4" />
<PackageVersion Include="Corvus.Json.SourceGenerator" Version="4.2.4" />
<PackageVersion Include="DotNext" Version="5.18.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Scripting" Version="4.12.0" />
<PackageVersion Include="Microsoft.Win32.SystemEvents" Version="9.0.1" />
Expand Down
4 changes: 4 additions & 0 deletions src/Whim.Yaml/Whim.Yaml.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,10 @@
<PackageReference Include="YamlDotNet" />
</ItemGroup>

<PropertyGroup>
<CorvusJsonSchemaOptionalAsNullable>NullOrUndefined </CorvusJsonSchemaOptionalAsNullable>
</PropertyGroup>

<ItemGroup>
<AdditionalFiles Include="schema.json" />
</ItemGroup>
Expand Down
28 changes: 14 additions & 14 deletions src/Whim.Yaml/YamlBarPluginLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public static void LoadBarPlugin(IContext ctx, Schema.PluginsEntity plugins)
ctx.PluginManager.AddPlugin(new BarPlugin(ctx, config));
}

private static List<BarComponent> GetBarComponents(IContext ctx, Schema.SchemaRequiredEntries? componentsWrapper)
private static List<BarComponent> GetBarComponents(IContext ctx, Schema.BarWidgetListEntity? componentsWrapper)
{
if (componentsWrapper is not { } components)
{
Expand All @@ -64,37 +64,37 @@ private static List<BarComponent> GetBarComponents(IContext ctx, Schema.SchemaRe
foreach (var entry in components.Entries)
{
entry.Match<object?>(
(in Schema.SchemaRequiredType4 widget) =>
(in Schema.ActiveLayoutWidgetEntity widget) =>
{
barComponents.Add(CreateActiveLayoutBarWidget(ctx, widget));
return null;
},
(in Schema.SchemaRequiredType5 widget) =>
(in Schema.BatteryWidgetEntity widget) =>
{
barComponents.Add(CreateBatteryBarWidget(ctx, widget));
return null;
},
(in Schema.SchemaRequiredType6 widget) =>
(in Schema.DateTimeWidgetEntity widget) =>
{
barComponents.Add(CreateDateTimeBarWidget(ctx, widget));
return null;
},
(in Schema.SchemaRequiredType7 widget) =>
(in Schema.FocusedWindowWidgetEntity widget) =>
{
barComponents.Add(CreateFocusedWindowBarWidget(ctx, widget));
return null;
},
(in Schema.SchemaRequiredType9 widget) =>
(in Schema.WorkspaceWidgetEntity widget) =>
{
barComponents.Add(CreateWorkspaceBarWidget(ctx, widget));
return null;
},
(in Schema.SchemaRequiredType8 widget) =>
(in Schema.TreeLayoutEngineWidgetEntity widget) =>
{
barComponents.Add(CreateTreeLayoutEngineBarWidget(ctx, widget));
return null;
},
(in Schema.SchemaRequiredType3 _) =>
(in Schema.WidgetEntity _) =>
{
return null;
}
Expand All @@ -104,25 +104,25 @@ private static List<BarComponent> GetBarComponents(IContext ctx, Schema.SchemaRe
return barComponents;
}

private static BarComponent CreateActiveLayoutBarWidget(IContext ctx, Schema.SchemaRequiredType4 widget)
private static BarComponent CreateActiveLayoutBarWidget(IContext ctx, Schema.ActiveLayoutWidgetEntity widget)
{
return ActiveLayoutWidget.CreateComponent();
}

private static BarComponent CreateBatteryBarWidget(IContext ctx, Schema.SchemaRequiredType5 widget)
private static BarComponent CreateBatteryBarWidget(IContext ctx, Schema.BatteryWidgetEntity widget)
{
return BatteryWidget.CreateComponent();
}

private static BarComponent CreateDateTimeBarWidget(IContext ctx, Schema.SchemaRequiredType6 widget)
private static BarComponent CreateDateTimeBarWidget(IContext ctx, Schema.DateTimeWidgetEntity widget)
{
int interval = widget.Interval is { } i ? (int)i : 1000;
string format = widget.Format is { } f ? (string)f : "yyyy-MM-dd HH:mm:ss";

return DateTimeWidget.CreateComponent(interval, format);
}

private static BarComponent CreateFocusedWindowBarWidget(IContext ctx, Schema.SchemaRequiredType7 widget)
private static BarComponent CreateFocusedWindowBarWidget(IContext ctx, Schema.FocusedWindowWidgetEntity widget)
{
bool shortenTitle = widget.ShortenTitle is { } st && st;
Func<IWindow, string> getTitle = shortenTitle
Expand All @@ -132,12 +132,12 @@ private static BarComponent CreateFocusedWindowBarWidget(IContext ctx, Schema.Sc
return FocusedWindowWidget.CreateComponent(getTitle);
}

private static BarComponent CreateWorkspaceBarWidget(IContext ctx, Schema.SchemaRequiredType9 widget)
private static BarComponent CreateWorkspaceBarWidget(IContext ctx, Schema.WorkspaceWidgetEntity widget)
{
return WorkspaceWidget.CreateComponent();
}

private static BarComponent CreateTreeLayoutEngineBarWidget(IContext ctx, Schema.SchemaRequiredType8 widget)
private static BarComponent CreateTreeLayoutEngineBarWidget(IContext ctx, Schema.TreeLayoutEngineWidgetEntity widget)
{
if (
ctx.PluginManager.LoadedPlugins.FirstOrDefault(p => p.Name == "whim.tree_layout")
Expand Down
30 changes: 15 additions & 15 deletions src/Whim.Yaml/YamlLayoutEngineLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,35 +24,35 @@ public static void UpdateLayoutEngines(IContext ctx, Schema schema)

public static CreateLeafLayoutEngine[]? GetCreateLeafLayoutEngines(
IContext ctx,
Schema.RequiredEntries.RequiredTypeArray layoutEngines
Schema.LayoutEngineListEntity.EntriesArray layoutEngines
)
{
List<CreateLeafLayoutEngine> leafLayoutEngineCreators = [];

foreach (var engine in layoutEngines)
{
engine.Match<object?>(
(in Schema.SchemaRequiredType floatingWindow) =>
(in Schema.FloatingWindowEngineEntity floatingWindow) =>
{
CreateFloatingLayoutEngineCreator(ctx, leafLayoutEngineCreators);
return null;
},
(in Schema.SchemaRequiredType1 focusLayoutEngine) =>
(in Schema.FocusLayoutEngineEntity focusLayoutEngine) =>
{
CreateFocusLayoutEngineCreator(ctx, leafLayoutEngineCreators, focusLayoutEngine);
return null;
},
(in Schema.RequiredTypeAndVariant sliceLayoutEngine) =>
(in Schema.SliceLayoutEngineEntity sliceLayoutEngine) =>
{
CreateSliceLayoutEngineCreator(ctx, leafLayoutEngineCreators, sliceLayoutEngine);
return null;
},
(in Schema.SchemaRequiredType2 treeLayoutEngine) =>
(in Schema.TreeLayoutEngineEntity treeLayoutEngine) =>
{
CreateTreeLayoutEngineCreator(ctx, leafLayoutEngineCreators, treeLayoutEngine);
return null;
},
(in Schema.RequiredType fallback) => null
(in Schema.LayoutEngineEntity fallback) => null
);
}

Expand All @@ -71,7 +71,7 @@ List<CreateLeafLayoutEngine> leafLayoutEngineCreators
private static void CreateFocusLayoutEngineCreator(
IContext ctx,
List<CreateLeafLayoutEngine> leafLayoutEngineCreators,
Schema.SchemaRequiredType1 focusLayoutEngine
Schema.FocusLayoutEngineEntity focusLayoutEngine
)
{
bool maximize = focusLayoutEngine.Maximize is { } m && m;
Expand All @@ -81,7 +81,7 @@ Schema.SchemaRequiredType1 focusLayoutEngine
private static void CreateSliceLayoutEngineCreator(
IContext ctx,
List<CreateLeafLayoutEngine> leafLayoutEngineCreators,
Schema.RequiredTypeAndVariant sliceLayoutEngine
Schema.SliceLayoutEngineEntity sliceLayoutEngine
)
{
if (
Expand All @@ -94,22 +94,22 @@ is not SliceLayoutPlugin plugin
}

sliceLayoutEngine.Variant.Match<object?>(
(in Schema.RequiredTypeAndVariant.VariantEntity.RequiredType _) =>
(in Schema.SliceLayoutEngineEntity.VariantEntity.AnyOf0Entity _) =>
{
leafLayoutEngineCreators.Add((id) => SliceLayouts.CreateColumnLayout(ctx, plugin, id));
return null;
},
(in Schema.RequiredTypeAndVariant.VariantEntity.VariantEntityRequiredType _) =>
(in Schema.SliceLayoutEngineEntity.VariantEntity.AnyOf1Entity _) =>
{
leafLayoutEngineCreators.Add((id) => SliceLayouts.CreateRowLayout(ctx, plugin, id));
return null;
},
(in Schema.RequiredTypeAndVariant.VariantEntity.VariantEntityRequiredType1 _) =>
(in Schema.SliceLayoutEngineEntity.VariantEntity.AnyOf2Entity _) =>
{
leafLayoutEngineCreators.Add((id) => SliceLayouts.CreatePrimaryStackLayout(ctx, plugin, id));
return null;
},
(in Schema.RequiredTypeAndVariant.VariantEntity.RequiredColumnsAndType multiColumnLayout) =>
(in Schema.SliceLayoutEngineEntity.VariantEntity.AnyOf3Entity multiColumnLayout) =>
{
var columns = multiColumnLayout.Columns;
uint[] unsignedColumns = columns.Select(c => (uint)c).ToArray();
Expand All @@ -118,7 +118,7 @@ is not SliceLayoutPlugin plugin
);
return null;
},
(in Schema.RequiredTypeAndVariant.VariantEntity.VariantEntityRequiredType2 secondaryPrimaryStack) =>
(in Schema.SliceLayoutEngineEntity.VariantEntity.AnyOf4Entity secondaryPrimaryStack) =>
{
uint primaryCapacity = secondaryPrimaryStack.PrimaryCapacity is { } pc ? (uint)pc : 1;
uint secondaryCapacity = secondaryPrimaryStack.SecondaryCapacity is { } sc ? (uint)sc : 2;
Expand All @@ -129,14 +129,14 @@ is not SliceLayoutPlugin plugin
);
return null;
},
(in Schema.RequiredTypeAndVariant.VariantEntity _) => null
(in Schema.SliceLayoutEngineEntity.VariantEntity _) => null
);
}

private static void CreateTreeLayoutEngineCreator(
IContext ctx,
List<CreateLeafLayoutEngine> leafLayoutEngineCreators,
Schema.SchemaRequiredType2 treeLayoutEngine
Schema.TreeLayoutEngineEntity treeLayoutEngine
)
{
if (
Expand Down

0 comments on commit 42a6fe0

Please sign in to comment.