Configurable command builder #925
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #924
As described in issue #924 use of host builders (see #919) is blocked because the Command is added to the CommandLineBuilder prior to configuration.
There are several ways to fix this. I chose this approach because:
Changing the behavior of RootCommand would be huge and breaking. Not passing anything to this gives you a pleasant default based on your executable and defaults. It's common to build on this.
I wanted to make it as hard as possible to set the command. In almost all cases, it should be set at builder instantiation as happens today.
I wanted the configurable builder pattern to be usable beyond the current host to other hosting scenarios (other host interfaces).
I am not happy with the name, but thought it was at least immensely clear.