From 79ce0f6d882cfa51aaad13374a46e7d0e7c7517b Mon Sep 17 00:00:00 2001 From: Jerome Quere Date: Mon, 6 Jul 2020 18:52:32 +0200 Subject: [PATCH 1/2] doc: alphabetically sort commands in all usage --- .../test-all-usage-account-ssh-key-usage.golden | 6 +++--- .../test-all-usage-baremetal-os-usage.golden | 2 +- ...test-all-usage-baremetal-server-usage.golden | 8 ++++---- .../test-all-usage-baremetal-usage.golden | 2 +- .../test-all-usage-instance-image-usage.golden | 4 ++-- .../test-all-usage-instance-ip-usage.golden | 4 ++-- ...-usage-instance-placement-group-usage.golden | 4 ++-- ...l-usage-instance-security-group-usage.golden | 6 +++--- .../test-all-usage-instance-server-usage.golden | 12 ++++++------ ...est-all-usage-instance-snapshot-usage.golden | 4 ++-- .../test-all-usage-instance-usage.golden | 2 +- ...st-all-usage-instance-user-data-usage.golden | 4 ++-- .../test-all-usage-instance-volume-usage.golden | 4 ++-- .../test-all-usage-k8s-cluster-usage.golden | 8 ++++---- .../test-all-usage-k8s-node-usage.golden | 4 ++-- .../test-all-usage-k8s-pool-usage.golden | 6 +++--- .../testdata/test-all-usage-k8s-usage.golden | 4 ++-- .../test-all-usage-k8s-version-usage.golden | 2 +- ...est-all-usage-marketplace-image-usage.golden | 2 +- .../test-all-usage-rdb-acl-usage.golden | 2 +- .../test-all-usage-rdb-backup-usage.golden | 8 ++++---- .../test-all-usage-rdb-database-usage.golden | 2 +- .../test-all-usage-rdb-instance-usage.golden | 8 ++++---- .../test-all-usage-rdb-log-usage.golden | 2 +- .../testdata/test-all-usage-rdb-usage.golden | 12 ++++++------ .../test-all-usage-rdb-user-usage.golden | 4 ++-- .../test-all-usage-registry-image-usage.golden | 4 ++-- ...st-all-usage-registry-namespace-usage.golden | 6 +++--- .../test-all-usage-registry-tag-usage.golden | 4 ++-- .../test-all-usage-registry-usage.golden | 6 +++--- cmd/scw/testdata/test-main-usage-usage.golden | 17 ++++++++--------- internal/core/bootstrap.go | 2 +- internal/core/command.go | 12 ++++++++++++ .../e2e/testdata/test-test-command-usage.golden | 2 +- 34 files changed, 95 insertions(+), 84 deletions(-) diff --git a/cmd/scw/testdata/test-all-usage-account-ssh-key-usage.golden b/cmd/scw/testdata/test-all-usage-account-ssh-key-usage.golden index b7c3ba214b..5663b77689 100644 --- a/cmd/scw/testdata/test-all-usage-account-ssh-key-usage.golden +++ b/cmd/scw/testdata/test-all-usage-account-ssh-key-usage.golden @@ -6,12 +6,12 @@ USAGE: scw account ssh-key AVAILABLE COMMANDS: - list List all SSH keys add Add a SSH key to your Scaleway account get Get SSH key details - update Update an SSH key - remove Remove a SSH key from your Scaleway account init Initialize SSH key + list List all SSH keys + remove Remove a SSH key from your Scaleway account + update Update an SSH key FLAGS: -h, --help help for ssh-key diff --git a/cmd/scw/testdata/test-all-usage-baremetal-os-usage.golden b/cmd/scw/testdata/test-all-usage-baremetal-os-usage.golden index c75703dc4b..4de0f2a928 100644 --- a/cmd/scw/testdata/test-all-usage-baremetal-os-usage.golden +++ b/cmd/scw/testdata/test-all-usage-baremetal-os-usage.golden @@ -6,8 +6,8 @@ USAGE: scw baremetal os AVAILABLE COMMANDS: - list List OS get Get OS + list List OS FLAGS: -h, --help help for os diff --git a/cmd/scw/testdata/test-all-usage-baremetal-server-usage.golden b/cmd/scw/testdata/test-all-usage-baremetal-server-usage.golden index 11eaf7fb26..781b7ed941 100644 --- a/cmd/scw/testdata/test-all-usage-baremetal-server-usage.golden +++ b/cmd/scw/testdata/test-all-usage-baremetal-server-usage.golden @@ -6,15 +6,15 @@ USAGE: scw baremetal server AVAILABLE COMMANDS: - list List servers - get Get server create Create server - update Update server - install Install server delete Delete server + get Get server + install Install server + list List servers reboot Reboot server start Start server stop Stop server + update Update server wait Wait for a server to reach a stable state (delivery and installation) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-baremetal-usage.golden b/cmd/scw/testdata/test-all-usage-baremetal-usage.golden index bac12e8551..7befdc80b4 100644 --- a/cmd/scw/testdata/test-all-usage-baremetal-usage.golden +++ b/cmd/scw/testdata/test-all-usage-baremetal-usage.golden @@ -6,8 +6,8 @@ USAGE: scw baremetal AVAILABLE COMMANDS: - server A server is a denomination of a type of instances provided by Scaleway os An Operating System (OS) is the underlying software installed on your server + server A server is a denomination of a type of instances provided by Scaleway FLAGS: -h, --help help for baremetal diff --git a/cmd/scw/testdata/test-all-usage-instance-image-usage.golden b/cmd/scw/testdata/test-all-usage-instance-image-usage.golden index 125cf5a131..71ebb78473 100644 --- a/cmd/scw/testdata/test-all-usage-instance-image-usage.golden +++ b/cmd/scw/testdata/test-all-usage-instance-image-usage.golden @@ -9,10 +9,10 @@ USAGE: scw instance image AVAILABLE COMMANDS: - list List images - get Get image create Create image delete Delete image + get Get image + list List images wait Wait for image to reach a stable state FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-instance-ip-usage.golden b/cmd/scw/testdata/test-all-usage-instance-ip-usage.golden index fdaf7faa35..e4d5e7aca5 100644 --- a/cmd/scw/testdata/test-all-usage-instance-ip-usage.golden +++ b/cmd/scw/testdata/test-all-usage-instance-ip-usage.golden @@ -9,11 +9,11 @@ USAGE: scw instance ip AVAILABLE COMMANDS: - list List IPs create Reserve an IP + delete Delete IP get Get IP + list List IPs update Update IP - delete Delete IP FLAGS: -h, --help help for ip diff --git a/cmd/scw/testdata/test-all-usage-instance-placement-group-usage.golden b/cmd/scw/testdata/test-all-usage-instance-placement-group-usage.golden index 27e5db809a..57bab0f5a0 100644 --- a/cmd/scw/testdata/test-all-usage-instance-placement-group-usage.golden +++ b/cmd/scw/testdata/test-all-usage-instance-placement-group-usage.golden @@ -23,11 +23,11 @@ USAGE: scw instance placement-group AVAILABLE COMMANDS: - list List placement groups create Create placement group + delete Delete the given placement group get Get placement group + list List placement groups update Update placement group - delete Delete the given placement group FLAGS: -h, --help help for placement-group diff --git a/cmd/scw/testdata/test-all-usage-instance-security-group-usage.golden b/cmd/scw/testdata/test-all-usage-instance-security-group-usage.golden index 82c1ba53e6..c4894769b1 100644 --- a/cmd/scw/testdata/test-all-usage-instance-security-group-usage.golden +++ b/cmd/scw/testdata/test-all-usage-instance-security-group-usage.golden @@ -10,11 +10,11 @@ USAGE: scw instance security-group AVAILABLE COMMANDS: - list List security groups + clear Remove all rules of a security group create Create security group - get Get security group delete Delete security group - clear Remove all rules of a security group + get Get security group + list List security groups update Update security group FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-instance-server-usage.golden b/cmd/scw/testdata/test-all-usage-instance-server-usage.golden index 9a35fadb47..33a98e5e41 100644 --- a/cmd/scw/testdata/test-all-usage-instance-server-usage.golden +++ b/cmd/scw/testdata/test-all-usage-instance-server-usage.golden @@ -31,21 +31,21 @@ USAGE: scw instance server AVAILABLE COMMANDS: - list List servers - get Get server - update Update server attach-volume Attach a volume to a server backup Backup server console Connect to the serial console of an instance create Create server delete Delete server - terminate Terminate server detach-volume Detach a volume from its server + get Get server + list List servers + reboot Reboot server ssh SSH into a server + standby Put server in standby mode start Power on server stop Power off server - standby Put server in standby mode - reboot Reboot server + terminate Terminate server + update Update server wait Wait for server to reach a stable state FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-instance-snapshot-usage.golden b/cmd/scw/testdata/test-all-usage-instance-snapshot-usage.golden index 74aafb73a1..16b0f89aa9 100644 --- a/cmd/scw/testdata/test-all-usage-instance-snapshot-usage.golden +++ b/cmd/scw/testdata/test-all-usage-instance-snapshot-usage.golden @@ -16,10 +16,10 @@ USAGE: scw instance snapshot AVAILABLE COMMANDS: - list List snapshots create Create snapshot - get Get snapshot delete Delete snapshot + get Get snapshot + list List snapshots wait Wait for snapshot to reach a stable state FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-instance-usage.golden b/cmd/scw/testdata/test-all-usage-instance-usage.golden index a70e499e04..72967c26d7 100644 --- a/cmd/scw/testdata/test-all-usage-instance-usage.golden +++ b/cmd/scw/testdata/test-all-usage-instance-usage.golden @@ -12,10 +12,10 @@ AVAILABLE COMMANDS: security-group A security group is a set of firewall rules on a set of instances server A server is a denomination of a type of instances provided by Scaleway server-type A server type is a representation of an instance type available in a given zone - volume-type A volume type is a representation of a volume type available in a given zone snapshot A snapshot contains the data of a specific volume at a particular point in time user-data User data is a key value store API you can use to provide data from and to your server without authentication volume A volume is used to store data inside an instance + volume-type A volume type is a representation of a volume type available in a given zone FLAGS: -h, --help help for instance diff --git a/cmd/scw/testdata/test-all-usage-instance-user-data-usage.golden b/cmd/scw/testdata/test-all-usage-instance-user-data-usage.golden index 952a8a3958..9d0025a90b 100644 --- a/cmd/scw/testdata/test-all-usage-instance-user-data-usage.golden +++ b/cmd/scw/testdata/test-all-usage-instance-user-data-usage.golden @@ -16,10 +16,10 @@ USAGE: scw instance user-data AVAILABLE COMMANDS: - list List user data delete Delete user data - set Add/Set user data get Get user data + list List user data + set Add/Set user data FLAGS: -h, --help help for user-data diff --git a/cmd/scw/testdata/test-all-usage-instance-volume-usage.golden b/cmd/scw/testdata/test-all-usage-instance-volume-usage.golden index b13fb2ff4f..64623c3c8a 100644 --- a/cmd/scw/testdata/test-all-usage-instance-volume-usage.golden +++ b/cmd/scw/testdata/test-all-usage-instance-volume-usage.golden @@ -35,11 +35,11 @@ USAGE: scw instance volume AVAILABLE COMMANDS: - list List volumes create Create volume + delete Delete volume get Get volume + list List volumes update Update volume - delete Delete volume FLAGS: -h, --help help for volume diff --git a/cmd/scw/testdata/test-all-usage-k8s-cluster-usage.golden b/cmd/scw/testdata/test-all-usage-k8s-cluster-usage.golden index 1b986b2a1b..077a8c6fad 100644 --- a/cmd/scw/testdata/test-all-usage-k8s-cluster-usage.golden +++ b/cmd/scw/testdata/test-all-usage-k8s-cluster-usage.golden @@ -8,14 +8,14 @@ USAGE: scw k8s cluster AVAILABLE COMMANDS: - list List all the clusters create Create a new cluster - get Get a cluster - update Update a cluster delete Delete a cluster - upgrade Upgrade a cluster + get Get a cluster + list List all the clusters list-available-versions List available versions for a cluster reset-admin-token Reset the admin token of a cluster + update Update a cluster + upgrade Upgrade a cluster wait Wait for a cluster to reach a stable state FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-k8s-node-usage.golden b/cmd/scw/testdata/test-all-usage-k8s-node-usage.golden index 68886dd746..d477918ff2 100644 --- a/cmd/scw/testdata/test-all-usage-k8s-node-usage.golden +++ b/cmd/scw/testdata/test-all-usage-k8s-node-usage.golden @@ -8,10 +8,10 @@ USAGE: scw k8s node AVAILABLE COMMANDS: - list List all the nodes in a cluster get Get a node in a cluster - replace Replace a node in a cluster + list List all the nodes in a cluster reboot Reboot a node in a cluster + replace Replace a node in a cluster wait Wait for a node to reach a stable state FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-k8s-pool-usage.golden b/cmd/scw/testdata/test-all-usage-k8s-pool-usage.golden index 8c79a48cf0..30282c8243 100644 --- a/cmd/scw/testdata/test-all-usage-k8s-pool-usage.golden +++ b/cmd/scw/testdata/test-all-usage-k8s-pool-usage.golden @@ -8,12 +8,12 @@ USAGE: scw k8s pool AVAILABLE COMMANDS: - list List all the pools in a cluster create Create a new pool in a cluster + delete Delete a pool in a cluster get Get a pool in a cluster - upgrade Upgrade a pool in a cluster + list List all the pools in a cluster update Update a pool in a cluster - delete Delete a pool in a cluster + upgrade Upgrade a pool in a cluster wait Wait for a pool to reach a stable state FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-k8s-usage.golden b/cmd/scw/testdata/test-all-usage-k8s-usage.golden index 236e750c00..ee5c93e05b 100644 --- a/cmd/scw/testdata/test-all-usage-k8s-usage.golden +++ b/cmd/scw/testdata/test-all-usage-k8s-usage.golden @@ -7,10 +7,10 @@ USAGE: AVAILABLE COMMANDS: cluster A cluster is a Kubernetes Kapsule cluster - pool A pool is a virtual group of nodes in a cluster + kubeconfig Manage your Kubernetes Kapsule cluster's kubeconfig files node A node is the representation of a Scaleway instance in a cluster + pool A pool is a virtual group of nodes in a cluster version A version is a Kubernetes version - kubeconfig Manage your Kubernetes Kapsule cluster's kubeconfig files FLAGS: -h, --help help for k8s diff --git a/cmd/scw/testdata/test-all-usage-k8s-version-usage.golden b/cmd/scw/testdata/test-all-usage-k8s-version-usage.golden index fdc4b2cba1..ddff28fb75 100644 --- a/cmd/scw/testdata/test-all-usage-k8s-version-usage.golden +++ b/cmd/scw/testdata/test-all-usage-k8s-version-usage.golden @@ -10,8 +10,8 @@ USAGE: scw k8s version AVAILABLE COMMANDS: - list List all available versions get Get details about a specific version + list List all available versions FLAGS: -h, --help help for version diff --git a/cmd/scw/testdata/test-all-usage-marketplace-image-usage.golden b/cmd/scw/testdata/test-all-usage-marketplace-image-usage.golden index 4cc377583d..f6ecc3c804 100644 --- a/cmd/scw/testdata/test-all-usage-marketplace-image-usage.golden +++ b/cmd/scw/testdata/test-all-usage-marketplace-image-usage.golden @@ -6,8 +6,8 @@ USAGE: scw marketplace image AVAILABLE COMMANDS: - list List marketplace images get Get a specific marketplace image + list List marketplace images FLAGS: -h, --help help for image diff --git a/cmd/scw/testdata/test-all-usage-rdb-acl-usage.golden b/cmd/scw/testdata/test-all-usage-rdb-acl-usage.golden index 1816d48ae8..fc41cf90d2 100644 --- a/cmd/scw/testdata/test-all-usage-rdb-acl-usage.golden +++ b/cmd/scw/testdata/test-all-usage-rdb-acl-usage.golden @@ -6,9 +6,9 @@ USAGE: scw rdb acl AVAILABLE COMMANDS: - list List ACL rules of a given instance add Add an ACL instance to a given instance delete Delete ACL rules of a given instance + list List ACL rules of a given instance FLAGS: -h, --help help for acl diff --git a/cmd/scw/testdata/test-all-usage-rdb-backup-usage.golden b/cmd/scw/testdata/test-all-usage-rdb-backup-usage.golden index ce7464db32..4640a4a3c2 100644 --- a/cmd/scw/testdata/test-all-usage-rdb-backup-usage.golden +++ b/cmd/scw/testdata/test-all-usage-rdb-backup-usage.golden @@ -6,13 +6,13 @@ USAGE: scw rdb backup AVAILABLE COMMANDS: - list List database backups create Create a database backup - get Get a database backup - update Update a database backup delete Delete a database backup - restore Restore a database backup export Export a database backup + get Get a database backup + list List database backups + restore Restore a database backup + update Update a database backup FLAGS: -h, --help help for backup diff --git a/cmd/scw/testdata/test-all-usage-rdb-database-usage.golden b/cmd/scw/testdata/test-all-usage-rdb-database-usage.golden index 8c3730e68e..9f5d4ed1ed 100644 --- a/cmd/scw/testdata/test-all-usage-rdb-database-usage.golden +++ b/cmd/scw/testdata/test-all-usage-rdb-database-usage.golden @@ -6,9 +6,9 @@ USAGE: scw rdb database AVAILABLE COMMANDS: - list List all database in a given instance create Create a database in a given instance delete Delete a database in a given instance + list List all database in a given instance FLAGS: -h, --help help for database diff --git a/cmd/scw/testdata/test-all-usage-rdb-instance-usage.golden b/cmd/scw/testdata/test-all-usage-rdb-instance-usage.golden index 4a8793b60c..40ff3f67ce 100644 --- a/cmd/scw/testdata/test-all-usage-rdb-instance-usage.golden +++ b/cmd/scw/testdata/test-all-usage-rdb-instance-usage.golden @@ -7,13 +7,13 @@ USAGE: AVAILABLE COMMANDS: clone Clone an instance - upgrade Upgrade an instance to an higher instance type - list List instances - get Get an instance create Create an instance - update Update an instance delete Delete an instance + get Get an instance + list List instances metrics Get instance metrics + update Update an instance + upgrade Upgrade an instance to an higher instance type wait Wait for an instance to reach a stable state FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-rdb-log-usage.golden b/cmd/scw/testdata/test-all-usage-rdb-log-usage.golden index fe833e6676..1b3f01aab2 100644 --- a/cmd/scw/testdata/test-all-usage-rdb-log-usage.golden +++ b/cmd/scw/testdata/test-all-usage-rdb-log-usage.golden @@ -4,8 +4,8 @@ USAGE: scw rdb log AVAILABLE COMMANDS: - prepare Prepare logs of a given instance list List available logs of a given instance + prepare Prepare logs of a given instance FLAGS: -h, --help help for log diff --git a/cmd/scw/testdata/test-all-usage-rdb-usage.golden b/cmd/scw/testdata/test-all-usage-rdb-usage.golden index 693f652215..d167e5dbb3 100644 --- a/cmd/scw/testdata/test-all-usage-rdb-usage.golden +++ b/cmd/scw/testdata/test-all-usage-rdb-usage.golden @@ -6,17 +6,17 @@ USAGE: scw rdb AVAILABLE COMMANDS: + acl backup + certificate + database engine instance - acl - settings + log + node-type privilege + settings user - database - node-type - log - certificate FLAGS: -h, --help help for rdb diff --git a/cmd/scw/testdata/test-all-usage-rdb-user-usage.golden b/cmd/scw/testdata/test-all-usage-rdb-user-usage.golden index 1c8c382803..fcf372cc6b 100644 --- a/cmd/scw/testdata/test-all-usage-rdb-user-usage.golden +++ b/cmd/scw/testdata/test-all-usage-rdb-user-usage.golden @@ -6,10 +6,10 @@ USAGE: scw rdb user AVAILABLE COMMANDS: - list List users of a given instance create Create an user in a given instance - update Update an user in a given instance delete Delete an user in a given instance + list List users of a given instance + update Update an user in a given instance FLAGS: -h, --help help for user diff --git a/cmd/scw/testdata/test-all-usage-registry-image-usage.golden b/cmd/scw/testdata/test-all-usage-registry-image-usage.golden index c0fc7ece6e..eccc392976 100644 --- a/cmd/scw/testdata/test-all-usage-registry-image-usage.golden +++ b/cmd/scw/testdata/test-all-usage-registry-image-usage.golden @@ -9,10 +9,10 @@ USAGE: scw registry image AVAILABLE COMMANDS: - list List all your images + delete Delete an image get Get a image + list List all your images update Update an existing image - delete Delete an image FLAGS: -h, --help help for image diff --git a/cmd/scw/testdata/test-all-usage-registry-namespace-usage.golden b/cmd/scw/testdata/test-all-usage-registry-namespace-usage.golden index 67d3547450..4353502807 100644 --- a/cmd/scw/testdata/test-all-usage-registry-namespace-usage.golden +++ b/cmd/scw/testdata/test-all-usage-registry-namespace-usage.golden @@ -14,11 +14,11 @@ USAGE: scw registry namespace AVAILABLE COMMANDS: - list List all your namespaces - get Get a namespace create Create a new namespace - update Update an existing namespace delete Delete an existing namespace + get Get a namespace + list List all your namespaces + update Update an existing namespace FLAGS: -h, --help help for namespace diff --git a/cmd/scw/testdata/test-all-usage-registry-tag-usage.golden b/cmd/scw/testdata/test-all-usage-registry-tag-usage.golden index f0f8feba7a..cd4ac813ad 100644 --- a/cmd/scw/testdata/test-all-usage-registry-tag-usage.golden +++ b/cmd/scw/testdata/test-all-usage-registry-tag-usage.golden @@ -6,9 +6,9 @@ USAGE: scw registry tag AVAILABLE COMMANDS: - list List all your tags - get Get a tag delete Delete a tag + get Get a tag + list List all your tags FLAGS: -h, --help help for tag diff --git a/cmd/scw/testdata/test-all-usage-registry-usage.golden b/cmd/scw/testdata/test-all-usage-registry-usage.golden index 5edc8eb9ff..b58297dc29 100644 --- a/cmd/scw/testdata/test-all-usage-registry-usage.golden +++ b/cmd/scw/testdata/test-all-usage-registry-usage.golden @@ -6,12 +6,12 @@ USAGE: scw registry AVAILABLE COMMANDS: - namespace A namespace is for images what a folder is for files image An image represents a container image - tag A tag represents a container tag of an image + install-docker-helper Install a local Docker credential helper login Login to a registry logout Logout of a registry - install-docker-helper Install a local Docker credential helper + namespace A namespace is for images what a folder is for files + tag A tag represents a container tag of an image FLAGS: -h, --help help for registry diff --git a/cmd/scw/testdata/test-main-usage-usage.golden b/cmd/scw/testdata/test-main-usage-usage.golden index 7b8f6245a0..b7c846749b 100644 --- a/cmd/scw/testdata/test-main-usage-usage.golden +++ b/cmd/scw/testdata/test-main-usage-usage.golden @@ -4,20 +4,19 @@ USAGE: scw AVAILABLE COMMANDS: - instance Instance API + account This API allows to manage your scaleway account baremetal Baremetal API - k8s This API allows you to manage your Kapsule clusters - marketplace Marketplace API - init Initialize the config config Config file management - account This API allows to manage your scaleway account - autocomplete Install autocomplete script - object Object-storage utils - version Display cli version - registry Docker registry API feedback Send feedback to the Scaleway CLI Team! info Get info about current settings + init Initialize the config + instance Instance API + k8s This API allows you to manage your Kapsule clusters + marketplace Marketplace API + object Object-storage utils rdb Database RDB API + registry Docker registry API + version Display cli version help Help about any command FLAGS: diff --git a/internal/core/bootstrap.go b/internal/core/bootstrap.go index ff381747da..00b4692039 100644 --- a/internal/core/bootstrap.go +++ b/internal/core/bootstrap.go @@ -216,7 +216,7 @@ func Bootstrap(config *BootstrapConfig) (exitCode int, result interface{}, err e // cobraBuilder will build a Cobra root command from a list of Command builder := cobraBuilder{ - commands: config.Commands.commands, + commands: config.Commands.GetSortedCommand(), meta: meta, ctx: ctx, } diff --git a/internal/core/command.go b/internal/core/command.go index e1d6e8ad2b..c763e01ffe 100644 --- a/internal/core/command.go +++ b/internal/core/command.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "reflect" + "sort" "strings" "github.com/scaleway/scaleway-cli/internal/human" @@ -188,6 +189,17 @@ func (c *Commands) find(path ...string) (*Command, bool) { return nil, false } +// GetSortedCommand returns a slice of command sorted alphabetically +func (c *Commands) GetSortedCommand() []*Command { + commands := make([]*Command, len(c.commands)) + copy(commands, c.commands) + + sort.Slice(commands, func(i, j int) bool { + return fmt.Sprintf("%s %s %s", commands[i].Namespace, commands[i].Resource, commands[i].Verb) < fmt.Sprintf("%s %s %s", commands[j].Namespace, commands[j].Resource, commands[j].Verb) + }) + return commands +} + func (c *Command) getHumanMarshalerOpt() *human.MarshalOpt { if c.View != nil { return c.View.getHumanMarshalerOpt() diff --git a/internal/e2e/testdata/test-test-command-usage.golden b/internal/e2e/testdata/test-test-command-usage.golden index 5c86dd9b69..8700b14daa 100644 --- a/internal/e2e/testdata/test-test-command-usage.golden +++ b/internal/e2e/testdata/test-test-command-usage.golden @@ -12,8 +12,8 @@ USAGE: scw test AVAILABLE COMMANDS: - user human + user FLAGS: -h, --help help for test From 7dacb97410440a2e0fd2c97c83e74acd931e4807 Mon Sep 17 00:00:00 2001 From: Jerome Quere Date: Mon, 6 Jul 2020 18:56:44 +0200 Subject: [PATCH 2/2] comment --- internal/core/command.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/core/command.go b/internal/core/command.go index c763e01ffe..ba3080a984 100644 --- a/internal/core/command.go +++ b/internal/core/command.go @@ -189,7 +189,7 @@ func (c *Commands) find(path ...string) (*Command, bool) { return nil, false } -// GetSortedCommand returns a slice of command sorted alphabetically +// GetSortedCommand returns a slice of commands sorted alphabetically func (c *Commands) GetSortedCommand() []*Command { commands := make([]*Command, len(c.commands)) copy(commands, c.commands)