@@ -60,6 +60,9 @@ type commandDialogCmp struct {
61 SwitchSessionsMsg struct{}
61 SwitchSessionsMsg struct{}
62 SwitchModelMsg struct{}
62 SwitchModelMsg struct{}
64+ OpenFilePickerMsg struct{}
65+ ToggleHelpMsg struct{}
63 ToggleCompactModeMsg struct{}
66 ToggleCompactModeMsg struct{}
64 ToggleThinkingMsg struct{}
67 ToggleThinkingMsg struct{}
65 CompactMsg struct {
68 CompactMsg struct {
@@ -248,13 +251,20 @@ func (c *commandDialogCmp) Position() (int, int) {
248func (c *commandDialogCmp) defaultCommands() []Command {
251func (c *commandDialogCmp) defaultCommands() []Command {
249 commands := []Command{
252 commands := []Command{
251− ID: "init",
254+ ID: "switch_session",
252− Title: "Initialize Project",
255+ Title: "Switch Session",
253− Description: "Create/Update the CRUSH.md memory file",
256+ Description: "Switch to a different session",
254 Handler: func(cmd Command) tea.Cmd {
258 Handler: func(cmd Command) tea.Cmd {
255− return util.CmdHandler(chat.SendMsg{
259+ return util.CmdHandler(SwitchSessionsMsg{})
256− Text: prompt.Initialize(),
260+ },
264+ Title: "Switch Model",
265+ Description: "Switch to a different model",
266+ Handler: func(cmd Command) tea.Cmd {
267+ return util.CmdHandler(SwitchModelMsg{})
@@ -307,23 +317,49 @@ func (c *commandDialogCmp) defaultCommands() []Command {
320+ if c.sessionID != "" {
321+ agentCfg := config.Get().Agents["coder"]
322+ model := config.Get().GetModelByType(agentCfg.Model)
323+ if model.SupportsImages {
324+ commands = append(commands, Command{
326+ Title: "Open File Picker",
328+ Description: "Open file picker",
329+ Handler: func(cmd Command) tea.Cmd {
330+ return util.CmdHandler(OpenFilePickerMsg{})
311 return append(commands, []Command{
336 return append(commands, []Command{
313− ID: "switch_session",
338+ ID: "toggle_help",
314− Title: "Switch Session",
339+ Title: "Toggle Help",
315− Description: "Switch to a different session",
316− Shortcut: "ctrl+s",
340+ Shortcut: "ctrl+g",
341+ Description: "Toggle help",
317 Handler: func(cmd Command) tea.Cmd {
342 Handler: func(cmd Command) tea.Cmd {
318− return util.CmdHandler(SwitchSessionsMsg{})
343+ return util.CmdHandler(ToggleHelpMsg{})
322− ID: "switch_model",
347+ ID: "init",
323− Title: "Switch Model",
348+ Title: "Initialize Project",
324− Description: "Switch to a different model",
349+ Description: "Create/Update the CRUSH.md memory file",
325 Handler: func(cmd Command) tea.Cmd {
350 Handler: func(cmd Command) tea.Cmd {
326− return util.CmdHandler(SwitchModelMsg{})
351+ return util.CmdHandler(chat.SendMsg{
352+ Text: prompt.Initialize(),
359+ Description: "Quit",
361+ Handler: func(cmd Command) tea.Cmd {
362+ return util.CmdHandler(QuitMsg{})