diff --git a/.gitignore b/.gitignore index acbc396..d8e81aa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /gat /dist/ +/completions/ diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 9552cd4..5395c7d 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -3,6 +3,7 @@ version: 2 before: hooks: - go mod tidy + - ./scripts/build-completions.sh builds: - ldflags: - -s -w -X github.com/koki-develop/gat/cmd.version=v{{.Version}} @@ -15,6 +16,8 @@ builds: archives: - formats: [tar.gz] + files: + - completions/* name_template: >- {{ .ProjectName }}_ {{- title .Os }}_ @@ -40,3 +43,8 @@ brews: name: homebrew-tap token: "{{ .Env.TAP_GITHUB_TOKEN }}" directory: Formula + install: | + bin.install "gat" + bash_completion.install "completions/gat.bash" => "gat" + zsh_completion.install "completions/gat.zsh" => "_gat" + fish_completion.install "completions/gat.fish" diff --git a/scripts/build-completions.sh b/scripts/build-completions.sh new file mode 100755 index 0000000..bd6e704 --- /dev/null +++ b/scripts/build-completions.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -euo pipefail + +rm -rf completions +mkdir completions + +go build . + +./gat completion bash > completions/gat.bash +./gat completion zsh > completions/gat.zsh +./gat completion fish > completions/gat.fish