help: add completions

Add :help completion arguments (config, imap, etc). The option "aerc"
brings up the general manpage

Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Koni Marti <koni.marti@gmail.com>
This commit is contained in:
Tim Culverhouse 2022-05-19 18:44:37 -05:00 committed by Robin Jarry
parent 321593d138
commit f4d4e2b4e1
1 changed files with 15 additions and 2 deletions

View File

@ -8,6 +8,19 @@ import (
type Help struct{} type Help struct{}
var pages = []string{
"aerc",
"config",
"imap",
"notmuch",
"search",
"sendmail",
"smtp",
"stylesets",
"templates",
"tutorial",
}
func init() { func init() {
register(Help{}) register(Help{})
} }
@ -17,12 +30,12 @@ func (Help) Aliases() []string {
} }
func (Help) Complete(aerc *widgets.Aerc, args []string) []string { func (Help) Complete(aerc *widgets.Aerc, args []string) []string {
return nil return CompletionFromList(aerc, pages, args)
} }
func (Help) Execute(aerc *widgets.Aerc, args []string) error { func (Help) Execute(aerc *widgets.Aerc, args []string) error {
page := "aerc" page := "aerc"
if len(args) == 2 { if len(args) == 2 && args[1] != "aerc" {
page = "aerc-" + args[1] page = "aerc-" + args[1]
} else if len(args) > 2 { } else if len(args) > 2 {
return errors.New("Usage: help [topic]") return errors.New("Usage: help [topic]")