Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConfirmModel ¶
type ConfirmModel struct {
// contains filtered or unexported fields
}
ConfirmModel is a bubbletea model for a y/N confirmation prompt. Press y/Y to confirm, n/N/esc/ctrl+c to decline.
func NewConfirmModel ¶
func NewConfirmModel(prompt string) ConfirmModel
func (ConfirmModel) Confirmed ¶
func (m ConfirmModel) Confirmed() bool
func (ConfirmModel) Done ¶
func (m ConfirmModel) Done() bool
func (ConfirmModel) Init ¶
func (m ConfirmModel) Init() tea.Cmd
func (ConfirmModel) View ¶
func (m ConfirmModel) View() tea.View
type LoginFlowModel ¶
type LoginFlowModel struct {
// contains filtered or unexported fields
}
LoginFlowModel is a multi-stage bubbletea model that walks the user through CircleCI authentication:
- Pick a CircleCI host (circleci.com or a custom URL).
- Pick an auth method (browser OAuth or paste a token). 3a. For browser OAuth: press Enter → open browser → wait for callback. 3b. For token: type/paste the personal access token.
After tea.Program.Run() returns, call Result() to read the outcome and Close() to release the OAuth server if one was started.
func NewLoginFlow ¶
func NewLoginFlow(ctx context.Context, opts LoginFlowOptions) LoginFlowModel
NewLoginFlow returns a LoginFlowModel ready to pass to tea.NewProgram.
func (LoginFlowModel) Close ¶
func (m LoginFlowModel) Close()
Close shuts down the OAuth callback server if one was started.
func (LoginFlowModel) Init ¶
func (m LoginFlowModel) Init() tea.Cmd
func (LoginFlowModel) Result ¶
func (m LoginFlowModel) Result() LoginResult
Result returns the final login outcome. Only valid after tea.Program.Run() returns.
func (LoginFlowModel) View ¶
func (m LoginFlowModel) View() tea.View
type LoginFlowOptions ¶
type LoginFlowOptions struct {
DeviceID string
OSInfo string
// GetUsername, if non-nil, is called after token exchange to display
// the authenticated user's login name.
GetUsername func(ctx context.Context, host, token string) (string, error)
Color bool
}
LoginFlowOptions configures a LoginFlowModel.
type LoginMethod ¶
type LoginMethod int
LoginMethod indicates which authentication path the user selected.
const (
LoginMethodBrowser LoginMethod = iota
)
LoginMethodBrowser selects the browser-based OAuth PKCE flow.
type LoginResult ¶
type LoginResult struct {
Cancelled bool
Host string // resolved base URL
Token string // set when auth succeeds (either method)
Username string // set when GetUsername is provided and succeeds
Err error
}
LoginResult is the outcome of a completed LoginFlowModel run.
type PromptModel ¶
type PromptModel struct {
// contains filtered or unexported fields
}
PromptModel is a bubbletea model for prompting a single line of plain (non-secret) text. Esc / Ctrl+C cancel. Enter confirms.
func NewPromptModel ¶
func NewPromptModel(header, placeholder string) PromptModel
NewPromptModel creates a PromptModel with the given header and an optional placeholder shown inside the empty input field.
func (PromptModel) Init ¶
func (m PromptModel) Init() tea.Cmd
func (PromptModel) Quitting ¶
func (m PromptModel) Quitting() bool
Quitting reports whether the user pressed Esc or Ctrl+C without confirming.
func (PromptModel) View ¶
func (m PromptModel) View() tea.View
type SecretModel ¶
type SecretModel struct {
// contains filtered or unexported fields
}
SecretModel is a bubbletea model for prompting a secret value. Input is masked (echo password mode). The prompt header is configurable so callers can name the specific secret being requested.
func NewSecretModel ¶
func NewSecretModel(header string) SecretModel
NewSecretModel creates a SecretModel with the given header text.
func (SecretModel) Init ¶
func (m SecretModel) Init() tea.Cmd
func (SecretModel) Quitting ¶
func (m SecretModel) Quitting() bool
Quitting reports whether the user pressed Esc or Ctrl+C.
func (SecretModel) Value ¶
func (m SecretModel) Value() string
Value returns the entered secret value.
func (SecretModel) View ¶
func (m SecretModel) View() tea.View
type SelectModel ¶
type SelectModel struct {
// contains filtered or unexported fields
}
SelectModel is a top-level bubbletea model that wraps components.SelectModel and quits the program on selection or cancellation.
func NewSelectModel ¶
func NewSelectModel(prompt string, options []string) SelectModel
NewSelectModel creates a standalone select prompt. options is the list of choices to display.
func (SelectModel) Cancelled ¶
func (m SelectModel) Cancelled() bool
Cancelled reports whether the user quit without selecting.
func (SelectModel) Init ¶
func (m SelectModel) Init() tea.Cmd
func (SelectModel) Selected ¶
func (m SelectModel) Selected() int
Selected returns the index of the chosen option. Only valid when !Cancelled().
func (SelectModel) View ¶
func (m SelectModel) View() tea.View
type SpinnerModel ¶
type SpinnerModel struct {
// contains filtered or unexported fields
}
SpinnerModel is a bubbletea model that displays an animated spinner with a message. Run it in a goroutine via tea.NewProgram; call p.Quit() to stop it.
func NewSpinnerModel ¶
func NewSpinnerModel(msg string, color bool) SpinnerModel
func (SpinnerModel) Init ¶
func (m SpinnerModel) Init() tea.Cmd
func (SpinnerModel) View ¶
func (m SpinnerModel) View() tea.View