The new option `app.Suggest` enables command and flag suggestions via
the jaro-winkler distance algorithm. Flags are scoped to their
appropriate commands whereas command suggestions are scoped to the
current command level.
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
The usage of the `(default: …)` strings are a bit error prone so we now
refactor them into a dedicated helper function.
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Before accessing the slices `.Value()` we should type check that it is
that actual type, otherwise we will end-up in a panic.
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
This allows specifying multiple authors, whereas no available authors
will be formatted correctly now.
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
These two dependencies are not really needed, which can be
reproduced via:
```
> export GO111MODULE=on && go mod tidy
```
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
This new member of `Flag` indicates if the flag expects a file as input.
This is especially useful for documentation and shell completion purposes.
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
This commit adds a new method `ToFishCompletion` to the `*App` which can
be used to generate a fish completion string for the application.
Relates to: #351
Signed-off-by: Sascha Grunert <sgrunert@suse.com>