-
-
Notifications
You must be signed in to change notification settings - Fork 57
Description
I've been thinking about the grouping of the commands displayed by alr help
a bit, and I think it could use some minor changes. First of all, for some of the commands it's not clear they aren't meant to be used by regular users. Second, the description of commands like 'with' and 'update' is a bit vague and confusing to new users. Third, I had put the 'publish' command in its own group so that in the future new commands like 'login' and 'logout' could be added to this group (this is what several other package managers have), but I think this isn't really applicable to Alire because users follow a different process involving GitHub. Thus the 'publish' command is all that's needed and there's no need to put it in a separate group.
So I propose to rename the 'Build' group to 'Crate' to indicate to the user that these are the commands that the user is likely to need when interacting with the crate. Some of the commands from 'General' and 'Index' have been moved to the 'Crate' group. Some of the commands are moved to a new group 'Internal' (name can be changed).
And the last change is that I have modified the description of the 'with' and 'update' commands.
For consistency, the first word of 'help', 'version', 'get', and 'init' commands have been modified to use the imperative mood ('Show' instead of 'Shows').
This will then be the new output:
General
help Show help on the given command/topic
config List, Get, Set or Unset configuration options
toolchain Manage Alire-provided toolchains
version Show detailed version, configuration, and environment information
Index
get Fetch a crate release
index Manage indexes used by current configuration
search Search a string in release names and properties
show See information about a release
Crate
build GPRbuild current working release
clean GPRclean working release and manage cached releases
edit Start GNATstudio with Alire build environment setup
exec Run the given command in the alire project context
init Create a new working release with alire metadata, or generate metadata
pin Pin dependencies to exact versions
printenv Print the build environment variables
publish Help with the publication of a new release
run Launch an executable built by the release
update Update some or all dependencies to a newer version
with Add or remove dependencies
Internal
action List or manually trigger action hooks
dev Developer helpers
test Tests the compilation of all or some releases
If agreed, I can submit a PR.