diff --git a/.golangci.yaml b/.golangci.yaml index dbdfbda..c27a430 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -7,6 +7,7 @@ linters: - gomnd # deprecated - execinquery # deprecated - depguard + - gci linters-settings: varnamelen: diff --git a/cmd/zit/main.go b/cmd/zit/main.go index c80fccc..656320a 100644 --- a/cmd/zit/main.go +++ b/cmd/zit/main.go @@ -17,7 +17,7 @@ import ( func main() { userHomeDir, err := os.UserHomeDir() if err != nil { - fmt.Println(err) + fmt.Fprintln(os.Stderr, err) os.Exit(1) } @@ -28,7 +28,7 @@ func main() { os.Getenv(xdg.ConfigHome), ) - app := &cli.App{ + app := &cli.App{ //nolint: exhaustruct Name: appConfig.AppName(), Usage: "git identity manager", Commands: []*cli.Command{ @@ -40,7 +40,7 @@ func main() { } if err := app.Run(os.Args); err != nil { - fmt.Println(err) + fmt.Fprintln(os.Stderr, err) os.Exit(1) } } diff --git a/scripts/lint.sh b/scripts/lint.sh index 269e80a..35617e1 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -1,16 +1,34 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash set -e MODULE=${MODULE:-"./..."} if [ "$1" == "all" ]; then - golangci-lint run --config .golangci.yaml "$MODULE" - exit 0 + golangci-lint run --config .golangci.yaml "$MODULE" + exit 0 fi if [ "$1" == "only" ]; then - golangci-lint run --no-config --enable "$2" "$MODULE" - exit 0 + golangci-lint run --no-config --enable "$2" "$MODULE" + exit 0 +fi + +if [ "$1" == "linted" ]; then + # The following packages are already linted and should stay this way. + # + # Should be replaced by simply `./lint all` in the future. + packages=( + './cmd/zit/...' + './internal/app/...' + './pkg/xdg/...' + ) + + for package in "${packages[@]}"; do + echo "linting package $package" + golangci-lint run --config .golangci.yaml "$package" + done + + exit 0 fi echo "Usage:"