Open ghost opened 12 months ago
Out of interest @MichalStrehovsky, would you be interested in a good quality PR to include spectre.console? MSBuild have recently moved over to use it, see: https://github.com/dotnet/source-build-externals/pull/244
My interest here is as the CLI subsystem maintainer, where I've been authoring substantive improvements to the help text generator, amongst other things. I believe in the quality of the project - no commercial incentives. Also cool with me, if you are happy with status quo.
Out of interest @MichalStrehovsky, would you be interested in a good quality PR to include spectre.console? MSBuild have recently moved over to use it, see: https://github.com/dotnet/source-build-externals/pull/244
Do you know if spectre.console is trimming/AOT friendly? How reflection heavy it is? How much does it add to the size of a dotnet new console --aot
app? I'm not quite fond of the current command line parser (see #44) but I don't want to perturb things just for for the sake of it because with each rewrite there's bugs and I need to do manual retesting. (Which is also the reason I'm on an old System.CommandLine because they did a bunch of breaking changes and I know how many regressions we had from it in the dotnet/runtime repo after each update)
There are a few AOT issues logged, but I think these are for the ANSI console widgets, not the CLI which is now a separate standalone nuget and doesn't use reflection.
I think without a commitment for either of us to do anything, I'm still personally interested in exploring this a bit further. If I make progress, I'll be happy to submit a draft PR, even if it comes to nothing.
I do generally support cake.net in their spectre.console usage from time to time, so in a similar manner, any adoption of it should help you, not hinder. Let's see where this goes.
https://spectreconsole.net/ automatically generates command help for the allowable arguments/options/switches - perhaps migrating to that CLI would be a better solution than hardcoded documentation in the readme?