Use a single wrapper binary for all command line tools

This is because Go has a multi megabyte overhead for its binaries
This commit is contained in:
Kovid Goyal
2022-08-15 08:16:00 +05:30
parent abaafc2d68
commit aaf0dea8dc
5 changed files with 60 additions and 36 deletions

25
tools/cmd/main.go Normal file
View File

@@ -0,0 +1,25 @@
package main
import (
"fmt"
"os"
"github.com/spf13/cobra"
"kitty/tools/cli"
"kitty/tools/cmd/at"
)
func main() {
var root = cli.CreateCommand(&cobra.Command{
Use: "kitty-tool command [command options] [command args]",
Short: "Fast, statically compiled implementations for various kitty command-line tools",
})
root.AddCommand(at.EntryPoint(root))
cli.Init(root)
if err := root.Execute(); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}