diff options
| author | Dax Raad <[email protected]> | 2025-10-31 19:47:08 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-10-31 19:47:08 -0400 |
| commit | 9beb0f851281a2a5740b4c2b59602504ed892bd9 (patch) | |
| tree | 7942a6fe3980ceb6ea9d3a2c0d26b1b216fb9fea | |
| parent | d4cb47eadc515646f9f42679100a075ff9c9d458 (diff) | |
| download | opencode-9beb0f851281a2a5740b4c2b59602504ed892bd9.tar.gz opencode-9beb0f851281a2a5740b4c2b59602504ed892bd9.zip | |
tui: improve keyboard navigation and MCP server status display
3 files changed, 4 insertions, 4 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-command.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-command.tsx index 0dfefe422..ce9bcde42 100644 --- a/packages/opencode/src/cli/cmd/tui/component/dialog-command.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/dialog-command.tsx @@ -78,7 +78,7 @@ export function CommandProvider(props: ParentProps) { const keybind = useKeybind() useKeyboard((evt) => { - if (keybind.match("command_list", evt)) { + if (keybind.match("command_list", evt) && dialog.stack.length === 0) { evt.preventDefault() dialog.replace(() => <DialogCommand options={value.options} />) return diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx index 732aa4573..c2faddafa 100644 --- a/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx @@ -15,7 +15,7 @@ export function DialogStatus() { <text attributes={TextAttributes.BOLD}>Status</text> <text fg={theme.textMuted}>esc</text> </box> - <Show when={Object.keys(sync.data.mcp).length > 0}> + <Show when={Object.keys(sync.data.mcp).length > 0} fallback={<text>No MCP Servers</text>}> <box> <text>{Object.keys(sync.data.mcp).length} MCP Servers</text> <For each={Object.entries(sync.data.mcp)}> diff --git a/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx b/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx index 3c25c4a87..ee4888106 100644 --- a/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx +++ b/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx @@ -123,8 +123,8 @@ export function DialogSelect<T>(props: DialogSelectProps<T>) { const keybind = useKeybind() useKeyboard((evt) => { - if (evt.name === "up") move(-1) - if (evt.name === "down") move(1) + if (evt.name === "up" || (evt.ctrl && evt.name === "p")) move(-1) + if (evt.name === "down" || (evt.ctrl && evt.name === "n")) move(1) if (evt.name === "pageup") move(-10) if (evt.name === "pagedown") move(10) if (evt.name === "return") { |
