Open
Description
Based on the feedback from @bartonjs :
- Rename
Argument
,Option
, andCommand
to disambiguate from other single-word types #1892 - Consider a more commonly-known word than "arity" #1893
- Rename
getDefaultValue
parameter todefaultValueFactory
#1894 - Does an argument with no name make sense? #1895
- Move extension methods into the extended type #1896
- Rename
ExistingOnly
#1897 - Rename parameters to align on the word "completion" #1898
- Rename
FromAmong
to include a verb #1899 - Rename
LegalFileNamesOnly
to include a verb #1900 - Move
Parse
extension methods to the appropriateSymbol
types #1901 - Rename
TreatUnmatchedTokensAsErrors
so that it'sfalse
by default and clearer in intent #1902 - Consider removing
Command.AddOption
,Command.AddCommand
, andCommand.AddArgument
because they're redundant withAdd
#1903 - Consider a better word than "global" since it actually indicates that the option is syntactically valid on the current command and its subcommands #1904
- Move
Invoke*
andParse
extension methods to their extendedSymbol
types #1905 - Align naming of
CommandLineConfiguration
to renamedSymbol
types, e.g.CliConfiguration
#1906 - Redesign
CommandLineConfiguration
to be mutable and favor properties over constructors #1907 - Consider renaming
ThrowIfInvalid
to clarify the intent #1908 - Remove
CommandLineConfigurationException
#1909 - Move
CompletionSourceList
extension methods toCompletionSourceList
#1910 - Consider removing
CompletionSourceList
#1911 - Consider removing
DirectiveCollection
#1912 - Move SetHandler to another package for backcompat #1913
- API summarizer for ApprovalTests does show
override
methods correctly. #1914 - Consider a new localization design #1915
- Consider renaming
Symbol
to be less likely to collide and to be consistent with the renaming of its derived types. #1916 - Consider renaming and/or moving types out of the
Binding
namespace. #1917 - Consider the binding space, including whether
BinderBase<T>
,IValueSource
, andIValueDescriptor
are needed in the public API for usage beyondSetHandler
#1918 - Consider whether service resolution needs to be in the public API #1919
- Move
CommandLineBuilder
into the application framework layer #1920 - Consider adding a general capability, independent of current invocation concepts, to align shutdown handling with standard cancellation APIs. (For example, should
CancellationToken
support be available inasync Main
?) #1921 - Move appropriate
CommandLineBuilder
methods to properties onCommandLineConfiguration
#1922 - Move
RegisterWithDotnetSuggest
to the application framework layer and consider making it internal, as it will ideally be replaced eventually by intrinsic SDK or runtime support #1923 - Consider whether
UseDefaults
is still needed #1924 - Consider moving
UseVersionOption
toCommandLineConfiguration
and renaming #1925 - Consider moving
UseTokenReplacer
toCommandLineConfiguration
and renaming #1926 - Replace
CompletionDelegate
withAction<CompletionContext>
#1927 - Consider whether
ICompletionSource
can be replaced with a delegate or class #1928 - Consider differentiating these two
*CompletionContext
scenarios using fewer public types #1929 - Move
HelpBuilder
into a separate package #1930 - Consider an alternative that doesn't have
HelpBuilder.Default
as a nested class #1931 - Remove
HelpSectionDelegate
and replace withAction<HelpContext>
#1932 - Consider an alternative to implementing structural equality for
TwoColumnHelpRow
#1933 - Consider a
CliAction
design that doesn't require custom implementations to override bothInvoke
andInvokeAsync
methods #1934 - Rename
ArgumentResult.OnlyTake
so that the intent is clearer #1935 - Consider using
Action<InvocationContext>
and removingIInvocationResult
#1936 - Consider renaming
CommandLineStringSplitter
#1937 - Document all the work done by
CommandLineStringSplitter
including its importance in testing #1938 - Replace
ParseArgument<T>
withFunc<ArgumentResult, T>
#1939 - Ensure directives are sufficiently documented #1940
- API summarizer for ApprovalTests shows
ref
forout
parameters. #1942 - API summarizer for ApprovalTests does not capture generic constraints #1943
- Replace
ValidateSymbolResult
delegate withAction<T>
#1944 - Consider a different return type for
Symbol.Aliases
#1945
Based on other feedback: