Conversation
There was a problem hiding this comment.
Pull request overview
Adds Cobra-style auto-dispatch to ArgMojo commands (register per-command handlers and run via execute()), expands the mgit example to use the new dispatch model (including nested subcommands), and wires in tests + tooling updates to exercise the feature.
Changes:
- Introduce
Command.set_run_function(handler)andCommand.execute()with recursive subcommand dispatch (plus_execute_with_arguments()test helper). - Add a dedicated test suite validating dispatch behavior across root/subcommands/nested commands, aliases, persistent flags, and error cases.
- Extend documentation and examples (
mgit) to demonstrate and describe auto-dispatch; adjust Pixi tasks to include the new tests and use a new example build script.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
src/argmojo/command.mojo |
Implements auto-dispatch via stored handler and recursive _dispatch() invoked from execute() / _execute_with_arguments(). |
tests/test_dispatch.mojo |
New tests covering dispatch routing, nesting, handler replacement, aliases, persistent flags, and missing-handler errors. |
README.md |
Adds auto-dispatch to the feature list. |
pixi.toml |
Runs the new dispatch tests; replaces the inline build task with examples/build.sh. |
examples/mgit.mojo |
Refactors/extends mgit to register handlers and use execute(); adds nested subcommands (stash/config/remote). |
examples/build.sh |
New script to build (and run --help) examples with basic timing output. |
docs/user_manual.md |
Documents auto-dispatch usage and updates the cross-library method reference tables. |
docs/changelog.md |
Notes auto-dispatch in the unreleased section. |
docs/argmojo_overall_planning.md |
Marks auto-dispatch as done and updates planning/status text accordingly. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 PR adds Cobra-style auto-dispatch to ArgMojo commands (register per-command handlers and run via
execute()), expands themgitexample to use the new dispatch model (including nested subcommands), and wires in tests + tooling updates to exercise the feature.Changes:
Command.set_run_function(handler)andCommand.execute()with recursive subcommand dispatch (plus_execute_with_arguments()test helper).mgit) to demonstrate and describe auto-dispatch; adjust Pixi tasks to include the new tests and use a new example build script.