app

package
v0.0.0-...-bd6e9b7 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2026 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GoToHour

func GoToHour(weekModel *types.WeekModel, hour int) error

GoToHour jumps cursor to the specified hour on the current day

func GoToMinute

func GoToMinute(weekModel *types.WeekModel, minute int) error

GoToMinute jumps cursor to the specified minute within the current hour

func GoToMonth

func GoToMonth(weekModel *types.WeekModel, month int) error

GoToMonth jumps to the specified month, preserving day and time if possible

func GoToMonthDay

func GoToMonthDay(weekModel *types.WeekModel, dayOfMonth int) error

GoToMonthDay jumps to the specified day of the month, preserving time

func GoToSpecificTime

func GoToSpecificTime(weekModel *types.WeekModel, hour, minute int) error

GoToSpecificTime jumps cursor to the specified hour and minute on current day

func GoToYear

func GoToYear(weekModel *types.WeekModel, year int) error

GoToYear jumps to the specified year, preserving month, day and time if possible

func HandleAddEvent

func HandleAddEvent(m Model, count int) (tea.Model, tea.Cmd)

HandleAddEvent shows the add event form

func HandleCalendarPopup

func HandleCalendarPopup(m Model, count int) (tea.Model, tea.Cmd)

func HandleChangeColor

func HandleChangeColor(m Model, count int) (tea.Model, tea.Cmd)

func HandleChangeDescription

func HandleChangeDescription(m Model, count int) (tea.Model, tea.Cmd)

func HandleChangeDuration

func HandleChangeDuration(m Model, count int) (tea.Model, tea.Cmd)

func HandleChangeEndTime

func HandleChangeEndTime(m Model, count int) (tea.Model, tea.Cmd)
func HandleChangeLink(m Model, count int) (tea.Model, tea.Cmd)

func HandleChangeLocation

func HandleChangeLocation(m Model, count int) (tea.Model, tea.Cmd)

func HandleChangeStartTime

func HandleChangeStartTime(m Model, count int) (tea.Model, tea.Cmd)

func HandleChangeTitle

func HandleChangeTitle(m Model, count int) (tea.Model, tea.Cmd)

func HandleClearLockedSearch

func HandleClearLockedSearch(m Model, count int) (tea.Model, tea.Cmd)

func HandleCloseForm

func HandleCloseForm(m Model, count int) (tea.Model, tea.Cmd)

HandleCloseForm closes the currently visible form

func HandleCopyEvent

func HandleCopyEvent(m Model, count int) (tea.Model, tea.Cmd)

HandleCopyEvent performs copy operation on event at cursor

func HandleCopySelection

func HandleCopySelection(m Model, count int) (tea.Model, tea.Cmd)

HandleCopySelection copies all events in visual selection

func HandleCutEvent

func HandleCutEvent(m Model, count int) (tea.Model, tea.Cmd)

HandleCutEvent performs cut operation (copy + delete) on event at cursor

func HandleCutSelection

func HandleCutSelection(m Model, count int) (tea.Model, tea.Cmd)

HandleCutSelection cuts all events in visual selection (copy then delete)

func HandleDeleteSelection

func HandleDeleteSelection(m Model, count int) (tea.Model, tea.Cmd)

func HandleEditEvent

func HandleEditEvent(m Model, count int) (tea.Model, tea.Cmd)

HandleEditEvent shows the comprehensive edit event form for non-recurring, timed events

func HandleEnterSearchMode

func HandleEnterSearchMode(m Model, count int) (tea.Model, tea.Cmd)

HandleEnterSearchMode enters search mode (called from app layer with vimState access)

func HandleEnterVisualMode

func HandleEnterVisualMode(m Model, count int) (tea.Model, tea.Cmd)

HandleEnterVisualMode enters visual mode and sets anchor

func HandleExecuteSearch

func HandleExecuteSearch(m Model, count int) (tea.Model, tea.Cmd)

func HandleExitSearchMode

func HandleExitSearchMode(m Model, count int) (tea.Model, tea.Cmd)

func HandleExitVisualMode

func HandleExitVisualMode(m Model, count int) (tea.Model, tea.Cmd)

HandleExitVisualMode exits visual mode back to normal

func HandleGoToDay

func HandleGoToDay(m Model, day int) (tea.Model, tea.Cmd)

