2024-06-13 17:30:27 -05:00
|
|
|
using Spectre.Console.Cli;
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
|
|
|
|
|
namespace UIXC;
|
|
|
|
|
|
|
|
|
|
public abstract class CommonSettings : CommandSettings
|
|
|
|
|
{
|
|
|
|
|
[CommandOption("--verbose")]
|
|
|
|
|
[DefaultValue(false)]
|
|
|
|
|
public bool Verbose { get; init; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public abstract class CompilerSettings : CommonSettings
|
|
|
|
|
{
|
|
|
|
|
[Description("The directory to output to.")]
|
|
|
|
|
[CommandOption("-o|--output <outputDir>")]
|
2024-07-07 15:36:59 -05:00
|
|
|
public required string OutputDir { get; init; } = Environment.CurrentDirectory;
|
2024-06-13 17:30:27 -05:00
|
|
|
|
|
|
|
|
[Description("The shared binary data table to use.")]
|
|
|
|
|
[CommandOption("-t|--dataTable")]
|
|
|
|
|
public string? DataTable { get; init; }
|
|
|
|
|
|
|
|
|
|
[Description("Directories to search for imported files in.")]
|
|
|
|
|
[CommandOption("-I <VALUES>")]
|
2024-07-07 15:36:59 -05:00
|
|
|
public required string[] IncludeDirectories { get; init; } = [];
|
2024-06-13 17:30:27 -05:00
|
|
|
|
|
|
|
|
[Description("External assemblies to load.")]
|
|
|
|
|
[CommandOption("-A <VALUES>")]
|
2024-07-07 15:36:59 -05:00
|
|
|
public required string[] Assemblies { get; init; } = [];
|
2024-06-13 17:30:27 -05:00
|
|
|
|
|
|
|
|
[Description("Redirects imports.")]
|
|
|
|
|
[CommandOption("--ir <VALUES>")]
|
2024-07-07 15:36:59 -05:00
|
|
|
public required string[] ImportRedirects { get; init; } = [];
|
2024-06-13 17:30:27 -05:00
|
|
|
}
|