/* * This package isn't the actual termpicker app. * To avoid importing packages which aren't needed at runtime, * some auto-generation functionalities is offloaded to here so * it can be done with access to the rest of the code-base but * without bloating the final binary. For example, * generating bash+zsh auto-completion scripts isn't needed in * the final binary if those script are generated before hand. * Same goes for manpages. This file is meant to be run automatically * to easily package new releases. Same goes for manpages which is the * only feature currently in here. */ package main //go:generate go run . > termpicker.1 import ( _ "embed" "log/slog" "os" "github.com/ChausseBenjamin/termpicker/internal/app" docs "github.com/urfave/cli-docs/v3" ) func main() { // version doesn't show up in the man page... a := app.Command("") man, err := docs.ToManWithSection(a, 1) if err != nil { slog.Error("failed to generate man page", slog.Any("error_message", err), ) os.Exit(1) } os.WriteFile("termpicker.1", []byte(man), 0644) }