CmdcTui.Dialogs.CommandPalette (cmdc_tui v0.1.1)

Copy Markdown View Source

命令面板 — Ctrl+P 打开,Popup + TextInput + SlashCommands 自动补全。

功能

  • Ctrl+P 打开(任何时候,包括 pending_ask/approval 关闭后)
  • 实时输入过滤命令列表(模糊匹配前缀)
  • Up/Down 选择命令
  • Enter 执行选中命令
  • Esc 关闭

SlashCommands 内嵌补全(Textarea 中)

当 Textarea 内容以 / 开头时,在 Chat 区域上方叠加一个小 autocomplete popup, 不打开命令面板。用户继续输入过滤,Up/Down 选择,Enter 执行(先清空 textarea)。 此逻辑在 CmdcTui.Dialogs.SlashAutocomplete 中处理。

Summary

Functions

过滤命令列表数量(用于边界检查)。

渲染命令面板 Popup(仅 command_palette_open 为 true 时)。

获取当前选中命令名称(用于 Enter 执行)。

Functions

match_count(query)

@spec match_count(String.t()) :: non_neg_integer()

过滤命令列表数量(用于边界检查)。

render(state, area)

渲染命令面板 Popup(仅 command_palette_open 为 true 时)。

selected_command(state)

@spec selected_command(CmdcTui.State.t()) :: String.t() | nil

获取当前选中命令名称(用于 Enter 执行)。