diff options
| author | ChangeHow <[email protected]> | 2026-02-08 03:35:46 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-02-07 13:35:46 -0600 |
| commit | 805207e096a174083f06e5426d31b7a0f37b15ca (patch) | |
| tree | 1fa34448c7cf2ea36169468943382453a000929b /packages/app/src/pages | |
| parent | 0e1f5436465b17eed0ca1a4b11e63c549f691ecd (diff) | |
| download | opencode-805207e096a174083f06e5426d31b7a0f37b15ca.tar.gz opencode-805207e096a174083f06e5426d31b7a0f37b15ca.zip | |
feat(app): add web input focus shortcut (#12493)
Diffstat (limited to 'packages/app/src/pages')
| -rw-r--r-- | packages/app/src/pages/session.tsx | 3 | ||||
| -rw-r--r-- | packages/app/src/pages/session/use-session-commands.tsx | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 31f9e3fb7..98f8bdbcd 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -917,6 +917,8 @@ export default function Page() { setFileTreeTab("all") } + const focusInput = () => inputRef?.focus() + useSessionCommands({ command, dialog, @@ -943,6 +945,7 @@ export default function Page() { setExpanded: (id, fn) => setStore("expanded", id, fn), setActiveMessage, addSelectionToContext, + focusInput, }) const openReviewFile = createOpenReviewFile({ diff --git a/packages/app/src/pages/session/use-session-commands.tsx b/packages/app/src/pages/session/use-session-commands.tsx index 0fe2c6044..09c0fd17c 100644 --- a/packages/app/src/pages/session/use-session-commands.tsx +++ b/packages/app/src/pages/session/use-session-commands.tsx @@ -48,6 +48,7 @@ export const useSessionCommands = (input: { setExpanded: (id: string, fn: (open: boolean | undefined) => boolean) => void setActiveMessage: (message: UserMessage | undefined) => void addSelectionToContext: (path: string, selection: FileSelection) => void + focusInput: () => void }) => { const sessionCommands = createMemo(() => [ { @@ -143,6 +144,13 @@ export const useSessionCommands = (input: { onSelect: () => input.layout.fileTree.toggle(), }, { + id: "input.focus", + title: input.language.t("command.input.focus"), + category: input.language.t("command.category.view"), + keybind: "ctrl+l", + onSelect: () => input.focusInput(), + }, + { id: "terminal.new", title: input.language.t("command.terminal.new"), description: input.language.t("command.terminal.new.description"), |
