45f700d6ea
* Upgrade gqlgen to v0.17.2 This enables builds on Go 1.18. github.com/vektah/gqlparser is upgraded to the newest version too. Getting this to work is a bit of a hazzle. I had to first remove vendoring from the repository, perform the upgrade and then re-introduce the vendor directory. I think gqlgens analysis went wrong for some reason on the upgrade. It would seem a clean-room installation fixed it. * Bump project to 1.18 * Update all packages, address gqlgenc breaking changes * Let `go mod tidy` handle the go.mod file * Upgrade linter to 1.45.2 * Introduce v1.45.2 of the linter The linter now correctly warns on `strings.Title` because it isn't unicode-aware. Fix this by using the suggested fix from x/text/cases to produce unicode-aware strings. The mapping isn't entirely 1-1 as this new approach has a larger iface: it spans all of unicode rather than just ASCII. It coincides for ASCII however, so things should be largely the same. * Ready ourselves for errchkjson and contextcheck. * Revert dockerfile golang version changes for now Co-authored-by: Kermie <kermie@isinthe.house> Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com> |
||
---|---|---|
.. | ||
.flake8 | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
LICENSE | ||
README.md | ||
app.go | ||
args.go | ||
category.go | ||
cli.go | ||
command.go | ||
context.go | ||
docs.go | ||
errors.go | ||
fish.go | ||
flag.go | ||
flag_bool.go | ||
flag_duration.go | ||
flag_float64.go | ||
flag_float64_slice.go | ||
flag_generic.go | ||
flag_int.go | ||
flag_int64.go | ||
flag_int64_slice.go | ||
flag_int_slice.go | ||
flag_path.go | ||
flag_string.go | ||
flag_string_slice.go | ||
flag_timestamp.go | ||
flag_uint.go | ||
flag_uint64.go | ||
funcs.go | ||
help.go | ||
parse.go | ||
sort.go | ||
template.go |
README.md
cli
cli is a simple, fast, and fun package for building command line apps in Go. The goal is to enable developers to write fast and distributable command line applications in an expressive way.
Usage Documentation
Usage documentation exists for each major version. Don't know what version you're on? You're probably using the version from the master
branch, which is currently v2
.
v2
- ./docs/v2/manual.mdv1
- ./docs/v1/manual.md
Guides for migrating to newer versions:
v1-to-v2
- ./docs/migrate-v1-to-v2.md
Installation
Using this package requires a working Go environment. See the install instructions for Go.
Go Modules are required when using this package. See the go blog guide on using Go Modules.
Using v2
releases
$ GO111MODULE=on go get github.com/urfave/cli/v2
...
import (
"github.com/urfave/cli/v2" // imports as package "cli"
)
...
Using v1
releases
$ GO111MODULE=on go get github.com/urfave/cli
...
import (
"github.com/urfave/cli"
)
...
GOPATH
Make sure your PATH
includes the $GOPATH/bin
directory so your commands can
be easily used:
export PATH=$PATH:$GOPATH/bin
Supported platforms
cli is tested against multiple versions of Go on Linux, and against the latest released version of Go on OS X and Windows. This project uses Github Actions for builds. To see our currently supported go versions and platforms, look at the ./.github/workflows/cli.yml.