123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- package main
- import (
- "fmt"
- "git.swzry.com/zry/go-hhc-cli/hhc_ast"
- "git.swzry.com/zry/go-hhc-cli/hhc_common"
- "github.com/cheynewallace/tabby"
- )
- func PrintHelp(h []hhc_common.SDTHelpInfo) {
- t := tabby.New()
- for i, v := range h {
- t.AddLine(i, v.IsArg, v.Name, v.Description)
- }
- t.Print()
- }
- func main() {
- tree := maketree()
- if tree == nil {
- fmt.Println("Failed Make Test Tree")
- return
- }
- walker := hhc_ast.NewSDTWalker(tree)
- TypeAndHelp(walker, "")
- TypeAndHelp(walker, "i")
- TypeAndHelp(walker, "ip")
- WalkIn(walker, "ip")
- TypeAndHelp(walker, "m")
- WalkIn(walker, "mtu")
- WalkBack(walker)
- TypeAndHelp(walker, "a")
- WalkIn(walker, "addr")
- TypeAndHelp(walker, "192.")
- TypeAndHelp(walker, "192.168")
- WalkIn(walker, "192.168.114.114")
- TypeAndHelp(walker, "")
- TypeAndHelp(walker, "255.")
- TypeAndHelp(walker, "255.255")
- WalkIn(walker, "255.255.255.0")
- TypeAndHelp(walker, "")
- WalkBack(walker)
- TypeAndHelp(walker, "24")
- WalkIn(walker, "24")
- WalkIn(walker, "sub")
- TypeAndHelp(walker, "")
- TypeAndHelp(walker, "test")
- WalkIn(walker, "test1")
- WalkIn(walker, "test2")
- WalkIn(walker, "test3")
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- TypeAndHelp(walker, "")
- TypeAndHelp(walker, "dh")
- WalkIn(walker, "dh")
- WalkBack(walker)
- TypeAndHelp(walker, "")
- WalkIn(walker, "u")
- WalkIn(walker, "int")
- WalkIn(walker, "vl")
- WalkIn(walker, "1000")
- WalkBack(walker)
- WalkBack(walker)
- WalkIn(walker, "lo")
- WalkIn(walker, "9")
- WalkBack(walker)
- WalkIn(walker, "6")
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkBack(walker)
- WalkIn(walker, "ipv")
- }
- func TypeAndHelp(walker *hhc_ast.SDTWalker, token string) {
- println("[H9C]" + CtxToCommand(walker.GetContext()) + token + "?")
- if walker.HasError() {
- println(" % " + walker.GetError().FES())
- return
- }
- PrintHelp(walker.GetHelps(token))
- }
- func WalkIn(walker *hhc_ast.SDTWalker, token string) {
- walker.NextStep(token)
- println("[H9C]" + CtxToCommand(walker.GetContext()) + " ?")
- if walker.HasError() {
- println(" % " + walker.GetError().FES())
- return
- }
- PrintHelp(walker.GetHelps(""))
- }
- func WalkBack(walker *hhc_ast.SDTWalker) {
- walker.Back()
- println("[H9C]" + CtxToCommand(walker.GetContext()) + " ?")
- if walker.HasError() {
- println(" % " + walker.GetError().FES())
- return
- }
- PrintHelp(walker.GetHelps(""))
- }
|