Documentation
¶
Overview ¶
Package ui provides the terminal user interface for the td application.
Index ¶
Constants ¶
const ( DefaultMaxUndoSize = 100 DefaultDataFile = "~/.td.json" )
Default UI settings
const ( ModeNameNormal = "Normal" ModeNameDoneList = "Completed Tasks" ModeNameAdd = "Add Task" ModeNameEdit = "Edit Task" ModeNameHelp = "Help" )
UI mode names for display
const ( FilterNameAll = "All" FilterNameNone = "None" FilterNameLow = "Low Priority" FilterNameMedium = "Medium Priority" FilterNameHigh = "High Priority" )
Filter mode names
const ( ModeNormal = iota ModeDoneTaskList ModeAdditional ModeEdit ModeHelp )
Variables ¶
This section is empty.
Functions ¶
func SanitizeTaskName ¶
SanitizeTaskName sanitizes a task name by trimming whitespace and removing dangerous characters.
func ValidatePriorityInput ¶
ValidatePriorityInput validates priority input.
func ValidateTaskName ¶
ValidateTaskName validates a task name input.
Types ¶
type FilterMode ¶
type FilterMode int
FilterMode represents different task filtering modes.
const ( FilterAll FilterMode = iota FilterNone FilterLow FilterMedium FilterHigh )
type KeyMap ¶
type KeyMap struct {
Add key.Binding
Up key.Binding
Down key.Binding
Delete key.Binding
Left key.Binding
Right key.Binding
Edit key.Binding
Enter key.Binding
ListType key.Binding
Escape key.Binding
Help key.Binding
Quit key.Binding
Filter key.Binding
Undo key.Binding
Redo key.Binding
// New shortcuts
PriorityNone key.Binding
PriorityLow key.Binding
PriorityMedium key.Binding
PriorityHigh key.Binding
Home key.Binding
End key.Binding
ClearCompleted key.Binding
}
KeyMap defines the key bindings for the UI.
type Model ¶
type Model struct {
// contains filtered or unexported fields
}
Model represents the main UI model.
func NewModel ¶
func NewModel(cfg *config.Config, taskManager *task.TaskManager) *Model
NewModel creates a new UI model with the given configuration and task manager.
func NewTestModel ¶ added in v0.4.5
NewTestModel creates a minimal UI model for testing purposes. It skips initializing Bubble Tea input components that require a TTY.
func (*Model) GetTaskManager ¶
func (m *Model) GetTaskManager() *task.TaskManager
GetTaskManager returns the task manager.