Help us shape the future of Go! Take the 2026 Go Developer Survey

cli

package
v1.4.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2026 License: MIT Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Execute

func Execute() error

Execute runs the root command.

func RootForDump added in v1.3.15

func RootForDump() *cobra.Command

RootForDump returns the fully-populated root command so dev tooling (the internal/cmd/skilldoc generator/validator) can build the command dump in-process, without shelling out to `flashduty __dump-commands`.

func SetVersionInfo

func SetVersionInfo(version, commit, date string)

SetVersionInfo sets build-time version info from ldflags.

Types

type RunContext

type RunContext struct {
	Client  *flashduty.Client
	Cmd     *cobra.Command
	Args    []string
	Writer  io.Writer
	Printer output.Printer
	Format  output.Format
}

RunContext provides helpers for command execution. It is created by runCommand and passed to the command's handler function. Client is the typed go-flashduty SDK every command calls through.

func (*RunContext) PrintList

func (ctx *RunContext) PrintList(items any, cols []output.Column, count, page, limit, total int) error

PrintList prints items as a table and appends a "Showing N results (page P, total T)." footer. In structured mode the footer is suppressed to keep stdout byte-pure for jq/toon pipelines, so a page with more rows beyond it is announced on stderr instead — without it a consumer sees a partial page (e.g. the default --limit 20 of a far larger total) as the whole set. The judgment accounts for the page offset: on the last page ((page-1)*limit+count reaches total) there is no rest, so no note.

func (*RunContext) PrintTotal

func (ctx *RunContext) PrintTotal(items any, cols []output.Column, total int) error

PrintTotal prints items as a table and appends a "Total: N" footer.

func (*RunContext) Structured added in v1.3.1

func (ctx *RunContext) Structured() bool

Structured reports whether output should be a machine-readable dump (JSON or TOON) rather than the human table/detail view. Command handlers branch on this to suppress detail views, footers, and interactive prompts.

func (*RunContext) WriteRaw added in v1.3.4

func (ctx *RunContext) WriteRaw(body []byte) error

WriteRaw writes a non-JSON response body (e.g. a CSV/file download surfaced on Response.Raw by the *export endpoints) straight to the output writer, so shell redirection (`> file.csv`) captures the bytes verbatim instead of the canned "OK: POST ..." acknowledgment.

func (*RunContext) WriteResult

func (ctx *RunContext) WriteResult(message string)

WriteResult prints a success message as plain text or JSON.

func (*RunContext) WriteResultJSON added in v1.1.0

func (ctx *RunContext) WriteResultJSON(data any, humanMessage string) error

WriteResultJSON outputs structured data in JSON or TOON mode, or a human-readable message in table mode. JSON stays indented (byte-compatible with the legacy --json path); TOON routes through the SDK marshaller.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL