get variable name accepts wildcard (get api*)

This commit is contained in:
tonjo 2018-03-03 01:09:34 +01:00
commit 20b6d8eef8

View file

@ -153,23 +153,27 @@ func (s *Session) sleepHandler(args []string, sess *Session) error {
func (s *Session) getHandler(args []string, sess *Session) error {
key := args[0]
if key == "*" {
if strings.Contains(key, "*") {
prev_ns := ""
fmt.Println()
last := len(key) - 1
prefix := key[:last]
for _, k := range s.Env.Sorted() {
ns := ""
toks := strings.Split(k, ".")
if len(toks) > 0 {
ns = toks[0]
}
if strings.HasPrefix(k, prefix) {
ns := ""
toks := strings.Split(k, ".")
if len(toks) > 0 {
ns = toks[0]
}
if ns != prev_ns {
fmt.Println()
prev_ns = ns
}
if ns != prev_ns {
fmt.Println()
prev_ns = ns
}
fmt.Printf(" %"+strconv.Itoa(s.Env.Padding)+"s: '%s'\n", k, s.Env.Data[k])
fmt.Printf(" %"+strconv.Itoa(s.Env.Padding)+"s: '%s'\n", k, s.Env.Data[k])
}
}
fmt.Println()
} else if found, value := s.Env.Get(key); found == true {