messages.go

 1package dialog
 2
 3import (
 4	tea "charm.land/bubbletea/v2"
 5	"github.com/charmbracelet/crush/internal/session"
 6)
 7
 8// CloseMsg is a message to close the current dialog.
 9type CloseMsg struct{}
10
11// QuitMsg is a message to quit the application.
12type QuitMsg = tea.QuitMsg
13
14// SessionSelectedMsg is a message indicating a session has been selected.
15type SessionSelectedMsg struct {
16	Session session.Session
17}
18
19// Messages for commands
20type (
21	SwitchSessionsMsg      struct{}
22	NewSessionsMsg         struct{}
23	SwitchModelMsg         struct{}
24	OpenFilePickerMsg      struct{}
25	ToggleHelpMsg          struct{}
26	ToggleCompactModeMsg   struct{}
27	ToggleThinkingMsg      struct{}
28	OpenReasoningDialogMsg struct{}
29	OpenExternalEditorMsg  struct{}
30	ToggleYoloModeMsg      struct{}
31	CompactMsg             struct {
32		SessionID string
33	}
34)