mirror of
https://github.com/bettercap/bettercap
synced 2025-08-14 02:36:57 -07:00
fix: fixed help menu padding
This commit is contained in:
parent
8343bf7030
commit
3c400d2905
2 changed files with 45 additions and 29 deletions
|
@ -48,7 +48,6 @@ type Session struct {
|
|||
|
||||
CoreHandlers []CommandHandler `json:"-"`
|
||||
Modules []Module `json:"-"`
|
||||
HelpPadding int `json:"-"`
|
||||
|
||||
Events *EventPool `json:"-"`
|
||||
}
|
||||
|
@ -128,9 +127,7 @@ func New() (*Session, error) {
|
|||
|
||||
CoreHandlers: make([]CommandHandler, 0),
|
||||
Modules: make([]Module, 0),
|
||||
HelpPadding: 0,
|
||||
|
||||
Events: nil,
|
||||
Events: nil,
|
||||
}
|
||||
|
||||
if s.Options, err = core.ParseOptions(); err != nil {
|
||||
|
@ -269,19 +266,6 @@ func (s *Session) Close() {
|
|||
|
||||
func (s *Session) Register(mod Module) error {
|
||||
s.Modules = append(s.Modules, mod)
|
||||
|
||||
for _, h := range mod.Handlers() {
|
||||
if len(h.Name) > s.HelpPadding {
|
||||
s.HelpPadding = len(h.Name)
|
||||
}
|
||||
}
|
||||
|
||||
for _, p := range mod.Parameters() {
|
||||
if len(p.Name) > s.HelpPadding {
|
||||
s.HelpPadding = len(p.Name)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -21,12 +21,30 @@ func (s *Session) helpHandler(args []string, sess *Session) error {
|
|||
|
||||
if filter == "" {
|
||||
fmt.Println()
|
||||
fmt.Printf(core.Bold("MAIN COMMANDS\n\n"))
|
||||
|
||||
maxLen := 0
|
||||
for _, h := range s.CoreHandlers {
|
||||
fmt.Printf(" "+core.Yellow("%"+strconv.Itoa(s.HelpPadding)+"s")+" : %s\n", h.Name, h.Description)
|
||||
len := len(h.Name)
|
||||
if len > maxLen {
|
||||
maxLen = len
|
||||
}
|
||||
}
|
||||
pad := "%" + strconv.Itoa(maxLen) + "s"
|
||||
|
||||
for _, h := range s.CoreHandlers {
|
||||
fmt.Printf(" "+core.Yellow(pad)+" : %s\n", h.Name, h.Description)
|
||||
}
|
||||
|
||||
fmt.Printf(core.Bold("\nMODULES\n"))
|
||||
fmt.Printf(core.Bold("\nModules\n\n"))
|
||||
|
||||
maxLen = 0
|
||||
for _, m := range s.Modules {
|
||||
len := len(m.Name())
|
||||
if len > maxLen {
|
||||
maxLen = len
|
||||
}
|
||||
}
|
||||
pad = "%" + strconv.Itoa(maxLen) + "s"
|
||||
|
||||
for _, m := range s.Modules {
|
||||
status := ""
|
||||
|
@ -35,7 +53,7 @@ func (s *Session) helpHandler(args []string, sess *Session) error {
|
|||
} else {
|
||||
status = core.Red("not running")
|
||||
}
|
||||
fmt.Printf(" "+core.Yellow("%"+strconv.Itoa(s.HelpPadding)+"s")+" > %s\n", m.Name(), status)
|
||||
fmt.Printf(" "+core.Yellow(pad)+" > %s\n", m.Name(), status)
|
||||
}
|
||||
|
||||
fmt.Println()
|
||||
|
@ -54,15 +72,33 @@ func (s *Session) helpHandler(args []string, sess *Session) error {
|
|||
status = core.Red("not running")
|
||||
}
|
||||
fmt.Printf("%s (%s): %s\n\n", core.Yellow(m.Name()), status, core.Dim(m.Description()))
|
||||
for _, h := range m.Handlers() {
|
||||
fmt.Printf(h.Help(s.HelpPadding))
|
||||
|
||||
maxLen := 0
|
||||
handlers := m.Handlers()
|
||||
for _, h := range handlers {
|
||||
len := len(h.Name)
|
||||
if len > maxLen {
|
||||
maxLen = len
|
||||
}
|
||||
}
|
||||
|
||||
for _, h := range handlers {
|
||||
fmt.Printf(h.Help(maxLen))
|
||||
}
|
||||
|
||||
params := m.Parameters()
|
||||
if len(params) > 0 {
|
||||
fmt.Printf("\n Parameters\n\n")
|
||||
maxLen := 0
|
||||
for _, h := range params {
|
||||
len := len(h.Name)
|
||||
if len > maxLen {
|
||||
maxLen = len
|
||||
}
|
||||
}
|
||||
|
||||
for _, p := range params {
|
||||
fmt.Printf(p.Help(s.HelpPadding))
|
||||
fmt.Printf(p.Help(maxLen))
|
||||
}
|
||||
fmt.Println()
|
||||
}
|
||||
|
@ -83,8 +119,7 @@ func (s *Session) activeHandler(args []string, sess *Session) error {
|
|||
fmt.Println()
|
||||
for _, p := range params {
|
||||
_, val := s.Env.Get(p.Name)
|
||||
fmt.Printf(" "+core.YELLOW+"%"+strconv.Itoa(s.HelpPadding)+"s"+core.RESET+
|
||||
" : %s\n", p.Name, val)
|
||||
fmt.Printf(" %s : %s\n", core.Yellow(p.Name), val)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -196,9 +231,6 @@ func (s *Session) aliasHandler(args []string, sess *Session) error {
|
|||
func (s *Session) addHandler(h CommandHandler, c *readline.PrefixCompleter) {
|
||||
h.Completer = c
|
||||
s.CoreHandlers = append(s.CoreHandlers, h)
|
||||
if len(h.Name) > s.HelpPadding {
|
||||
s.HelpPadding = len(h.Name)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Session) registerCoreHandlers() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue