From e250c8b7b4bb3d022430d95e46607c15c6bf181b Mon Sep 17 00:00:00 2001 From: rwxrob Date: Wed, 30 Mar 2022 15:32:06 -0400 Subject: [PATCH] Add example of multicall binary mode --- go.go | 20 +++++++++++++++++++- go.mod | 6 +++--- go.sum | 8 ++++++++ main.go | 25 +++++++++++++++++++++++-- 4 files changed, 53 insertions(+), 6 deletions(-) diff --git a/go.go b/go.go index edc6d12..f8451f4 100644 --- a/go.go +++ b/go.go @@ -1,8 +1,10 @@ package main import ( + "fmt" "log" "os" + "strings" Z "github.com/rwxrob/bonzai" "github.com/rwxrob/bonzai/inc/help" @@ -12,8 +14,9 @@ import ( var golang = &Z.Cmd{ Name: `go`, Summary: `go related helper actions`, + Aliases: []string{"rust"}, MinArgs: 1, - Commands: []*Z.Cmd{help.Cmd, gowork}, + Commands: []*Z.Cmd{help.Cmd, gowork, genisrune}, } var gowork = &Z.Cmd{ @@ -41,3 +44,18 @@ var gowork = &Z.Cmd{ return nil }, } + +var genisrune = &Z.Cmd{ + Name: `genisrune`, + Summary: `generate a performant rune check condition`, + Commands: []*Z.Cmd{help.Cmd}, + MinArgs: 1, + Call: func(x *Z.Cmd, args ...string) error { + var conds []string + for _, r := range args[0] { + conds = append(conds, fmt.Sprintf("r==%q", r)) + } + fmt.Println(strings.Join(conds, "||")) + return nil + }, +} diff --git a/go.mod b/go.mod index d1fd80c..0c279fd 100644 --- a/go.mod +++ b/go.mod @@ -3,10 +3,10 @@ module github.com/rwxrob/z go 1.18 require ( - github.com/rwxrob/bonzai v0.0.37 + github.com/rwxrob/bonzai v0.0.39 github.com/rwxrob/config v0.3.1 github.com/rwxrob/fs v0.4.3 - github.com/rwxrob/twitch v0.2.2 + github.com/rwxrob/twitch v0.2.3 github.com/rwxrob/y2j v0.3.1 github.com/rwxrob/yq v0.2.0 ) @@ -25,7 +25,7 @@ require ( github.com/rwxrob/fn v0.3.0 // indirect github.com/rwxrob/json v0.4.1 // indirect github.com/rwxrob/structs v0.5.0 // indirect - github.com/rwxrob/term v0.1.4 // indirect + github.com/rwxrob/term v0.1.5 // indirect github.com/rwxrob/to v0.2.1 // indirect github.com/timtadh/data-structures v0.5.3 // indirect github.com/timtadh/lexmachine v0.2.2 // indirect diff --git a/go.sum b/go.sum index 6b374e8..6660cd9 100644 --- a/go.sum +++ b/go.sum @@ -47,6 +47,10 @@ github.com/rwxrob/bonzai v0.0.36 h1:+DW6cnxM9deUBA3gj04iyM4UP3HoRduiwHFNBPPjmCA= github.com/rwxrob/bonzai v0.0.36/go.mod h1:PyKG44H68o3DZ2Xh6ouViGW9IAbYZVw0OYqLMdCM1RI= github.com/rwxrob/bonzai v0.0.37 h1:fRycoZEaJQIp6EfK3//97e+T2gOIWdyzOxhLeKhUc8Q= github.com/rwxrob/bonzai v0.0.37/go.mod h1:PyKG44H68o3DZ2Xh6ouViGW9IAbYZVw0OYqLMdCM1RI= +github.com/rwxrob/bonzai v0.0.38 h1:xj6hC/2fzfizezlfoLwbMTRzCnKcqAPd5mAlwu6HTnI= +github.com/rwxrob/bonzai v0.0.38/go.mod h1:PyKG44H68o3DZ2Xh6ouViGW9IAbYZVw0OYqLMdCM1RI= +github.com/rwxrob/bonzai v0.0.39 h1:EJ1aVVVwnm4mdPKJEeCLI3wVttgbD8ulggXKZiwEO4w= +github.com/rwxrob/bonzai v0.0.39/go.mod h1:PyKG44H68o3DZ2Xh6ouViGW9IAbYZVw0OYqLMdCM1RI= github.com/rwxrob/config v0.2.1 h1:W53hExSNj2PtRRTuRXklruzVuOZ9LB8SDo9MC0qRiXQ= github.com/rwxrob/config v0.2.1/go.mod h1:I2Diy79ZQPlanERtvt4VCSvW3jyCHeJ0JXksJMAz8xY= github.com/rwxrob/config v0.3.0 h1:s6YQ82+lTKzi/YZRN0PmHOGf8GQXGtGy1ZwOzcfsmyk= @@ -77,6 +81,8 @@ github.com/rwxrob/term v0.1.3 h1:B0tu8VyOq9RjSOJd7rHtCQ80E2IIWe3Gc67NJ3tIDhI= github.com/rwxrob/term v0.1.3/go.mod h1:IVE7hG+VQlM4R+kS4pY6uhfMHoG0QECrZF7d7bKcdsk= github.com/rwxrob/term v0.1.4 h1:E49nmDAd7rwfjhled17RapP6RJP6T3a0NGIdW44WVAU= github.com/rwxrob/term v0.1.4/go.mod h1:IVE7hG+VQlM4R+kS4pY6uhfMHoG0QECrZF7d7bKcdsk= +github.com/rwxrob/term v0.1.5 h1:jKvNgEYlsT6sLRqIuR9ITcNNh4woGkWxcAe71pPJReQ= +github.com/rwxrob/term v0.1.5/go.mod h1:IVE7hG+VQlM4R+kS4pY6uhfMHoG0QECrZF7d7bKcdsk= github.com/rwxrob/to v0.2.1 h1:ZYBNEa8LJT5VDQUHm2wSwiRf61xSqU87UqbYvitV3eY= github.com/rwxrob/to v0.2.1/go.mod h1:8qdgCWkh50Avs8sRpV6/P7lAQgVf3KLRSKMZahV/W48= github.com/rwxrob/twitch v0.1.0 h1:XT7pXdCGsxE8ndhASgTd6roGRsFjsgHsDXDDgLgfSYQ= @@ -89,6 +95,8 @@ github.com/rwxrob/twitch v0.2.1 h1:kT+eic0a/QOdvs7ByhoGEC/eJBcurgu2i5+TdCU5k5g= github.com/rwxrob/twitch v0.2.1/go.mod h1:aqAne9uW0iuy/fJfuuZdrGMINt6dX/EyrywzH4IvSpU= github.com/rwxrob/twitch v0.2.2 h1:b0rzpu1ySejOADZTYw8hJFtyfNtklPV7xsh+SQM/UGs= github.com/rwxrob/twitch v0.2.2/go.mod h1:aqAne9uW0iuy/fJfuuZdrGMINt6dX/EyrywzH4IvSpU= +github.com/rwxrob/twitch v0.2.3 h1:xLdKcUqxYkUe23LS/hYlIa5CFN3K7XEk7XYwpWHqjTQ= +github.com/rwxrob/twitch v0.2.3/go.mod h1:aqAne9uW0iuy/fJfuuZdrGMINt6dX/EyrywzH4IvSpU= github.com/rwxrob/y2j v0.3.0 h1:iaYmvRJVi9EMFlA0VSrLZiHXzUqDNOyTkGyjBqR4ZA0= github.com/rwxrob/y2j v0.3.0/go.mod h1:/3eS+LPnOF1F2VfoqZr3Upkr8q4ByziAi3eB6FIgzoE= github.com/rwxrob/y2j v0.3.1 h1:qOCU7J6g0Q/7KlLAabCMLx6/wG1/NelG6QTOVpESAQg= diff --git a/main.go b/main.go index 7b3dbb7..4294f79 100644 --- a/main.go +++ b/main.go @@ -3,7 +3,6 @@ package main import ( "log" - "github.com/rwxrob/bonzai" Z "github.com/rwxrob/bonzai" "github.com/rwxrob/bonzai/inc/help" "github.com/rwxrob/config" @@ -14,14 +13,36 @@ import ( func main() { log.SetFlags(0) - bonzai.Aliases = map[string][]string{ + + // can run in multicall, or monolith, not both + + /* + + // MULTICALL (status, afk, etc. linked) + // (no completion unless set for individual commands) + // (requires creation of hard/sym links or copies) + Z.Commands = map[string][]any{ + // "config": {config.Cmd}, // bork cuz no multicall mode + "yq": {yq.Cmd}, + "y2j": {y2j.Cmd}, + "status": {tmux, "update"}, + "afk": {twitch.Cmd, "chat", "!afk"}, + } + Z.Run() + + */ + + // MONOLITH (z) - which I prefer + Z.Aliases = map[string][]string{ "status": {"tmux", "update"}, "project": {"twitch", "bot", "commands", "edit", "project"}, "commands": {"twitch", "bot", "commands"}, "work": {"go", "work"}, "chat": {"twitch", "chat"}, + "afk": {"twitch", "chat", "!afk"}, } Cmd.Run() + } var Cmd = &Z.Cmd{