-
Notifications
You must be signed in to change notification settings - Fork 2.6k
feat: vcs, color, and message format native completion #15322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: vcs, color, and message format native completion #15322
Conversation
d929d47
to
1407700
Compare
5d30926
to
8c74e6e
Compare
Please keep commits atomic which includes test passing in each commit |
8c74e6e
to
16c4741
Compare
16c4741
to
3ea0e6b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is unfortunate that --message-format
in cargo build has too many possible values and couldn't fit in one line.
Anyway this PR on its own is good to merge. Thank you!
We could do a check-up for other places that might leverage possible values and delimiters API from clap |
Update cargo 14 commits in 6cf8267012570f63d6b86e85a2ae5627de52df9e..307cbfda3119f06600e43cd38283f4a746fe1f8b 2025-03-14 15:25:36 +0000 to 2025-03-20 20:00:39 +0000 - feat: Add custom completer for cargo <TAB> to complete aliases defined in config.toml (rust-lang/cargo#15319) - fix(build-dir): Renamed workspace-manifest-path-hash to workspace-path-hash (rust-lang/cargo#15334) - feat: vcs, color, and message format native completion (rust-lang/cargo#15322) - Fix `[env]` `relative` description in reference (rust-lang/cargo#15332) - chore: fix some typos (rust-lang/cargo#15329) - Cleanup for rustc-link-arg-cdylib (rust-lang/cargo#15326) - fix(toml): Report '<target>.edition' deprecation to users (rust-lang/cargo#15321) - test(build-std): address overly-matched snapshot (rust-lang/cargo#15325) - Added `build.build_dir` templating support (rust-lang/cargo#15236) - docs: make it clearer that `rust_version` is enforced during compile (rust-lang/cargo#15303) - feat: Add custom completer for cargo +<TAB> to complete toolchain name (rust-lang/cargo#15301) - chore: fix some typos (rust-lang/cargo#15316) - fix: deduplicate crate types in cargo rustc command (rust-lang/cargo#15314) - docs: mention wrong URLs as a cause of git authentication errors (rust-lang/cargo#15304) r? ghost
What does this PR try to resolve?
Related to #14520
This PR introduces auto-completion for following options:
--color
option with values: auto, always, never--vcs
option with values: git, hg, pijul, fossil, none--message-format
option with values: human, short, json, json-diagnostic-short, json-diagnostic-renderedTake
--color
as an example, when a user typescargo build --color <TAB>
the system will automatically suggest auto, always, neverHow should we test and review this PR?
To verify this feature, follow these steps:
cargo build --color <TAB>
orcargo new my_project --vcs <TAB>
orcargo check --message-format <TAB>
2025-03-18.4.29.14.mov