Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // Title/Header style - bright cyan, bold TitleStyle = renderer.NewStyle(). Bold(true). Foreground(lipgloss.Color("14")) // Label style - white (terminal's default light color) LabelStyle = renderer.NewStyle(). Foreground(lipgloss.Color("7")) // Value style - bright white ValueStyle = renderer.NewStyle(). Foreground(lipgloss.Color("15")) // Command style - bright green, bold (for SSH commands) CommandStyle = renderer.NewStyle(). Foreground(lipgloss.Color("10")). Bold(true) FooterStyle = renderer.NewStyle(). Foreground(lipgloss.Color("8")) // Empty/placeholder style - dark gray, italic EmptyStyle = renderer.NewStyle(). Foreground(lipgloss.Color("8")). Italic(true) )
Common styles used across TUI components Using basic ANSI colors (0-15) which adapt to terminal themes, ensuring readability on both light and dark backgrounds.
Functions ¶
func FormatSessionDetail ¶ added in v0.21.0
func FormatSessionDetail(detail SessionDetail) string
FormatSessionDetail renders a SessionDetail to a string using terminal width
func PrintSessionDetail ¶ added in v0.21.0
func PrintSessionDetail(detail SessionDetail)
PrintSessionDetail prints session detail to stdout
Types ¶
type HostSessionConfirmResult ¶
type HostSessionConfirmResult int
HostSessionConfirmResult represents the outcome of a confirmation prompt
const ( // HostSessionConfirmAccepted indicates the user accepted (pressed 'y') HostSessionConfirmAccepted HostSessionConfirmResult = iota // HostSessionConfirmRejected indicates the user rejected (pressed 'n') HostSessionConfirmRejected // HostSessionConfirmInterrupted indicates the user interrupted (pressed Ctrl+C) HostSessionConfirmInterrupted )
type HostSessionModel ¶
type HostSessionModel struct {
// contains filtered or unexported fields
}
HostSessionModel handles both session display and confirmation for the host command. It renders the session information and waits for user confirmation (y/n/Ctrl+C) unless auto-accept is enabled.
func NewHostSessionModel ¶
func NewHostSessionModel(detail SessionDetail, autoAccept bool) HostSessionModel
NewHostSessionModel creates a model for displaying session and getting confirmation
func (HostSessionModel) Init ¶
func (m HostSessionModel) Init() tea.Cmd
func (HostSessionModel) Result ¶
func (m HostSessionModel) Result() HostSessionConfirmResult
Result returns the confirmation result
func (HostSessionModel) View ¶
func (m HostSessionModel) View() string
type SessionDetail ¶ added in v0.21.0
type SessionDetail struct {
IsCurrent bool
AdminSocket string
SessionID string
Command string
ForceCommand string
Host string
SSHCommand string
SFTPEnabled bool // Whether SFTP/SCP is enabled
SFTPCommand string // SFTP command
SCPUpload string // SCP upload example
SCPDownload string // SCP download example
AuthorizedKeys string
ConnectedClients []string
}
SessionDetail holds session information for display
type SessionListModel ¶ added in v0.21.0
type SessionListModel struct {
// contains filtered or unexported fields
}
SessionListModel provides an interactive session list using bubbles/table
func NewSessionListModel ¶ added in v0.21.0
func NewSessionListModel(sessions []SessionDetail) SessionListModel
NewSessionListModel creates a new interactive session list
func (SessionListModel) Init ¶ added in v0.21.0
func (m SessionListModel) Init() tea.Cmd
func (SessionListModel) View ¶ added in v0.21.0
func (m SessionListModel) View() string