blob: 1d83dab2547544d7fea2855f76c76e4ab0e8f5c4 [file] [log] [blame]
package man
import (
"fmt"
"github.com/alecthomas/kong"
mangokong "github.com/alecthomas/mango-kong"
"github.com/muesli/roff"
)
// Man is a gum sub-command that generates man pages.
type Man struct{}
// BeforeApply implements Kong BeforeApply hook.
func (m Man) BeforeApply(ctx *kong.Context) error {
// Set the correct man pages description without color escape sequences.
ctx.Model.Help = "A tool for glamorous shell scripts."
man := mangokong.NewManPage(1, ctx.Model)
man = man.WithSection("Copyright", "(c) 2022-2024 Charmbracelet, Inc.\n"+
"Released under MIT license.")
_, _ = fmt.Fprint(ctx.Stdout, man.Build(roff.NewDocument()))
ctx.Exit(0)
return nil
}