Add command shortcuts via clap visible aliases
b/t/c for top-level commands, new/ls/mv/rm for subcommands.
Keeps full names as primary and shows aliases in --help output.
Assisted-by: Claude Opus 4.6 via pi
diff --git a/src/bin/ranger/commands/backlog.rs b/src/bin/ranger/commands/backlog.rs
index 8c23b48..7afea79 100644
--- a/src/bin/ranger/commands/backlog.rs
+++ b/src/bin/ranger/commands/backlog.rs
@@ -9,11 +9,13 @@ use crate::output;
#[derive(Subcommand)]
pub enum BacklogCommands {
/// Create a new backlog
+ #[command(visible_alias = "new")]
Create {
/// Name for the backlog
name: String,
},
/// List all backlogs
+ #[command(visible_alias = "ls")]
List,
/// Show a backlog's details
Show {
diff --git a/src/bin/ranger/commands/task.rs b/src/bin/ranger/commands/task.rs
index b9fd053..8cb2bc6 100644
--- a/src/bin/ranger/commands/task.rs
+++ b/src/bin/ranger/commands/task.rs
@@ -36,6 +36,7 @@ impl PositionArgs {
#[derive(Subcommand)]
pub enum TaskCommands {
/// Create a new task
+ #[command(visible_alias = "new")]
Create {
/// Task title
title: String,
@@ -58,6 +59,7 @@ pub enum TaskCommands {
position: PositionArgs,
},
/// List tasks
+ #[command(visible_alias = "ls")]
List {
/// Filter by backlog key or prefix
#[arg(long, env = "RANGER_DEFAULT_BACKLOG")]
@@ -86,6 +88,7 @@ pub enum TaskCommands {
state: Option<String>,
},
/// Move a task's position within a backlog
+ #[command(visible_alias = "mv")]
Move {
/// Task key or prefix
key: String,
@@ -112,6 +115,7 @@ pub enum TaskCommands {
backlog: String,
},
/// Delete a task entirely
+ #[command(visible_alias = "rm")]
Delete {
/// Task key or prefix
key: String,
diff --git a/src/bin/ranger/main.rs b/src/bin/ranger/main.rs
index 8e11172..687275d 100644
--- a/src/bin/ranger/main.rs
+++ b/src/bin/ranger/main.rs
@@ -22,16 +22,19 @@ struct Cli {
#[derive(Subcommand)]
enum Commands {
/// Manage backlogs
+ #[command(visible_alias = "b")]
Backlog {
#[command(subcommand)]
command: commands::backlog::BacklogCommands,
},
/// Manage tasks
+ #[command(visible_alias = "t")]
Task {
#[command(subcommand)]
command: commands::task::TaskCommands,
},
/// Manage comments
+ #[command(visible_alias = "c")]
Comment {
#[command(subcommand)]
command: commands::comment::CommentCommands,