Source File
command.go
Belonging Package
github.com/reeflective/console
package consoleimport ()const (// CommandFilterKey should be used as a key to in a cobra.Annotation map.// The value will be used as a filter to disable commands when the console// calls the Filter("name") method on the console.// The string value will be comma-splitted, with each split being a filter.CommandFilterKey = "console-hidden")// Commands is a simple function a root cobra command containing an arbitrary tree// of subcommands, along with any behavior parameters normally found in cobra.// This function is used by each menu to produce a new, blank command tree after// each execution run, as well as each command completion invocation.type Commands func() *cobra.Command// SetCommands requires a function returning a tree of cobra commands to be used.func ( *Menu) ( Commands) {.mutex.RLock()defer .mutex.RUnlock().cmds =}// HideCommands - Commands, in addition to their menus, can be shown/hidden based// on a filter string. For example, some commands applying to a Windows host might// be scattered around different groups, but, having all the filter "windows".// If "windows" is used as the argument here, all windows commands for the current// menu are subsequently hidden, until ShowCommands("windows") is called.func ( *Console) ( ...string) {:for , := range {for , := range .filters {if == {continue}}if != "" {.filters = append(.filters, )}}}// ShowCommands - Commands, in addition to their menus, can be shown/hidden based// on a filter string. For example, some commands applying to a Windows host might// be scattered around different groups, but, having all the filter "windows".// Use this function if you have previously called HideCommands("filter") and want// these commands to be available back under their respective menu.func ( *Console) ( ...string) {.mutex.RLock()defer .mutex.RUnlock():= make([]string, 0)if len() == 0 {.filters =return}:for , := range .filters {for , := range {if == {continue}}= append(, )}.filters =}
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |