Skip to content

Commit

Permalink
Improve display order of top-level commands (#5830)
Browse files Browse the repository at this point in the history
Closes #5702

Since Clap 4, the default order follows the declarations.

Also improves some descriptions.
  • Loading branch information
zanieb committed Aug 6, 2024
1 parent d8d9b02 commit c0c26cc
Show file tree
Hide file tree
Showing 3 changed files with 967 additions and 967 deletions.
52 changes: 26 additions & 26 deletions crates/uv-cli/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -213,12 +213,9 @@ impl From<ColorChoice> for anstream::ColorChoice {
#[derive(Subcommand)]
#[allow(clippy::large_enum_variant)]
pub enum Commands {
/// Manage Python packages with a pip-compatible interface.
#[command(
after_help = "Use `uv help pip`` for more details.",
after_long_help = ""
)]
Pip(PipNamespace),
/// Manage Python projects.
#[command(flatten)]
Project(Box<ProjectCommand>),
/// Run and manage tools provided by Python packages (experimental).
#[command(
after_help = "Use `uv help tool` for more details.",
Expand All @@ -231,9 +228,12 @@ pub enum Commands {
after_long_help = ""
)]
Python(PythonNamespace),
/// Manage Python projects.
#[command(flatten)]
Project(Box<ProjectCommand>),
/// Manage Python packages with a pip-compatible interface.
#[command(
after_help = "Use `uv help pip`` for more details.",
after_long_help = ""
)]
Pip(PipNamespace),
/// Create a virtual environment.
#[command(
alias = "virtualenv",
Expand All @@ -242,7 +242,7 @@ pub enum Commands {
after_long_help = ""
)]
Venv(VenvArgs),
/// Manage the cache.
/// Manage uv's cache.
#[command(
after_help = "Use `uv help cache` for more details.",
after_long_help = ""
Expand Down Expand Up @@ -415,39 +415,39 @@ pub enum PipCommand {

#[derive(Subcommand)]
pub enum ProjectCommand {
/// Create a new project (experimental).
Init(InitArgs),
/// Run a command in an environment (experimental).
/// Run a command or script (experimental).
#[command(
after_help = "Use `uv help run` for more details.",
after_long_help = ""
)]
Run(RunArgs),
/// Update the project's environment to match the project's dependencies (experimental).
/// Create a new project (experimental).
Init(InitArgs),
/// Add dependencies to the project (experimental).
#[command(
after_help = "Use `uv help sync` for more details.",
after_help = "Use `uv help add` for more details.",
after_long_help = ""
)]
Sync(SyncArgs),
/// Create or update a lockfile for the project's dependencies (experimental).
Add(AddArgs),
/// Remove dependencies from the project (experimental).
#[command(
after_help = "Use `uv help lock` for more details.",
after_help = "Use `uv help remove` for more details.",
after_long_help = ""
)]
Lock(LockArgs),
/// Add one or more packages to the project's dependencies (experimental).
Remove(RemoveArgs),
/// Update the project's environment (experimental).
#[command(
after_help = "Use `uv help add` for more details.",
after_help = "Use `uv help sync` for more details.",
after_long_help = ""
)]
Add(AddArgs),
/// Remove one or more packages from the project's dependencies (experimental).
Sync(SyncArgs),
/// Update the project's lockfile (experimental).
#[command(
after_help = "Use `uv help remove` for more details.",
after_help = "Use `uv help lock` for more details.",
after_long_help = ""
)]
Remove(RemoveArgs),
/// Display the dependency tree for the project (experimental).
Lock(LockArgs),
/// Display the project's dependency tree (experimental).
Tree(TreeArgs),
}

