Skip to content
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

[Feature]: sort command-line options in help output #650

Open
jschauma opened this issue Sep 28, 2024 · 1 comment
Open

[Feature]: sort command-line options in help output #650

jschauma opened this issue Sep 28, 2024 · 1 comment
Labels
enhancement issues that request a enhancement

Comments

@jschauma
Copy link
Contributor

Description

When running -h to view available options, it would be useful if the options were sorted alphabetically. That makes it a lot easier to find an option one is looking for.

Potential Usage Example

$ linode-cli linodes create -h
[...]
options:
  -h, --help            show this help message and exit
  --authorized_keys authorized_keys
  --authorized_users authorized_users
  --backup_id backup_id
  --backups_enabled backups_enabled
  --booted booted
  --firewall_id firewall_id
  --group group
  --image image
  --interfaces interfaces
  --interfaces.active active
  --interfaces.ip_ranges ip_ranges
  --interfaces.ipam_address ipam_address
  --interfaces.ipv4.nat_1_1 nat_1_1
  --interfaces.ipv4.vpc vpc
  --interfaces.label label
  --interfaces.primary primary
  --interfaces.purpose purpose
  --interfaces.subnet_id subnet_id
  --label label
  --metadata.user_data user_data
  --private_ip private_ip
  --region region
  --root_pass [ROOT_PASS]
  --stackscript_data stackscript_data
  --stackscript_id stackscript_id
  --swap_size swap_size
  --tags tags
  --type type
$

(Likewise for all other cli tools.)

@jschauma jschauma added the enhancement issues that request a enhancement label Sep 28, 2024
@gergelyk
Copy link

gergelyk commented Dec 30, 2024

Note that enhanced version of help for the commands can be printed like this:

linodecli --help linodes create

Despite of this, here is a proposed solution that sorts options also in your invocation: #708

Example:

$ linode-cli linodes create -h
[...]
Create a Linode.

optional arguments:
  --authorized_keys authorized_keys
  --authorized_users authorized_users
  --backup_id backup_id
  --backups_enabled backups_enabled
  --booted booted
  --disk_encryption disk_encryption
  --firewall_id firewall_id
  --group group
  --image image
  --interfaces interfaces
  --interfaces.ip_ranges ip_ranges
  --interfaces.ipam_address ipam_address
  --interfaces.ipv4.nat_1_1 nat_1_1
  --interfaces.ipv4.vpc vpc
  --interfaces.label label
  --interfaces.primary primary
  --interfaces.purpose purpose
  --interfaces.subnet_id subnet_id
  --label label
  --metadata.user_data user_data
  --placement_group.id id
  --private_ip private_ip
  --region region
  --root_pass [ROOT_PASS]
  --stackscript_data stackscript_data
  --stackscript_id stackscript_id
  --swap_size swap_size
  --tags tags
  --type type
  -h, --help            show this help message and exit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement issues that request a enhancement
Projects
None yet
Development

No branches or pull requests

2 participants