Documentation ¶
Index ¶
- Constants
- Variables
- func AsKey(evt *tcell.EventKey) tcell.Key
- func AsPercDelta(ov, nv float64) string
- func BenchConfig(cluster string) string
- func ComputeMaxColumns(pads MaxyPad, sortCol int, header render.HeaderRow, ee render.RowEvents)
- func Deltas(o, n string) string
- func IsASCII(s string) bool
- func IsFuzzySelector(s string) bool
- func IsLabelSelector(s string) bool
- func Pad(s string, width int) string
- func SkinTitle(fmat string, style config.Frame) string
- func TrimCell(tv *SelectTable, row, col int) string
- func TrimLabelSelector(s string) string
- func Truncate(str string, width int) string
- type ActionHandler
- type App
- func (a *App) ActivateCmd(b bool)
- func (a *App) AddActions(aa KeyActions)
- func (a *App) BailOut()
- func (a *App) BufferActive(state bool, _ BufferKind)
- func (a *App) BufferChanged(s string)
- func (a *App) Cmd() *Command
- func (a *App) CmdBuff() *CmdBuff
- func (a *App) Conn() client.Connection
- func (a *App) Crumbs() *Crumbs
- func (a *App) Flash() *Flash
- func (a *App) GetActions() KeyActions
- func (a *App) GetCmd() string
- func (a *App) HasCmd() bool
- func (a *App) InCmdMode() bool
- func (a *App) Init()
- func (a *App) Logo() *Logo
- func (a *App) Menu() *Menu
- func (a *App) ReloadStyles(context string)
- func (a *App) ResetCmd()
- func (a *App) StylesChanged(s *config.Styles)
- func (a *App) Views() map[string]tview.Primitive
- type BuffWatcher
- type BufferKind
- type CmdBuff
- func (c *CmdBuff) Add(r rune)
- func (c *CmdBuff) AddListener(w ...BuffWatcher)
- func (c *CmdBuff) Clear()
- func (c *CmdBuff) Delete()
- func (c *CmdBuff) Empty() bool
- func (c *CmdBuff) InCmdMode() bool
- func (c *CmdBuff) IsActive() bool
- func (c *CmdBuff) IsSticky() bool
- func (c *CmdBuff) RemoveListener(l BuffWatcher)
- func (c *CmdBuff) Reset()
- func (c *CmdBuff) Set(cmd string)
- func (c *CmdBuff) SetActive(b bool)
- func (c *CmdBuff) SetSticky(b bool)
- func (c *CmdBuff) String() string
- type ColorerFunc
- type Command
- type Configurator
- type Crumbs
- type DecorateFunc
- type Flash
- func (f *Flash) Err(err error)
- func (f *Flash) Errf(fmat string, args ...interface{})
- func (f *Flash) Info(msg string)
- func (f *Flash) Infof(fmat string, args ...interface{})
- func (f *Flash) SetMessage(level FlashLevel, msg ...string)
- func (f *Flash) StylesChanged(s *config.Styles)
- func (f *Flash) TestMode()
- func (f *Flash) Warn(msg string)
- func (f *Flash) Warnf(fmat string, args ...interface{})
- type FlashLevel
- type KeyAction
- type KeyActions
- type KeyListenerFunc
- type Lister
- type Logo
- type MaxyPad
- type Menu
- type Namespaceable
- type Pages
- type SelectTable
- func (s *SelectTable) ClearMarks()
- func (s *SelectTable) ClearSelection()
- func (s *SelectTable) DeleteMark(k string)
- func (s *SelectTable) GetModel() Tabular
- func (s *SelectTable) GetSelectedCell(col int) string
- func (s *SelectTable) GetSelectedItem() string
- func (s *SelectTable) GetSelectedItems() []string
- func (s *SelectTable) GetSelectedRowIndex() int
- func (s *SelectTable) SelectFirstRow()
- func (s *SelectTable) SelectRow(r int, broadcast bool)
- func (s *SelectTable) SetModel(m Tabular)
- func (s *SelectTable) SetSelectedFn(f func(string) string)
- func (s *SelectTable) ToggleMark()
- type SelectedRowFunc
- type SortColumn
- type SortFn
- type Splash
- type StatusIndicator
- func (s *StatusIndicator) ClusterInfoChanged(prev, cur model.ClusterMeta)
- func (s *StatusIndicator) ClusterInfoUpdated(data model.ClusterMeta)
- func (s *StatusIndicator) Err(msg string)
- func (s *StatusIndicator) Info(msg string)
- func (s *StatusIndicator) Reset()
- func (s *StatusIndicator) SetPermanent(info string)
- func (s *StatusIndicator) StylesChanged(styles *config.Styles)
- func (s *StatusIndicator) Warn(msg string)
- type Table
- func (t *Table) Actions() KeyActions
- func (t *Table) AddHeaderCell(col int, h render.Header)
- func (t *Table) ClearMarks()
- func (t *Table) ExtraHints() map[string]string
- func (t *Table) GetFilteredData() render.TableData
- func (t *Table) GetSelectedRow() render.Row
- func (t *Table) Hints() model.MenuHints
- func (t *Table) Init(ctx context.Context)
- func (s *Table) IsMarked(item string) bool
- func (t *Table) NameColIndex() int
- func (t *Table) Refresh()
- func (t *Table) SearchBuff() *CmdBuff
- func (t *Table) SendKey(evt *tcell.EventKey)
- func (t *Table) SetColorerFn(f render.ColorerFunc)
- func (t *Table) SetDecorateFn(f DecorateFunc)
- func (t *Table) SetSortCol(index, count int, asc bool)
- func (t *Table) ShowDeleted()
- func (t *Table) SortColCmd(col int, asc bool) func(evt *tcell.EventKey) *tcell.EventKey
- func (t *Table) SortInvertCmd(evt *tcell.EventKey) *tcell.EventKey
- func (t *Table) Styles() *config.Styles
- func (t *Table) StylesChanged(s *config.Styles)
- func (t *Table) Update(data render.TableData)
- func (t *Table) UpdateTitle()
- type Tabular
- type Tree
- func (t *Tree) Actions() KeyActions
- func (t *Tree) BindKeys()
- func (t *Tree) ClearSelection()
- func (t *Tree) CmdBuff() *CmdBuff
- func (t *Tree) ExpandNodes() bool
- func (t *Tree) ExtraHints() map[string]string
- func (t *Tree) GetSelectedItem() string
- func (t *Tree) Hints() model.MenuHints
- func (t *Tree) Init(ctx context.Context) error
- func (t *Tree) SetKeyListenerFn(f KeyListenerFunc)
- func (t *Tree) SetSelectedItem(s string)
Constants ¶
const ( // DeltaSign signals a diff. DeltaSign = "Δ" // PlusSign signals inc. PlusSign = "[red::b]↑" // MinusSign signal dec. MinusSign = "[green::b]↓" )
const ( Key0 int32 = iota + 48 Key1 Key2 Key3 Key4 Key5 Key6 Key7 Key8 Key9 )
Defines numeric keys for container actions
const ( KeyShift0 int32 = 41 KeyShift1 int32 = 33 KeyShift2 int32 = 64 KeyShift3 int32 = 35 KeyShift4 int32 = 36 KeyShift5 int32 = 37 KeyShift6 int32 = 94 KeyShift7 int32 = 38 KeyShift8 int32 = 42 KeyShift9 int32 = 40 )
Defines numeric keys for container actions
const ( KeyA tcell.Key = iota + 97 KeyB KeyC KeyD KeyE KeyF KeyG KeyH KeyI KeyJ KeyK KeyL KeyM KeyN KeyO KeyP KeyQ KeyR KeyS KeyT KeyU KeyV KeyW KeyX KeyY KeyZ KeyHelp = 63 KeySlash = 47 KeyColon = 58 KeySpace = 32 )
Defines char keystrokes
const ( KeyShiftA tcell.Key = iota + 65 KeyShiftB KeyShiftC KeyShiftD KeyShiftE KeyShiftF KeyShiftG KeyShiftH KeyShiftI KeyShiftJ KeyShiftK KeyShiftL KeyShiftM KeyShiftN KeyShiftO KeyShiftP KeyShiftQ KeyShiftR KeyShiftS KeyShiftT KeyShiftU KeyShiftV KeyShiftW KeyShiftX KeyShiftY KeyShiftZ )
Define Shift Keys
const ( // DefaultColorName indicator to keep term colors. DefaultColorName = "default" // SearchFmt represents a filter view title. SearchFmt = "<[filter:bg:r]/%s[fg:bg:-]> " // NSTitleFmt represents a namespaced view title. NSTitleFmt = "[fg:bg:b] %s([hilite:bg:b]%s[fg:bg:-])[fg:bg:-][[count:bg:b]%d[fg:bg:-]][fg:bg:-] " // TitleFmt represents a standard view title. TitleFmt = "[fg:bg:b] %s[fg:bg:-][[count:bg:b]%d[fg:bg:-]][fg:bg:-] " // FullFmat specifies a namespaced dump file name. FullFmat = "%s-%s-%d.csv" // NoNSFmat specifies a cluster wide dump file name. NoNSFmat = "%s-%d.csv" )
Variables ¶
var ( // LableRx identifies a label query LableRx = regexp.MustCompile(`\A\-l`) )
var LogoBig = []string{
` ____ __.________ _________ .____ .___ `,
`| |/ _/ __ \_____\_ ___ \| | | |`,
`| < \____ / ___/ \ \/| | | |`,
`| | \ / /\___ \\ \___| |___| |`,
`|____|__ \ /____//____ >\______ /_______ \___|`,
` \/ \/ \/ \/ `,
}
LogoBig K9s big logo for splash page.
var LogoSmall = []string{
` ____ __.________ `,
`| |/ _/ __ \______`,
`| < \____ / ___/`,
`| | \ / /\___ \ `,
`|____|__ \ /____//____ >`,
` \/ \/ `,
}
LogoSmall K9s small log.
var NumKeys = map[int]int32{ 0: Key0, 1: Key1, 2: Key2, 3: Key3, 4: Key4, 5: Key5, 6: Key6, 7: Key7, 8: Key8, 9: Key9, }
NumKeys tracks number keys.
Functions ¶
func AsPercDelta ¶ added in v0.13.5
AsPercDelta represents a percentage with a delta indicator.
func BenchConfig ¶
BenchConfig location of the benchmarks configuration file.
func ComputeMaxColumns ¶
ComputeMaxColumns figures out column max size and necessary padding.
func IsFuzzySelector ¶
IsFuzzySelector checks if query is fuzzy.
func IsLabelSelector ¶
IsLabelSelector checks if query is a label query.
func TrimCell ¶
func TrimCell(tv *SelectTable, row, col int) string
TrimCell removes superfluous padding.
func TrimLabelSelector ¶
TrimLabelSelector extracts label query.
Types ¶
type ActionHandler ¶
ActionHandler handles a keyboard command.
type App ¶
type App struct { *tview.Application Configurator Main *Pages // contains filtered or unexported fields }
App represents an application.
func (*App) AddActions ¶
func (a *App) AddActions(aa KeyActions)
AddActions returns the application actiona.
func (*App) BufferActive ¶
func (a *App) BufferActive(state bool, _ BufferKind)
BufferActive indicates the buff activity changed.
func (*App) BufferChanged ¶
BufferChanged indicates the buffer was changed.
func (*App) GetActions ¶
func (a *App) GetActions() KeyActions
GetActions returns a collection of actiona.
func (*App) ReloadStyles ¶
ReloadStyles reloads skin file.
func (*App) StylesChanged ¶
StylesChanged notifies the skin changed.
type BuffWatcher ¶
type BuffWatcher interface { // Changed indicates the buffer was changed. BufferChanged(s string) // Active indicates the buff activity changed. BufferActive(state bool, kind BufferKind) }
BuffWatcher represents a command buffer listener.
type BufferKind ¶
type BufferKind int8
BufferKind indicates a buffer type
const ( // CommandBuff indicates a command buffer. CommandBuff BufferKind = 1 << iota // FilterBuff indicates a search buffer. FilterBuff )
type CmdBuff ¶
type CmdBuff struct {
// contains filtered or unexported fields
}
CmdBuff represents user command input.
func NewCmdBuff ¶
func NewCmdBuff(key rune, kind BufferKind) *CmdBuff
NewCmdBuff returns a new command buffer.
func (*CmdBuff) AddListener ¶
func (c *CmdBuff) AddListener(w ...BuffWatcher)
AddListener registers a cmd buffer listener.
func (*CmdBuff) Delete ¶
func (c *CmdBuff) Delete()
Delete removes the last character from the buffer.
func (*CmdBuff) RemoveListener ¶
func (c *CmdBuff) RemoveListener(l BuffWatcher)
RemoveListener unregisters a listener.
func (*CmdBuff) Reset ¶
func (c *CmdBuff) Reset()
Reset clears out the command buffer and deactives it.
type ColorerFunc ¶
ColorerFunc represents a row colorer.
type Command ¶
Command captures users free from command input.
func NewCommand ¶
NewCommand returns a new command view.
func (*Command) BufferActive ¶
func (c *Command) BufferActive(f bool, k BufferKind)
BufferActive indicates the buff activity changed.
func (*Command) BufferChanged ¶
BufferChanged indicates the buffer was changed.
func (*Command) StylesChanged ¶
StylesChanged notifies skin changed.
type Configurator ¶
type Configurator struct { Config *config.Config Styles *config.Styles Bench *config.Bench // contains filtered or unexported fields }
Configurator represents an application configurationa.
func (*Configurator) HasSkin ¶ added in v0.15.0
func (c *Configurator) HasSkin() bool
HasSkin returns true if a skin file was located.
func (*Configurator) InitBench ¶
func (c *Configurator) InitBench(cluster string)
InitBench load benchmark configuration if any.
func (*Configurator) RefreshStyles ¶
func (c *Configurator) RefreshStyles(context string)
RefreshStyles load for skin configuration changes.
func (*Configurator) StylesUpdater ¶
func (c *Configurator) StylesUpdater(ctx context.Context, s synchronizer) error
StylesUpdater watches for skin file changes.
type Crumbs ¶
Crumbs represents user breadcrumbs.
func (*Crumbs) StackPopped ¶
StackPopped indicates an item was deleted
func (*Crumbs) StackPushed ¶
StackPushed indicates a new item was added.
func (*Crumbs) StylesChanged ¶
StylesChanged notifies skin changed.
type DecorateFunc ¶
DecorateFunc represents a row decorator.
type Flash ¶
Flash represents a flash message indicator.
func (*Flash) SetMessage ¶
func (f *Flash) SetMessage(level FlashLevel, msg ...string)
SetMessage sets flash message and level.
func (*Flash) StylesChanged ¶
StylesChanged notifies listener the skin changed.
type FlashLevel ¶
type FlashLevel int
FlashLevel represents flash message severity.
const ( // FlashInfo represents an info message. FlashInfo FlashLevel = iota // FlashWarn represents an warning message. FlashWarn // FlashErr represents an error message. FlashErr // FlashFatal represents an fatal message. FlashFatal )
type KeyAction ¶
type KeyAction struct { Description string Action ActionHandler Visible bool }
KeyAction represents a keyboard action.
func NewKeyAction ¶
func NewKeyAction(d string, a ActionHandler, display bool) KeyAction
NewKeyAction returns a new keyboard action.
func NewSharedKeyAction ¶
func NewSharedKeyAction(d string, a ActionHandler, display bool) KeyAction
NewSharedKeyAction returns a new shared keyboard action.
type KeyActions ¶
KeyActions tracks mappings between keystrokes and actions.
func (KeyActions) Add ¶
func (a KeyActions) Add(aa KeyActions)
Add sets up keyboard action listener.
func (KeyActions) Delete ¶
func (a KeyActions) Delete(kk ...tcell.Key)
Delete deletes actions by the given keys.
func (KeyActions) Hints ¶
func (a KeyActions) Hints() model.MenuHints
Hints returns a collection of hints.
type KeyListenerFunc ¶ added in v0.13.3
type KeyListenerFunc func()
KeyListenerFunc listens to key presses.
type Lister ¶
type Lister interface { // Get returns a resource instance. Get(ctx context.Context, path string) (runtime.Object, error) // ToYAML returns a resource yaml representation. ToYAML(ctx context.Context, path string) (string, error) // Describes describes a given resource. Describe(ctx context.Context, path string) (string, error) }
Lister represents a viewable resource.
type Logo ¶
Logo represents a K9s logo.
func (*Logo) StylesChanged ¶
StylesChanged notifies the skin changed.
type Menu ¶
Menu presents menu options.
func (*Menu) HydrateMenu ¶
HydrateMenu populate menu ui from hints.
func (*Menu) StackPopped ¶
StackPopped notifies a component was removed.
func (*Menu) StackPushed ¶
StackPushed notifies a component was added.
func (*Menu) StylesChanged ¶
StylesChanged notifies skin changed.
type Namespaceable ¶
type Namespaceable interface { // ClusterWide returns true if the model represents resource in all namespaces. ClusterWide() bool // GetNamespace returns the model namespace. GetNamespace() string // SetNamespace changes the model namespace. SetNamespace(string) // InNamespace check if current namespace matches models. InNamespace(string) bool }
Namespaceable represents a namespaceable model.
type Pages ¶
Pages represents a stack of view pages.
func (*Pages) StackPopped ¶
StackPopped notifies a component was removed.
func (*Pages) StackPushed ¶
StackPushed notifies a new component was pushed.
type SelectTable ¶
SelectTable represents a table with selections.
func (*SelectTable) ClearMarks ¶
func (s *SelectTable) ClearMarks()
ClearMarks delete all marked items.
func (*SelectTable) ClearSelection ¶
func (s *SelectTable) ClearSelection()
ClearSelection reset selected row.
func (*SelectTable) DeleteMark ¶
func (s *SelectTable) DeleteMark(k string)
DeleteMark delete a marked item.
func (*SelectTable) GetModel ¶
func (s *SelectTable) GetModel() Tabular
GetModel returns the current model.
func (*SelectTable) GetSelectedCell ¶
func (s *SelectTable) GetSelectedCell(col int) string
GetSelectedCell returns the content of a cell for the currently selected row.
func (*SelectTable) GetSelectedItem ¶
func (s *SelectTable) GetSelectedItem() string
GetSelectedItem returns the currently selected item name.
func (*SelectTable) GetSelectedItems ¶
func (s *SelectTable) GetSelectedItems() []string
GetSelectedItems return currently marked or selected items names.
func (*SelectTable) GetSelectedRowIndex ¶
func (s *SelectTable) GetSelectedRowIndex() int
GetSelectedRowIndex fetch the currently selected row index.
func (*SelectTable) SelectFirstRow ¶
func (s *SelectTable) SelectFirstRow()
SelectFirstRow select first data row if any.
func (*SelectTable) SelectRow ¶
func (s *SelectTable) SelectRow(r int, broadcast bool)
SelectRow select a given row by index.
func (*SelectTable) SetModel ¶
func (s *SelectTable) SetModel(m Tabular)
SetModel sets the table model.
func (*SelectTable) SetSelectedFn ¶
func (s *SelectTable) SetSelectedFn(f func(string) string)
SetSelectedFn defines a function that cleanse the current selection.
type SortColumn ¶
type SortColumn struct {
// contains filtered or unexported fields
}
SortColumn represents a sortable column.
type SortFn ¶
type SortFn func(rows render.Rows, sortCol SortColumn)
SortFn represent a function that can sort columnar data.
type StatusIndicator ¶
StatusIndicator represents a status indicator when main header is collapsed.
func NewStatusIndicator ¶
func NewStatusIndicator(app *App, styles *config.Styles) *StatusIndicator
NewStatusIndicator returns a new status indicator.
func (*StatusIndicator) ClusterInfoChanged ¶ added in v0.13.5
func (s *StatusIndicator) ClusterInfoChanged(prev, cur model.ClusterMeta)
ClusterInfoChanged notifies the cluster meta was changed.
func (*StatusIndicator) ClusterInfoUpdated ¶ added in v0.13.5
func (s *StatusIndicator) ClusterInfoUpdated(data model.ClusterMeta)
ClusterInfoUpdated notifies the cluster meta was updated.
func (*StatusIndicator) Err ¶
func (s *StatusIndicator) Err(msg string)
Err displays a log error state.
func (*StatusIndicator) Info ¶
func (s *StatusIndicator) Info(msg string)
Info displays a log info state.
func (*StatusIndicator) Reset ¶
func (s *StatusIndicator) Reset()
Reset clears out the logo view and resets colors.
func (*StatusIndicator) SetPermanent ¶
func (s *StatusIndicator) SetPermanent(info string)
SetPermanent sets permanent title to be reset to after updates
func (*StatusIndicator) StylesChanged ¶
func (s *StatusIndicator) StylesChanged(styles *config.Styles)
StylesChanged notifies the skins changed.
func (*StatusIndicator) Warn ¶
func (s *StatusIndicator) Warn(msg string)
Warn displays a log warning state.
type Table ¶
type Table struct { *SelectTable BaseTitle string Path string // contains filtered or unexported fields }
Table represents tabular data.
func (*Table) AddHeaderCell ¶
AddHeaderCell configures a table cell header.
func (*Table) ExtraHints ¶ added in v0.13.3
ExtraHints returns additional hints.
func (*Table) GetFilteredData ¶
GetFilteredData fetch filtered tabular data.
func (*Table) GetSelectedRow ¶
GetSelectedRow returns the entire selected row.
func (*Table) NameColIndex ¶
NameColIndex returns the index of the resource name column.
func (*Table) SearchBuff ¶
SearchBuff returns the associated command buffer.
func (*Table) SetColorerFn ¶
func (t *Table) SetColorerFn(f render.ColorerFunc)
SetColorerFn specifies the default colorer.
func (*Table) SetDecorateFn ¶
func (t *Table) SetDecorateFn(f DecorateFunc)
SetDecorateFn specifies the default row decorator.
func (*Table) SetSortCol ¶
SetSortCol sets in sort column index and order.
func (*Table) SortColCmd ¶
SortColCmd designates a sorted column.
func (*Table) SortInvertCmd ¶
SortInvertCmd reverses sorting order.
func (*Table) StylesChanged ¶
StylesChanged notifies the skin changed.
type Tabular ¶
type Tabular interface { Namespaceable Lister SetInstance(string) // Empty returns true if model has no data. Empty() bool // Peek returns current model data. Peek() render.TableData // Watch watches a given resource for changes. Watch(context.Context) // SetRefreshRate sets the model watch loop rate. SetRefreshRate(time.Duration) // AddListener registers a model listener. AddListener(model.TableListener) // Delete a resource. Delete(ctx context.Context, path string, cascade, force bool) error }
Tabular represents a tabular model.
type Tree ¶ added in v0.13.3
Tree represents a tree view.
func (*Tree) Actions ¶ added in v0.13.3
func (t *Tree) Actions() KeyActions
Actions returns active menu bindings.
func (*Tree) BindKeys ¶ added in v0.14.1
func (t *Tree) BindKeys()
BindKeys binds default mnemonics.
func (*Tree) ClearSelection ¶ added in v0.13.3
func (t *Tree) ClearSelection()
ClearSelection clears the currently selected node.
func (*Tree) ExpandNodes ¶ added in v0.13.3
ExpandNodes returns true if nodes are expanded or false otherwise.
func (*Tree) ExtraHints ¶ added in v0.13.3
ExtraHints returns additional hints.
func (*Tree) GetSelectedItem ¶ added in v0.13.3
GetSelectedItem returns the currently selected item or blank if none.
func (*Tree) SetKeyListenerFn ¶ added in v0.13.3
func (t *Tree) SetKeyListenerFn(f KeyListenerFunc)
SetKeyListenerFn sets a key entered listener.
func (*Tree) SetSelectedItem ¶ added in v0.13.3
SetSelectedItem sets the currently selected node.