tui

package
v1.14.5 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2026 License: AGPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const NumTabs = 5

NumTabs is the total number of detail tabs.

Variables

This section is empty.

Functions

func Run

func Run(client *vdb.Client, files []scan.DetectedFile, pollInterval int, outputFormat string, gitCtx *gitctx.GitContext, repoRoot string) error

Run starts the TUI program. This is the main entry point called from cmd/scan.go.

func SeverityColor

func SeverityColor(severity string) lipgloss.Color

SeverityColor returns the color for a severity level.

func SeverityStyle

func SeverityStyle(severity string) lipgloss.Style

SeverityStyle returns the lipgloss style for a severity level.

Types

type AllPollsCompleteMsg

type AllPollsCompleteMsg struct {
	Tasks []*scan.ScanTask
}

AllPollsCompleteMsg is sent when all polls have finished.

type AllUploadsCompleteMsg

type AllUploadsCompleteMsg struct {
	Tasks []*scan.ScanTask
}

AllUploadsCompleteMsg is sent when all uploads have finished.

type DetailLoadedMsg

type DetailLoadedMsg struct {
	VulnID string
	Tab    DetailTab
	Data   map[string]interface{}
	Err    error
}

DetailLoadedMsg is sent when lazy-loaded detail data arrives.

type DetailTab

type DetailTab int

DetailTab identifies which detail tab to display.

const (
	TabScores DetailTab = iota
	TabExploits
	TabTimeline
	TabFixes
	TabRemediation
)

func (DetailTab) TabName

func (t DetailTab) TabName() string

TabName returns the display name for a detail tab.

type KeyMap

type KeyMap struct {
	Quit       key.Binding
	Up         key.Binding
	Down       key.Binding
	Enter      key.Binding
	Tab        key.Binding
	TabScores  key.Binding
	TabExploit key.Binding
	TabTime    key.Binding
	TabFixes   key.Binding
	TabRemed   key.Binding
	Output     key.Binding
	Help       key.Binding
	Escape     key.Binding
	PageUp     key.Binding
	PageDown   key.Binding
}

KeyMap defines all keybindings for the TUI.

type Model

type Model struct {
	// contains filtered or unexported fields
}

Model is the main bubbletea model for the scan TUI.

func NewModel

func NewModel(client *vdb.Client, files []scan.DetectedFile, pollInterval int, outputFormat string, gitCtx *gitctx.GitContext, repoRoot string) *Model

NewModel creates a new TUI model.

func (*Model) Init

func (m *Model) Init() tea.Cmd

Init starts the TUI. Implements tea.Model.

func (*Model) Update

func (m *Model) Update(msg tea.Msg) (tea.Model, tea.Cmd)

Update handles messages. Implements tea.Model.

func (*Model) View

func (m *Model) View() string

View renders the TUI. Implements tea.Model.

type OutputSavedMsg

type OutputSavedMsg struct {
	Path string
	Err  error
}

OutputSavedMsg is sent when output has been written to a file.

type Phase

type Phase int

Phase represents the current phase of the scan TUI.

const (
	PhaseUploading Phase = iota
	PhasePolling
	PhaseResults
)

type TaskUpdatedMsg

type TaskUpdatedMsg struct {
	Task *scan.ScanTask
}

TaskUpdatedMsg is sent when a scan task's status changes.

Jump to

Keyboard shortcuts

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