Get rid of the cobra dependency

This commit is contained in:
Kovid Goyal
2022-09-25 12:23:52 +05:30
parent cbc569af64
commit 4396dede85
13 changed files with 154 additions and 493 deletions

View File

@@ -2,7 +2,7 @@
// License: GPLv3 Copyright: 2022, Kovid Goyal, <kovid at kovidgoyal.net>
// this file is autogenerated by __FILE__ do not edit
// Code generated by gen-go-code.py; DO NOT EDIT.
package at
@@ -11,9 +11,6 @@ import (
"strings"
"time"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
"kitty/tools/cli"
"kitty/tools/utils"
)
@@ -31,7 +28,7 @@ type CMD_NAME_json_type struct {
JSON_DECLARATION_CODE
}
func create_payload_CMD_NAME(io_data *rc_io_data, flags *pflag.FlagSet, args []string) (err error) {
func create_payload_CMD_NAME(io_data *rc_io_data, cmd *cli.Command, args []string) (err error) {
payload := CMD_NAME_json_type{}
JSON_INIT_CODE
io_data.rc.Payload = payload
@@ -62,19 +59,22 @@ func create_rc_CMD_NAME(args []string) (*utils.RemoteControlCmd, error) {
return &rc, nil
}
func run_CMD_NAME(cmd *cobra.Command, args []string) (err error) {
SET_OPTION_VALUES_CODE
func run_CMD_NAME(cmd *cli.Command, args []string) (return_code int, err error) {
err = cmd.GetOptionValues(&options_CMD_NAME)
if err != nil {
return
}
rc, err := create_rc_CMD_NAME(args)
if err != nil {
return err
return
}
nrv, err := cmd.Flags().GetBool("no-response")
nrv, err := cli.GetOptionValue[bool](cmd, "NoResponse")
if err == nil {
rc.NoResponse = nrv
}
var timeout float64 = WAIT_TIMEOUT
rt, err := cmd.Flags().GetFloat64("response-timeout")
rt, err := cli.GetOptionValue[float64](cmd, "ResponseTimeout")
if err == nil {
timeout = rt
}
@@ -84,31 +84,22 @@ func run_CMD_NAME(cmd *cobra.Command, args []string) (err error) {
timeout: time.Duration(timeout * float64(time.Second)),
string_response_is_err: STRING_RESPONSE_IS_ERROR,
}
err = create_payload_CMD_NAME(&io_data, cmd.Flags(), args)
err = create_payload_CMD_NAME(&io_data, cmd, args)
if err != nil {
return err
return
}
err = send_rc_command(&io_data)
return
}
func aliasNormalizeFunc_CMD_NAME(f *pflag.FlagSet, name string) pflag.NormalizedName {
name = cli.FlagNormalizer(name)
ALIAS_NORMALIZE_CODE
return pflag.NormalizedName(name)
}
func setup_CMD_NAME(root *cobra.Command) *cobra.Command {
ans := cli.CreateCommand(&cobra.Command{
Use: "CLI_NAME [options]" + "ARGSPEC",
Short: "SHORT_DESC",
Long: "LONG_DESC",
RunE: run_CMD_NAME,
})
func setup_CMD_NAME(parent *cli.Command) *cli.Command {
ans := parent.AddSubCommand("", "CMD_NAME")
ans.Usage = "ARGSPEC"
ans.ShortDescription = "SHORT_DESC"
ans.HelpText = "LONG_DESC"
ans.Run = run_CMD_NAME
ADD_FLAGS_CODE
ans.Flags().SetNormalizeFunc(aliasNormalizeFunc_CMD_NAME)
return ans
}