id = "trzsz-go"
name = "trzsz-go"
homepage = "https://github.com/trzsz/trzsz-go"
description = "trzsz-go makes all terminals that support local shell to support trzsz (trz / tsz)."
executables = ["trz", "tsz", "trzsz"]
[dotfiles]
paths = ["~/.trzsz.conf"]
secret = []
[commands]
format = 1
label = "Receive files (trz)"
description = "Run trz on the server to receive files uploaded from a trzsz-capable terminal into a directory. The sending side (tsz), the trzsz wrapper and the tssh client are not covered by this form."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/trzsz/trzsz-go/blob/main/trzsz/comm.go"
revision = "v1.2.0"
evidence = """
Quiet bool `arg:"-q" help:"quiet (hide progress bar)"`
Overwrite bool `arg:"-y" help:"yes, overwrite existing file(s)"`
Binary bool `arg:"-b" help:"binary transfer mode, faster for binary files"`
Escape bool `arg:"-e" help:"escape all known control characters"`
Directory bool `arg:"-d" help:"transfer directories and files"`
Recursive bool `arg:"-r" help:"transfer directories and files, same as -d"`
Bufsize bufferSize `arg:"-B" placeholder:"N" default:"10M" help:"max buffer chunk size (1K<=N<=1G). (default: 10M)"`
Timeout int `arg:"-t" placeholder:"N" default:"20" help:"timeout ( N seconds ) for each buffer chunk.\nN <= 0 means never timeout. (default: 20)"`
Compress compressType `arg:"-c" placeholder:"yes/no/auto" default:"auto" help:"compress type (default: auto)"`
Path string `arg:"positional" default:"." help:"path to save file(s). (default: current directory)"`
"""
[[commands.field]]
id = "path"
label = "Save to"
description = "Directory to save received files in. Defaults to the current directory."
type = "path"
position = 0
path = { kind = "directory", role = "output", must_exist = false }
sources = ["help"]
[[commands.field]]
id = "directory"
label = "Allow directories"
description = "Transfer directories as well as files."
type = "boolean"
option = ["-d"]
sources = ["help"]
[[commands.field]]
id = "overwrite"
label = "Overwrite existing files"
type = "boolean"
option = ["-y"]
effect = "overwrite"
sources = ["help"]
[[commands.field]]
id = "quiet"
label = "Hide progress bar"
type = "boolean"
option = ["-q"]
sources = ["help"]
[[commands.field]]
id = "binary"
label = "Binary mode"
description = "Faster for binary files."
type = "boolean"
option = ["-b"]
sources = ["help"]
[[commands.field]]
id = "escape"
label = "Escape control characters"
type = "boolean"
option = ["-e"]
sources = ["help"]
[[commands.field]]
id = "compress"
label = "Compression"
type = "string"
option = ["-c"]
suggestions = [{ value = "auto", label = "Auto" }, { value = "yes", label = "Yes" }, { value = "no", label = "No" }]
sources = ["help"]
[[commands.field]]
id = "bufsize"
label = "Max buffer chunk size"
description = "Between 1K and 1G, for example 10M."
type = "string"
option = ["-B"]
sources = ["help"]
[[commands.field]]
id = "timeout"
label = "Chunk timeout (seconds)"
description = "0 or less means never time out."
type = "integer"
option = ["-t"]
sources = ["help"]
[[commands.task]]
id = "receive"
label = "Receive into a folder"
fields = ["path", "directory"]
required = ["path"]
set = { directory = [true] }
[[commands.task]]
id = "receive_overwrite"
label = "Receive and overwrite"
fields = ["path", "directory", "overwrite"]
required = ["path"]
set = { directory = [true], overwrite = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["path", "directory", "overwrite"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["quiet", "binary", "escape", "compress", "bufsize", "timeout"]