```
mc alias set
alias remove
alias list
```
are new commands that replace mc config host sub-commands.
mc config host will still be available but hidden for backward
compatiblity. The JSON output is also kept if the user is running mc
config host command.
app.Before receives a cli.Context but without flags parsed. There is no
point calling ctx.Bool() or ctx.IsSet() at that stage.
However, flags are parsed in commands, so minio initialization and
setting global variables (globalJSON, globalQuiet, etc..) can be moved
to the Before function of all commands.
Avoid setting command.Before for non leaf commands, otherwise Before
function will be called multiples times until it reaches the leaf
command.
This commit adds a new global context, monitors os signals
and cancels the global context in such cases to exit
on going process gracefully.
It will also update minio-go and adapts the code with
the new context changes in the admin API.
Remove '.exe' (case insensitive) from executable name for consistent config folder.
Potentially breaking: If people (for whatever reason) used 'mc.exe', this will potentially break their setup.
*) Add --no-autocompletion to disable the automatic install of
the auto completion
*) Add a prompt to ask for permission to install automatic
auto completion when not installed yet
Users of bash/zsh will have completion config enabled in the next
shell session start. This commit provides completion for commands
and all subcommands, their flags and completion of filesystems paths,
mc aliases, buckets and prefixes.
The probe package is no longer available in the Minio server
repo. This change just moves probe from the vendor directory to its
own dir under `pkg`.
This is a maintenance fix.
mc was asking the user to provide --quiet flag when terminal
width is not available for any reason. This PR tries to fetch
the terminal width at mc startup and automatically set quiet flag
when it fails to fetch the width.