Fixes help to take an optional action as a value to get syntax for a given command

pull/195/head
sloum 2 years ago
parent 7dc68a18bf
commit 89095351a8
  1. 10
      client.go
  2. 4
      cmdparse/parser.go
  3. 4
      help.go

@ -344,7 +344,7 @@ func (c *client) simpleCommand(action string) {
case "SEARCH":
c.search("", "", "?")
case "HELP", "?":
go c.Visit(helplocation)
c.Visit(helplocation)
default:
c.SetMessage(syntaxErrorMessage(action), true)
c.DrawMessage()
@ -356,6 +356,14 @@ func (c *client) doCommand(action string, values []string) {
case "C", "CHECK":
c.displayConfigValue(values[0])
c.DrawMessage()
case "HELP", "?":
if val, ok := ERRS[values[0]]; ok {
c.SetMessage(val, false)
} else {
msg := fmt.Sprintf("%q is not a valid command; help syntax: %s", values[0], ERRS[action])
c.SetMessage(msg, false)
}
c.DrawMessage()
case "PURGE", "P":
err := c.Certs.Purge(values[0])
if err != nil {

@ -94,10 +94,10 @@ func (p *Parser) parseAction() (*Command, error) {
case Value:
cm.Target = t.val
cm.Type = DOLINK
case Word:
case Word, Action:
cm.Value = append(cm.Value, t.val)
cm.Type = DO
case Action, Whitespace:
case Whitespace:
return nil, fmt.Errorf("Found %q (%d), expected value", t.val, t.kind)
}
t = p.scan()

@ -23,6 +23,6 @@ var ERRS = map[string]string{
"SET": "`set [setting] [value]`",
"W": "`w [target]`",
"WRITE": "`write [target]`",
"?": "`?`",
"HELP": "`help`",
"?": "`? [[command]]`",
"HELP": "`help [[command]]`",
}

Loading…
Cancel
Save