cli #1
1
go.mod
1
go.mod
@ -5,6 +5,7 @@ go 1.24.2
|
||||
require github.com/labstack/echo/v4 v4.13.4
|
||||
|
||||
require (
|
||||
github.com/TwiN/go-color v1.4.1 // indirect
|
||||
github.com/labstack/gommon v0.4.2 // indirect
|
||||
github.com/mattn/go-colorable v0.1.14 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
|
2
go.sum
2
go.sum
@ -1,5 +1,7 @@
|
||||
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
|
||||
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||
github.com/TwiN/go-color v1.4.1 h1:mqG0P/KBgHKVqmtL5ye7K0/Gr4l6hTksPgTgMk3mUzc=
|
||||
github.com/TwiN/go-color v1.4.1/go.mod h1:WcPf/jtiW95WBIsEeY1Lc/b8aaWoiqQpu5cf8WFxu+s=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/kirsle/configdir v0.0.0-20170128060238-e45d2f54772f h1:dKccXx7xA56UNqOcFIbuqFjAWPVtP688j5QMgmo6OHU=
|
||||
|
@ -4,6 +4,8 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/TwiN/go-color"
|
||||
)
|
||||
|
||||
type ProgramFunction func() error
|
||||
@ -21,7 +23,7 @@ type Argument struct {
|
||||
}
|
||||
|
||||
var HelpHeader = `This is the help page of transfem-startpage.
|
||||
transfem-startpage {program} {...args}
|
||||
` + color.Bold + `transfem-startpage {program} {...args}` + color.Reset + `
|
||||
The following Programs are available:`
|
||||
var Programs = []Program{
|
||||
{
|
||||
|
@ -3,13 +3,42 @@ package cli
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/TwiN/go-color"
|
||||
)
|
||||
|
||||
func padString(s string, n int) string {
|
||||
missing := n - len(s)
|
||||
if missing <= 0 {
|
||||
return s
|
||||
}
|
||||
|
||||
for _ = range missing {
|
||||
s = s + " "
|
||||
}
|
||||
|
||||
return s
|
||||
}
|
||||
|
||||
func generalHelp() error {
|
||||
fmt.Println()
|
||||
fmt.Println(HelpHeader)
|
||||
fmt.Println()
|
||||
|
||||
for _, p := range Programs {
|
||||
fmt.Println(" - " + p.Name + ":\t" + p.ShortDescription)
|
||||
fmt.Print(color.Bold + padString(p.Name, 7) + color.Reset)
|
||||
|
||||
argumentString := color.Purple
|
||||
for _, a := range p.Arguments {
|
||||
requiredString := ""
|
||||
if a.Required {
|
||||
requiredString = "*"
|
||||
}
|
||||
argumentString = argumentString + " [" + requiredString + a.Name + ":" + a.Type + "]"
|
||||
}
|
||||
argumentString = argumentString + color.Reset
|
||||
|
||||
fmt.Print(padString(argumentString, 40) + p.ShortDescription + "\n")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user