Expand Down
114 changes: 57 additions & 57 deletions crates/uv/tests/help.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@ fn help() {
Usage: uv [OPTIONS] <COMMAND>
Commands:
pip Manage Python packages with a pip-compatible interface
run Run a command or script (experimental)
init Create a new project (experimental)
add Add dependencies to the project (experimental)
remove Remove dependencies from the project (experimental)
sync Update the project's environment (experimental)
lock Update the project's lockfile (experimental)
tree Display the project's dependency tree (experimental)
tool Run and manage tools provided by Python packages (experimental)
python Manage Python versions and installations (experimental)
init Create a new project (experimental)
run Run a command in an environment (experimental)
sync Update the project's environment to match the project's dependencies (experimental)
lock Create or update a lockfile for the project's dependencies (experimental)
add Add one or more packages to the project's dependencies (experimental)
remove Remove one or more packages from the project's dependencies (experimental)
tree Display the dependency tree for the project (experimental)
pip Manage Python packages with a pip-compatible interface
venv Create a virtual environment
cache Manage the cache
cache Manage uv's cache
version Display uv's version
help Display documentation for a command
Expand Down Expand Up @@ -82,18 +82,18 @@ fn help_flag() {
Usage: uv [OPTIONS] <COMMAND>
Commands:
pip Manage Python packages with a pip-compatible interface
run Run a command or script (experimental)
init Create a new project (experimental)
add Add dependencies to the project (experimental)
remove Remove dependencies from the project (experimental)
sync Update the project's environment (experimental)
lock Update the project's lockfile (experimental)
tree Display the project's dependency tree (experimental)
tool Run and manage tools provided by Python packages (experimental)
python Manage Python versions and installations (experimental)
init Create a new project (experimental)
run Run a command in an environment (experimental)
sync Update the project's environment to match the project's dependencies (experimental)
lock Create or update a lockfile for the project's dependencies (experimental)
add Add one or more packages to the project's dependencies (experimental)
remove Remove one or more packages from the project's dependencies (experimental)
tree Display the dependency tree for the project (experimental)
pip Manage Python packages with a pip-compatible interface
venv Create a virtual environment
cache Manage the cache
cache Manage uv's cache
version Display uv's version
help Display documentation for a command
Expand Down Expand Up @@ -147,18 +147,18 @@ fn help_short_flag() {
Usage: uv [OPTIONS] <COMMAND>
Commands:
pip Manage Python packages with a pip-compatible interface
run Run a command or script (experimental)
init Create a new project (experimental)
add Add dependencies to the project (experimental)
remove Remove dependencies from the project (experimental)
sync Update the project's environment (experimental)
lock Update the project's lockfile (experimental)
tree Display the project's dependency tree (experimental)
tool Run and manage tools provided by Python packages (experimental)
python Manage Python versions and installations (experimental)
init Create a new project (experimental)
run Run a command in an environment (experimental)
sync Update the project's environment to match the project's dependencies (experimental)
lock Create or update a lockfile for the project's dependencies (experimental)
add Add one or more packages to the project's dependencies (experimental)
remove Remove one or more packages from the project's dependencies (experimental)
tree Display the dependency tree for the project (experimental)
pip Manage Python packages with a pip-compatible interface
venv Create a virtual environment
cache Manage the cache
cache Manage uv's cache
version Display uv's version
help Display documentation for a command
Expand Down Expand Up @@ -565,16 +565,16 @@ fn help_unknown_subcommand() {
----- stderr -----
error: There is no command `foobar` for `uv`. Did you mean one of:
pip
tool
python
init
run
sync
lock
init
add
remove
sync
lock
tree
tool
python
pip
venv
cache
version
Expand All @@ -587,16 +587,16 @@ fn help_unknown_subcommand() {
----- stderr -----
error: There is no command `foo bar` for `uv`. Did you mean one of:
pip
tool
python
init
run
sync
lock
init
add
remove
sync
lock
tree
tool
python
pip
venv
cache
version
Expand Down Expand Up @@ -636,18 +636,18 @@ fn help_with_global_option() {
Usage: uv [OPTIONS] <COMMAND>
Commands:
pip Manage Python packages with a pip-compatible interface
run Run a command or script (experimental)
init Create a new project (experimental)
add Add dependencies to the project (experimental)
remove Remove dependencies from the project (experimental)
sync Update the project's environment (experimental)
lock Update the project's lockfile (experimental)
tree Display the project's dependency tree (experimental)
tool Run and manage tools provided by Python packages (experimental)
python Manage Python versions and installations (experimental)
init Create a new project (experimental)
run Run a command in an environment (experimental)
sync Update the project's environment to match the project's dependencies (experimental)
lock Create or update a lockfile for the project's dependencies (experimental)
add Add one or more packages to the project's dependencies (experimental)
remove Remove one or more packages from the project's dependencies (experimental)
tree Display the dependency tree for the project (experimental)
pip Manage Python packages with a pip-compatible interface
venv Create a virtual environment
cache Manage the cache
cache Manage uv's cache
version Display uv's version
help Display documentation for a command
Expand Down Expand Up @@ -738,18 +738,18 @@ fn help_with_no_pager() {
Usage: uv [OPTIONS] <COMMAND>
Commands:
pip Manage Python packages with a pip-compatible interface
run Run a command or script (experimental)
init Create a new project (experimental)
add Add dependencies to the project (experimental)
remove Remove dependencies from the project (experimental)
sync Update the project's environment (experimental)
lock Update the project's lockfile (experimental)
tree Display the project's dependency tree (experimental)
tool Run and manage tools provided by Python packages (experimental)
python Manage Python versions and installations (experimental)
init Create a new project (experimental)
run Run a command in an environment (experimental)
sync Update the project's environment to match the project's dependencies (experimental)
lock Create or update a lockfile for the project's dependencies (experimental)
add Add one or more packages to the project's dependencies (experimental)
remove Remove one or more packages from the project's dependencies (experimental)
tree Display the dependency tree for the project (experimental)
pip Manage Python packages with a pip-compatible interface
venv Create a virtual environment
cache Manage the cache
cache Manage uv's cache
version Display uv's version
help Display documentation for a command
Expand Down
Loading

0 comments on commit c0c26cc

Please sign in to comment.