Documentation
¶
Index ¶
- Constants
- Variables
- func Blue(value string) string
- func BoolPointerToString(value *bool) string
- func BuildURL(basePath, relativePath string, params map[string]string) string
- func CliError(msg string, args ...interface{})
- func CliErrorWithExit(msg string, args ...interface{})
- func CliInfo(msg string, args ...interface{})
- func CliInfoWithExit(msg string, args ...interface{})
- func CliWarning(msg string, args ...interface{})
- func CommandConfirm() bool
- func CreateAndEditTempFile(data []byte) (string, error)
- func DeleteFile(path string) error
- func ExtractWorkspaceName(workspaceURL string) string
- func FormatSSHTarget(target SSHTarget) string
- func GetCLIVersion() string
- func GetUserAgent() string
- func Green(value string) string
- func HandleCommonErrors(err error, serverName string, callbacks ErrorHandlerCallbacks) error
- func IsInteractiveShell() bool
- func IsLocalTarget(target string) bool
- func IsRemoteTarget(target string) bool
- func IsUUID(str string) bool
- func ParseErrorResponse(err error) (code, source string)
- func PrettyJSON(data []byte) (*bytes.Buffer, error)
- func PrintHeader(header string)
- func PrintJson(body []byte)
- func PrintTable(slice interface{})
- func ProcessEditedData(originalData []byte) (interface{}, error)
- func PromptForBool(prompt string) bool
- func PromptForInput(promptText string) string
- func PromptForIntInput(promptText string, defaultValue int) int
- func PromptForListInput(promptText string) []string
- func PromptForPassword(promptText string) string
- func PromptForRequiredInput(promptText string) string
- func PromptForRequiredIntInput(promptText string) int
- func PromptForRequiredListInput(promptText string) []string
- func ReadFileFromPath(filePath string) ([]byte, error)
- func Red(value string) string
- func RemovePrefixBeforeAPI(url string) string
- func SaveFile(fileName string, data []byte) error
- func ShowLogo()
- func SplitAndParseInt(input string) []int
- func SplitPath(path string) (string, string)
- func TimeFormat(value int) *string
- func TimeUtils(t time.Time) string
- func TruncateString(str string, num int) string
- func Unzip(src string, dest string) error
- func WriteToPager() (io.Writer, func())
- func Yellow(value string) string
- func Zip(folderPath string) ([]byte, error)
- type ErrorHandlerCallbacks
- type ErrorResponse
- type SSHTarget
- type Spinner
Constants ¶
const ( AuthMFARequired = "auth_mfa_required" UsernameRequired = "user_username_required" )
Variables ¶
var Version string = "dev"
Functions ¶
func BoolPointerToString ¶
func CliError ¶
func CliError(msg string, args ...interface{})
CliError handles all error messages in the CLI.
func CliErrorWithExit ¶ added in v1.0.0
func CliErrorWithExit(msg string, args ...interface{})
CliErrorWithExit handles all error messages in the CLI.
func CliInfo ¶
func CliInfo(msg string, args ...interface{})
CliInfo handles all informational messages in the CLI.
func CliInfoWithExit ¶
func CliInfoWithExit(msg string, args ...interface{})
CliInfoWithExit prints an informational message to stderr and exits the program with a status code of 0
func CliWarning ¶
func CliWarning(msg string, args ...interface{})
CliWarning handles all warning messages in the CLI.
func CommandConfirm ¶ added in v0.4.4
func CommandConfirm() bool
CommandConfirm prompts the user for confirmation to continue executing a command. It returns true if the user enters "y" or "yes" (case-insensitive), and false otherwise.
func CreateAndEditTempFile ¶
func DeleteFile ¶
func ExtractWorkspaceName ¶ added in v0.4.0
ExtractWorkspaceName extracts workspace name from workspace URL
func FormatSSHTarget ¶ added in v0.4.0
FormatSSHTarget formats an SSHTarget back into a string representation
func GetCLIVersion ¶
func GetCLIVersion() string
func GetUserAgent ¶
func GetUserAgent() string
func HandleCommonErrors ¶ added in v1.0.0
func HandleCommonErrors(err error, serverName string, callbacks ErrorHandlerCallbacks) error
HandleCommonErrors handles common errors (MFA, UsernameRequired) with retry logic Returns nil if error was handled successfully, otherwise returns the original or new error
func IsInteractiveShell ¶ added in v0.4.4
func IsInteractiveShell() bool
IsInteractiveShell checks if the current program is running in an interactive terminal.
func IsLocalTarget ¶ added in v0.4.0
IsLocalTarget checks if a target string represents a local location
func IsRemoteTarget ¶ added in v0.4.0
IsRemoteTarget checks if a target string represents a remote location A target is considered remote if it contains a colon (:)
func ParseErrorResponse ¶ added in v0.4.0
func PrintHeader ¶
func PrintHeader(header string)
func PrintTable ¶
func PrintTable(slice interface{})
func ProcessEditedData ¶
ProcessEditedData facilitates user modifications to original data, formats it, supports editing via a temp file, compares the edited data against the original, and parses it into JSON. If no changes are made, the update is aborted and an error is returned.
func PromptForBool ¶
func PromptForInput ¶
func PromptForIntInput ¶
func PromptForListInput ¶
func PromptForPassword ¶
func PromptForRequiredInput ¶
func ReadFileFromPath ¶
func RemovePrefixBeforeAPI ¶
func SplitAndParseInt ¶
func TimeFormat ¶
func TruncateString ¶
func WriteToPager ¶ added in v1.0.0
WriteToPager returns a writer that buffers output and pipes it through a pager only when the output exceeds the terminal height. The caller must call the returned cleanup function when done writing.
Behavior:
- If stdout is not a terminal (e.g. piped), prints directly to stdout.
- If the output fits within the terminal height, prints directly to stdout.
- Otherwise, pipes through the PAGER environment variable or "less -RSX".
- Falls back to direct stdout if the pager command is not available.
Types ¶
type ErrorHandlerCallbacks ¶ added in v1.0.0
type ErrorHandlerCallbacks struct {
// OnMFARequired is called when MFA authentication is required
// serverName: the name of the server requiring MFA
OnMFARequired func(serverName string) error
// OnUsernameRequired is called when username is required
OnUsernameRequired func() error
// RetryOperation is called to retry the original operation after error handling
// Should return nil on success, error on failure
RetryOperation func() error
}
ErrorHandlerCallbacks defines callback functions for handling different error types
type ErrorResponse ¶ added in v0.4.0
type SSHTarget ¶ added in v0.4.0
type SSHTarget struct {
User string // Username (empty if not specified)
Host string // Hostname/server name
Path string // Path (empty if not specified)
}
SSHTarget represents a parsed SSH-like target with user, host, and path components
func ParseSSHTarget ¶ added in v0.4.0
ParseSSHTarget parses SSH-like target strings and returns the components Supports formats: - host - user@host - host:path - user@host:path
type Spinner ¶ added in v1.0.0
type Spinner struct {
// contains filtered or unexported fields
}
Spinner displays an animated spinner with a message
func NewSpinner ¶ added in v1.0.0
NewSpinner creates a new spinner with the given message If the message ends with "...", the dots will animate (. -> .. -> ...)
func (*Spinner) Start ¶ added in v1.0.0
func (s *Spinner) Start()
Start begins the spinner animation
func (*Spinner) StopWithMessage ¶ added in v1.0.0
StopWithMessage stops the spinner and prints a final message
func (*Spinner) UpdateMessage ¶ added in v1.0.0
UpdateMessage updates the spinner message while running