feat: add SubcommandDeclarationBuilder interface #315
+20
−0
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.
This pull request introduces support for registering sub-commands in the command declaration builder, improving the structure and extensibility of command definitions. It adds a new
SubCommandDeclarationinterface and integrates it into the command builder workflow, allowing for more modular and type-safe sub-command registration.Sub-command support and integration:
SubCommandDeclarationinterface insub_command_declaration.dart, requiring implementers to provide abuildmethod that returns aSubCommandBuilder. This also enforces that sub-commands areListenable.CommandDeclarationBuilderto include aregisterSubCommandmethod, which registers sub-commands by accepting a factory function that must return aSubCommandDeclarationinstance. This method validates the type and adds the built sub-command to the builder.sub_command_declaration.dartin bothcommand_declaration_builder.dartand the public API fileapi.dartto make the interface available for use and export. [1] [2]