You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/tempfork/spf13/cobra/gen.go

43 lines
609 B
Go

//go:build gen
package main
import (
"compress/gzip"
"fmt"
"io"
"os"
)
func main() {
for _, name := range []string{"comp.bash", "comp.zsh", "comp.fish", "comp.ps1"} {
err := compress(name)
if err != nil {
fmt.Fprintln(os.Stderr, "compressing "+name+":", err)
os.Exit(1)
}
}
}
func compress(name string) error {
src, err := os.Open(name)
if err != nil {
return err
}
defer src.Close()
dst, err := os.Create(name + ".gz")
if err != nil {
return err
}
defer dst.Close()
z := gzip.NewWriter(dst)
_, err = io.Copy(z, src)
if err != nil {
return err
}
return z.Close()
}