help/main.go

60 lines
1.1 KiB
Go

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 init() {
flagIsSet := func(arg string, sfortFlag string) bool {
arg = strings.Split(arg, "=")[0]
if len(arg)>1 {
if arg[0] == "-"[0] && arg[1] != "-"[0] {
return strings.Contains(arg, sfortFlag)
}
}
return false
}
help, err := goFS.ReadFile("help")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
for _, arg := range os.Args {
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)
}