HandleGoToDay jumps to the specified day of the month, preserving time (gd##)

func HandleGoToHour

func HandleGoToHour(m Model, hour int) (tea.Model, tea.Cmd)

HandleGoToHour jumps cursor to the specified hour on the current day (gh##)

func HandleGoToMinute

func HandleGoToMinute(m Model, minute int) (tea.Model, tea.Cmd)

HandleGoToMinute jumps cursor to the specified minute within the current hour (gm##)

func HandleGoToMonth

func HandleGoToMonth(m Model, month int) (tea.Model, tea.Cmd)

HandleGoToMonth jumps to the specified month, preserving day and time if possible (gM##)

func HandleGoToTime

func HandleGoToTime(m Model, time int) (tea.Model, tea.Cmd)

HandleGoToTime jumps cursor to the specified hour and minute on current day (gt####)

func HandleGoToYear

func HandleGoToYear(m Model, year int) (tea.Model, tea.Cmd)

HandleGoToYear jumps to the specified year, preserving month, day and time if possible (gY####)

func HandleHideHints

func HandleHideHints(m Model, count int) (tea.Model, tea.Cmd)

HandleHideHints hides key hints and cancels any pending timeout

func HandleJumpToCurrentTime

func HandleJumpToCurrentTime(m Model, count int) (tea.Model, tea.Cmd)

HandleJumpToCurrentTime implements t command

func HandleJumpToEndOfDay

func HandleJumpToEndOfDay(m Model, count int) (tea.Model, tea.Cmd)

HandleJumpToEndOfDay implements G command

func HandleJumpToFirstEventOfDay

func HandleJumpToFirstEventOfDay(m Model, count int) (tea.Model, tea.Cmd)

HandleJumpToFirstEventOfDay implements ^ command

func HandleJumpToLastEventOfDay

func HandleJumpToLastEventOfDay(m Model, count int) (tea.Model, tea.Cmd)

HandleJumpToLastEventOfDay implements $ command

func HandleJumpToStartOfDay

func HandleJumpToStartOfDay(m Model, count int) (tea.Model, tea.Cmd)

HandleJumpToStartOfDay implements gg command

func HandleMoveDown

func HandleMoveDown(m Model, count int) (tea.Model, tea.Cmd)

MoveDown implements j command

func HandleMoveLeft

func HandleMoveLeft(m Model, count int) (tea.Model, tea.Cmd)

HandleMoveLeft implements h command

func HandleMoveRight

func HandleMoveRight(m Model, count int) (tea.Model, tea.Cmd)

HandleMoveRight implements l command

func HandleMoveUp

func HandleMoveUp(m Model, count int) (tea.Model, tea.Cmd)

MoveUp implements k command

func HandleNavigateToEventEnd

func HandleNavigateToEventEnd(m Model, count int) (tea.Model, tea.Cmd)

HandleNavigateToEventEnd handles e command - vim-like 'e' behavior for event ends

func HandleNavigateToNextEvent

func HandleNavigateToNextEvent(m Model, count int) (tea.Model, tea.Cmd)

HandleNavigateToNextEvent handles w command - finds and navigates to next event across all weeks

func HandleNavigateToNextResult

func HandleNavigateToNextResult(m Model, count int) (tea.Model, tea.Cmd)

HandleNavigateToNextResult moves cursor to next search result (actual implementation)

func HandleNavigateToNextWeek

func HandleNavigateToNextWeek(m Model, count int) (tea.Model, tea.Cmd)

NavigateToNextWeek implements L command

func HandleNavigateToPreviousEvent

func HandleNavigateToPreviousEvent(m Model, count int) (tea.Model, tea.Cmd)

func HandleNavigateToPreviousResult

func HandleNavigateToPreviousResult(m Model, count int) (tea.Model, tea.Cmd)

HandleNavigateToPreviousResult moves cursor to previous search result (actual implementation)

func HandleNavigateToPreviousWeek

func HandleNavigateToPreviousWeek(m Model, count int) (tea.Model, tea.Cmd)

NavigateToPreviousWeek implements H command

func HandleOpenAllDayEventURL

func HandleOpenAllDayEventURL(m Model, count int) (tea.Model, tea.Cmd)

HandleOpenAllDayEventURL opens the URL of the selected all-day event

func HandleOpenEventURL

func HandleOpenEventURL(m Model, count int) (tea.Model, tea.Cmd)

HandleOpenEventURL opens the URL of the event at cursor position

func HandlePasteEvent

func HandlePasteEvent(m Model, count int) (tea.Model, tea.Cmd)

HandlePasteEvent performs paste operation at cursor position

func HandleQuit

func HandleQuit(m Model, count int) (tea.Model, tea.Cmd)

HandleQuitApplication quits the application

func HandleRecurringDeleteFromPicker

func HandleRecurringDeleteFromPicker(m Model, count int) (tea.Model, tea.Cmd)

HandleRecurringDeleteFromPicker shows recurring delete dialog for selected event from picker

func HandleRedoAction

func HandleRedoAction(m Model, count int) (tea.Model, tea.Cmd)

HandleRedoAction performs redo operation

func HandleShowRecuringDeleteDialog

func HandleShowRecuringDeleteDialog(m Model, count int) (tea.Model, tea.Cmd)

HandleShowRecuringDeleteDialog shows recurring delete dialog for event under cursor

func HandleStartHintTimeout

func HandleStartHintTimeout(m Model, count int) (tea.Model, tea.Cmd)

HandleStartHintTimeout starts timeout for showing key hints

func HandleSwapSelectionEnds

func HandleSwapSelectionEnds(m Model, count int) (tea.Model, tea.Cmd)

HandleSwapSelectionEnds swaps cursor and anchor positions

func HandleToggleAgendaLayer

func HandleToggleAgendaLayer(m Model, count int) (tea.Model, tea.Cmd)

HandleToggleAgendaLayer shows the agenda picker popup for the current cursor day

func HandleToggleAllDayGrid

func HandleToggleAllDayGrid(m Model, count int) (tea.Model, tea.Cmd)

func HandleToggleEventTextColor

func HandleToggleEventTextColor(m Model, count int) (tea.Model, tea.Cmd)

func HandleToggleHints

func HandleToggleHints(m Model, count int) (tea.Model, tea.Cmd)

HandleToggleHints toggles keyhints visibility based on current state

func HandleUndoAction

func HandleUndoAction(m Model, count int) (tea.Model, tea.Cmd)

HandleUndoAction performs undo operation

func HandleUpdateHintsForSequence

func HandleUpdateHintsForSequence(m Model, count int) (tea.Model, tea.Cmd)

HandleUpdateHintsForSequence immediately updates hints if visible, or starts timeout if not

func HandleViewEventDetails

func HandleViewEventDetails(m Model, count int) (tea.Model, tea.Cmd)

func HandleZoomIn

func HandleZoomIn(m Model, count int) (tea.Model, tea.Cmd)

HandleZoomIn implements zoom_in command

func HandleZoomOut

func HandleZoomOut(m Model, count int) (tea.Model, tea.Cmd)

HandleZoomOut implements zoom_out command

func VisualMoveDown

func VisualMoveDown(weekModel *types.WeekModel, count int) tea.Cmd

VisualMoveDown implements j in visual mode

func VisualMoveLeft

func VisualMoveLeft(weekModel *types.WeekModel, count int) tea.Cmd

VisualMoveLeft implements h in visual mode

func VisualMoveRight

func VisualMoveRight(weekModel *types.WeekModel, count int) tea.Cmd

VisualMoveRight implements l in visual mode

func VisualMoveUp

func VisualMoveUp(weekModel *types.WeekModel, count int) tea.Cmd

VisualMoveUp implements k in visual mode

Types

type ActionHandler

type ActionHandler func(m Model, argument int) (tea.Model, tea.Cmd)

ActionHandler defines the interface for all vim actions

type Model

type Model struct {
	WeekModel            types.WeekModel
	EventManager         *ical_crud.EventManager
	Form                 *huh.Form
	ShowForm             bool
	RecurringOperation   *types.RecurringEventOperation // Store current recurring operation
	Quitting             bool
	VimState             *keybinds.VimState
	VimRegistry          *keybinds.CommandRegistry
	KeyHints             *keyhints.KeyHintSystem
	WaitingForKeyTimeout bool
	SyncInterval         int // CalDAV background sync interval in seconds (0 = disabled)
}

Model represents the main application state

func NewModel

func NewModel(bgHex string) Model

NewModel creates and initializes a new application model

func (Model) Init

func (m Model) Init() tea.Cmd

Init implements the tea.Model interface

func (Model) Update

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

Update handles all application state updates

func (Model) View

func (m Model) View() string

View renders the complete application view

Jump to

Keyboard shortcuts

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