Command parse compound
This commit is contained in:
@ -1,63 +1,32 @@
|
||||
package command
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"log"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestRoot_Run(t *testing.T) {
|
||||
handleFunc := func(args []ParsedData) error {
|
||||
log.Printf("Command: args: %v", args)
|
||||
return nil
|
||||
}
|
||||
g := NewGraph()
|
||||
g.AppendLiteral(g.Literal("whitelist").
|
||||
AppendLiteral(g.Literal("add").
|
||||
AppendArgument(g.Argument("targets", StringParser(0)).
|
||||
HandleFunc(func(args []ParsedData) error {
|
||||
t.Logf("whitelist add: %v", args)
|
||||
return nil
|
||||
})).Unhandle()).
|
||||
AppendLiteral(g.Literal("remove").
|
||||
AppendArgument(g.Argument("targets", StringParser(0)).
|
||||
HandleFunc(func(args []ParsedData) error {
|
||||
t.Logf("whitelist remove: %v", args)
|
||||
return nil
|
||||
})).Unhandle()).
|
||||
AppendLiteral(g.Literal("on").
|
||||
HandleFunc(func(args []ParsedData) error {
|
||||
t.Logf("whitelist on: %v", args)
|
||||
return nil
|
||||
})).
|
||||
AppendLiteral(g.Literal("off").
|
||||
HandleFunc(func(args []ParsedData) error {
|
||||
t.Logf("whitelist off: %v", args)
|
||||
return nil
|
||||
})).
|
||||
g.AppendLiteral(g.Literal("me").
|
||||
AppendArgument(g.Argument("action", StringParser(2)).
|
||||
HandleFunc(handleFunc)).
|
||||
Unhandle(),
|
||||
).AppendLiteral(g.Literal("help").
|
||||
AppendArgument(g.Argument("command", StringParser(0)).
|
||||
HandleFunc(handleFunc)).
|
||||
HandleFunc(handleFunc),
|
||||
).AppendLiteral(g.Literal("list").
|
||||
AppendLiteral(g.Literal("uuids").
|
||||
HandleFunc(handleFunc)).
|
||||
HandleFunc(handleFunc),
|
||||
)
|
||||
|
||||
targetB := g.Argument("targetB", StringParser(0)).
|
||||
HandleFunc(func(args []ParsedData) error {
|
||||
t.Logf("tp A <from/to> B parsed: %v", args)
|
||||
return nil
|
||||
})
|
||||
g.AppendLiteral(g.Literal("tp").AppendArgument(
|
||||
g.Argument("targetA", StringParser(0)).
|
||||
AppendLiteral(g.Literal("from").
|
||||
AppendArgument(targetB).
|
||||
Unhandle()).
|
||||
AppendLiteral(g.Literal("to").
|
||||
AppendArgument(targetB).
|
||||
Unhandle()).
|
||||
Unhandle(),
|
||||
).Unhandle())
|
||||
|
||||
err := g.Run("tp Tnze to Xi_Xi_Mi")
|
||||
err := g.Run("me Tnze Xi_Xi_Mi")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
//g2 := NewGraph()
|
||||
//g2.Then(
|
||||
// g.Lite("whitelist").Then(
|
||||
// // using reflect to generate all arguments nodes
|
||||
// g.Lite("add").Then(g.Func(func(player GameProfile) {
|
||||
//
|
||||
// })),
|
||||
// ),
|
||||
//)
|
||||
}
|
||||
|
Reference in New Issue
Block a user