output

package
v0.5.0-rc2 Latest Latest
Warning

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

Go to latest
Published: May 22, 2023 License: Apache-2.0 Imports: 10 Imported by: 8

Documentation

Overview

Package output implements a printer used to output the messages. It is based on the pterm library and is extensible.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExitOnErr

func ExitOnErr(p *Printer, err error)

ExitOnErr aborts the execution in case of errors, and prints the error using the configured printer.

Types

type Printer

type Printer struct {
	Info    *pterm.PrefixPrinter
	Success *pterm.PrefixPrinter
	Warning *pterm.PrefixPrinter
	Error   *pterm.PrefixPrinter

	DefaultText  *pterm.BasicTextPrinter
	TablePrinter *pterm.TablePrinter

	ProgressBar *pterm.ProgressbarPrinter

	Spinner *pterm.SpinnerPrinter

	DisableStyling bool
	// contains filtered or unexported fields
}

Printer used by all commands to output messages. If a commands needs a new format for its output add it here.

func NewPrinter

func NewPrinter(scope string, disableStyling, verbose bool, writer io.Writer) *Printer

NewPrinter returns a printer ready to be used.

func (*Printer) CheckErr

func (p *Printer) CheckErr(err error)

CheckErr prints a user-friendly error based on the active printer.

func (*Printer) DisableStylingf

func (p *Printer) DisableStylingf()

DisableStylingf disables styling globally for all existing printers.

func (*Printer) EnableStyling

func (p *Printer) EnableStyling()

EnableStyling enables styling globally for all existing printers.

func (*Printer) PrintTable

func (p *Printer) PrintTable(header TableHeader, data [][]string) error

PrintTable is a helper used to print data in table format.

func (*Printer) Verbosef

func (p *Printer) Verbosef(format string, args ...interface{})

Verbosef outputs verbose messages if the verbose flags is set.

func (Printer) WithScope

func (p Printer) WithScope(scope string) *Printer

WithScope sets the scope for the current printer.

func (Printer) WithWriter

func (p Printer) WithWriter(writer io.Writer) *Printer

WithWriter sets the writer for the current printer.

type ProgressTracker

type ProgressTracker struct {
	oras.Target
	*Printer
	// contains filtered or unexported fields
}

ProgressTracker tracks the progress of pull and push operations.

func NewProgressTracker

func NewProgressTracker(printer *Printer, target oras.Target, msg string) *ProgressTracker

NewProgressTracker returns a new ProgressTracker ready to be used.

func (*ProgressTracker) Exists

func (t *ProgressTracker) Exists(ctx context.Context, target v1.Descriptor) (bool, error)

Exists if the layer already exists it prints out the correct message.

func (*ProgressTracker) Push

func (t *ProgressTracker) Push(ctx context.Context, expected v1.Descriptor, content io.Reader) error

Push reimplements the Push function of the oras.Target interface adding the needed logic for the progress bar.

type TableHeader

type TableHeader int

TableHeader is used to print out the correct header for a command.

const (
	// ArtifactSearch identifies the header for artifact search.
	ArtifactSearch TableHeader = iota
	// IndexList identifies the header for index list.
	IndexList
	// ArtifactInfo identifies the header for artifact info.
	ArtifactInfo
)

type Tracker

type Tracker func(target oras.Target) oras.Target

Tracker get an oras.Target and returns a new target that implements the tracker logic.

func NewTracker

func NewTracker(printer *Printer, msg string) Tracker

NewTracker returns a new Tracker.

Jump to

Keyboard shortcuts

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