A CLI for tangled.sh

build: generate and install completions

rockorager.dev f6235fb2 ea4e2a53

verified
Changed files
+24 -3
cmd
knit
+3
.gitignore
··· 1 1 knit 2 + knit.bash 3 + knit.fish 4 + knit.zsh
+20 -3
Makefile
··· 2 2 3 3 PREFIX ?= /usr/local 4 4 BINDIR = $(PREFIX)/bin 5 + BASHDIR = $(PREFIX)/share/bash-completions/completions 6 + FISHDIR = $(PREFIX)/share/fish/vendor_completions.d 7 + ZSHDIR = $(PREFIX)/share/zsh/vendor_completions 5 8 6 9 .PHONY: all build install clean 7 10 8 - all: build 11 + all: build completions 9 12 10 13 build: 11 14 go build -o $(BINARY_NAME) ./cmd/knit 12 15 16 + completions: build 17 + ./$(BINARY_NAME) completion bash > knit.bash 18 + ./$(BINARY_NAME) completion fish > knit.fish 19 + ./$(BINARY_NAME) completion zsh > knit.zsh 20 + 13 21 install: build 14 - mkdir -p $(BINDIR) 15 - cp $(BINARY_NAME) $(BINDIR)/$(BINARY_NAME) 22 + install -d $(BINDIR) 23 + install -m 755 $(BINARY_NAME) $(BINDIR)/$(BINARY_NAME) 24 + install -d $(BASHDIR) 25 + install -m 755 knit.bash $(BASHDIR)/knit 26 + install -d $(FISHDIR) 27 + install -m 755 knit.fish $(FISHDIR)/knit.fish 28 + install -d $(ZSHDIR) 29 + install -m 755 knit.zsh $(ZSHDIR)/_knit 16 30 17 31 clean: 18 32 rm -f $(BINARY_NAME) 33 + rm -f knit.bash 34 + rm -f knit.fish 35 + rm -f knit.zsh
+1
cmd/knit/main.go
··· 17 17 Use: "knit", 18 18 Short: "knit is a CLI for tangled.sh", 19 19 } 20 + root.CompletionOptions.HiddenDefaultCmd = true 20 21 21 22 root.AddCommand(auth.Command()) 22 23 root.AddCommand(pr.Command())