A CLI for tangled.sh

build: generate and install completions

rockorager.dev f6235fb2 ea4e2a53

verified
+24 -3
+3
.gitignore
··· 1 knit
··· 1 knit 2 + knit.bash 3 + knit.fish 4 + knit.zsh
+20 -3
Makefile
··· 2 3 PREFIX ?= /usr/local 4 BINDIR = $(PREFIX)/bin 5 6 .PHONY: all build install clean 7 8 - all: build 9 10 build: 11 go build -o $(BINARY_NAME) ./cmd/knit 12 13 install: build 14 - mkdir -p $(BINDIR) 15 - cp $(BINARY_NAME) $(BINDIR)/$(BINARY_NAME) 16 17 clean: 18 rm -f $(BINARY_NAME)
··· 2 3 PREFIX ?= /usr/local 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 8 9 .PHONY: all build install clean 10 11 + all: build completions 12 13 build: 14 go build -o $(BINARY_NAME) ./cmd/knit 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 + 21 install: build 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 30 31 clean: 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 Use: "knit", 18 Short: "knit is a CLI for tangled.sh", 19 } 20 21 root.AddCommand(auth.Command()) 22 root.AddCommand(pr.Command())
··· 17 Use: "knit", 18 Short: "knit is a CLI for tangled.sh", 19 } 20 + root.CompletionOptions.HiddenDefaultCmd = true 21 22 root.AddCommand(auth.Command()) 23 root.AddCommand(pr.Command())