package main import ( "fmt" "io/ioutil" "os" markdown "github.com/writeas/go-strip-markdown" ) const helpGOcode = ` //WARNING! DO NOT EDIT THIS FILE BY HAND. IT IS AUTO GENERATED. package main import ( "fmt" "os" "strings" "embed" ) //go:embed help var goFS embed.FS func flagIsSet(arg string, sfortFlag string) bool { if len(arg)>1 { if arg[0] == "-"[0] && arg[1] != "-"[0] { return strings.Contains(arg, sfortFlag) } } return false } func init() { help, err := goFS.ReadFile("help") if err != nil { fmt.Println(err) os.Exit(1) } for _, arg := range os.Args { fmt.Println(flagIsSet(arg, "h")) fmt.Println(arg == "--help") if flagIsSet(arg, "h") || arg == "--help" { fmt.Println(string(help)) os.Exit(0) } } }` func main() { helpMarkDown, err := ioutil.ReadFile(os.Args[1]) if err != nil { fmt.Println(err) os.Exit(0) } helpPlainText := markdown.Strip(string(helpMarkDown)) ioutil.WriteFile("help", []byte(helpPlainText), 0644) ioutil.WriteFile("help.go", []byte(helpGOcode), 0644) }