File: template.go

package info (click to toggle)
kitty 0.45.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 27,468 kB
  • sloc: ansic: 84,285; python: 57,992; objc: 5,432; sh: 1,333; xml: 364; makefile: 144; javascript: 78
file content (113 lines) | stat: -rw-r--r-- 2,408 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
//go:build exclude

// License: GPLv3 Copyright: 2022, Kovid Goyal, <kovid at kovidgoyal.net>

// Code generated by gen-go-code.py; DO NOT EDIT.

package at

import (
	"fmt"
	"strings"
	"time"

	"github.com/kovidgoyal/kitty/tools/cli"
	"github.com/kovidgoyal/kitty/tools/utils"
)

var _ = fmt.Print
var _ = strings.Join

type options_CMD_NAME_type struct {
	OPTIONS_DECLARATION_CODE
}

var options_CMD_NAME options_CMD_NAME_type

type CMD_NAME_json_type struct {
	JSON_DECLARATION_CODE
}

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
	return
}

func create_rc_CMD_NAME(args []string) (*utils.RemoteControlCmd, error) {
	rc := utils.RemoteControlCmd{
		Cmd:        "CLI_NAME",
		Version:    ProtocolVersion,
		NoResponse: NO_RESPONSE_BASE,
		Stream:     STREAM_WANTED,
	}
	if rc.Stream {
		stream_id, err := utils.HumanRandomId(128)
		if err != nil {
			return nil, err
		}
		rc.StreamId = stream_id
	}
	if IS_ASYNC {
		async_id, err := utils.HumanRandomId(128)
		if err != nil {
			return nil, err
		}
		rc.Async = async_id
	}
	return &rc, nil
}

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
	}
	nrv, err := cli.GetOptionValue[bool](cmd, "NoResponse")
	if err == nil {
		rc.NoResponse = nrv
	}
	var timeout float64 = WAIT_TIMEOUT
	rt, err := cli.GetOptionValue[float64](cmd, "ResponseTimeout")
	if err == nil {
		timeout = rt
	}
	io_data := rc_io_data{
		cmd:                    cmd,
		rc:                     rc,
		timeout:                time.Duration(timeout * float64(time.Second)),
		string_response_is_err: STRING_RESPONSE_IS_ERROR,
	}
	err = create_payload_CMD_NAME(&io_data, cmd, args)
	if err != nil {
		return
	}

	err = send_rc_command(&io_data)
	if ee, ok := err.(*exit_error); ok && !running_shell {
		return ee.exit_code, nil
	}
	return
}

func setup_CMD_NAME(parent *cli.Command) *cli.Command {
	ans := parent.AddSubCommand(&cli.Command{
		Name:             "CLI_NAME",
		Usage:            "ARGSPEC",
		ShortDescription: "SHORT_DESC",
		HelpText:         "LONG_DESC",
		Run:              run_CMD_NAME,
	})
	ADD_FLAGS_CODE
	return ans
}

func init() {
	register_at_cmd(setup_CMD_NAME)
}