// Copyright (c) The Geekeey Authors // SPDX-License-Identifier: EUPL-1.2 using Spectre.Console.Cli; internal sealed class ExitCommand : AsyncCommand { public sealed class Settings : CommandSettings { [CommandArgument(1, "")] public int Code { get; init; } } public override async Task ExecuteAsync(CommandContext context, Settings settings, CancellationToken cancellationToken) { using var output = Output.Connect(); await output.Stderr.WriteLineAsync($"Exit code set to {settings.Code}"); return settings.Code; } }