42 lines
957 B
Go
42 lines
957 B
Go
package commands
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/spf13/cobra"
|
|
"github.com/tendermint/basecoin/types"
|
|
)
|
|
|
|
type plugin struct {
|
|
name string
|
|
newPlugin func() types.Plugin
|
|
}
|
|
|
|
var plugins = []plugin{}
|
|
|
|
// RegisterStartPlugin is used to enable a plugin
|
|
func RegisterStartPlugin(name string, newPlugin func() types.Plugin) {
|
|
plugins = append(plugins, plugin{name: name, newPlugin: newPlugin})
|
|
}
|
|
|
|
// Register a subcommand of QueryCmd for plugin specific query functionality
|
|
func RegisterQuerySubcommand(cmd *cobra.Command) {
|
|
QueryCmd.AddCommand(cmd)
|
|
}
|
|
|
|
// Register a subcommand of TxCmd to craft transactions for plugins
|
|
func RegisterTxSubcommand(cmd *cobra.Command) {
|
|
TxCmd.AddCommand(cmd)
|
|
}
|
|
|
|
//Returns a version command based on version input
|
|
func QuickVersionCmd(version string) *cobra.Command {
|
|
return &cobra.Command{
|
|
Use: "version",
|
|
Short: "Show version info",
|
|
Run: func(cmd *cobra.Command, args []string) {
|
|
fmt.Println(version)
|
|
},
|
|
}
|
|
}
|