From 39f1336621c818c612eae8e662e3f87e53a99260 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Wed, 15 Jul 2026 00:55:11 -0400 Subject: [PATCH] refactor(tui): remove home screen tips --- packages/cli/src/config/migrate.ts | 7 +- packages/cli/test/config.test.ts | 3 +- packages/plugin/src/tui.ts | 2 +- packages/tui/src/component/dialog-config.tsx | 8 - packages/tui/src/config/index.tsx | 1 - packages/tui/src/config/v1/keybind.ts | 2 - .../src/feature-plugins/home/tips-view.tsx | 286 ------------------ .../tui/src/feature-plugins/home/tips.tsx | 51 ---- packages/tui/src/plugin/builtins.ts | 2 - packages/web/src/content/docs/ar/keybinds.mdx | 1 - packages/web/src/content/docs/bs/keybinds.mdx | 1 - packages/web/src/content/docs/da/keybinds.mdx | 1 - packages/web/src/content/docs/de/keybinds.mdx | 1 - packages/web/src/content/docs/es/keybinds.mdx | 1 - packages/web/src/content/docs/fr/keybinds.mdx | 1 - packages/web/src/content/docs/it/keybinds.mdx | 1 - packages/web/src/content/docs/ja/keybinds.mdx | 1 - packages/web/src/content/docs/keybinds.mdx | 1 - packages/web/src/content/docs/ko/keybinds.mdx | 1 - packages/web/src/content/docs/nb/keybinds.mdx | 1 - packages/web/src/content/docs/pl/keybinds.mdx | 1 - .../web/src/content/docs/pt-br/keybinds.mdx | 1 - packages/web/src/content/docs/ru/keybinds.mdx | 1 - packages/web/src/content/docs/th/keybinds.mdx | 1 - packages/web/src/content/docs/tr/keybinds.mdx | 1 - .../web/src/content/docs/zh-cn/keybinds.mdx | 1 - .../web/src/content/docs/zh-tw/keybinds.mdx | 1 - 27 files changed, 4 insertions(+), 376 deletions(-) delete mode 100644 packages/tui/src/feature-plugins/home/tips-view.tsx delete mode 100644 packages/tui/src/feature-plugins/home/tips.tsx diff --git a/packages/cli/src/config/migrate.ts b/packages/cli/src/config/migrate.ts index bf57fdb317..ca8070e25c 100644 --- a/packages/cli/src/config/migrate.ts +++ b/packages/cli/src/config/migrate.ts @@ -116,14 +116,11 @@ export function migrateV1(legacy: TuiConfigV1.Info | undefined, kv: Record { scrollbar_visible: true, thinking_mode: "show", exploration_grouping: false, - tips_hidden: true, dismissed_getting_started: true, animations_enabled: false, skipped_version: "9.9.9", @@ -75,7 +74,7 @@ test("migrates tui and kv config into cli.json", async () => { terminal: { title: false }, prompt: { editor: false, paste: "full" }, session: { sidebar: "hide", scrollbar: true, thinking: "show", grouping: "none" }, - hints: { tips: false, onboarding: false }, + hints: { onboarding: false }, animations: false, mouse: false, }) diff --git a/packages/plugin/src/tui.ts b/packages/plugin/src/tui.ts index d3f144e859..000a8c6aba 100644 --- a/packages/plugin/src/tui.ts +++ b/packages/plugin/src/tui.ts @@ -438,7 +438,7 @@ type TuiConfigView = { markdown?: "source" | "rendered" grouping?: "auto" | "none" } - hints?: { tips?: boolean; onboarding?: boolean } + hints?: { onboarding?: boolean } animations?: boolean mouse: boolean keybinds: TuiBindingLookupView diff --git a/packages/tui/src/component/dialog-config.tsx b/packages/tui/src/component/dialog-config.tsx index 64df044591..c63e6e5d87 100644 --- a/packages/tui/src/component/dialog-config.tsx +++ b/packages/tui/src/component/dialog-config.tsx @@ -39,14 +39,6 @@ const settings: Setting[] = [ values: [false, true], labels: ["off", "on"], }, - { - title: "Tips", - category: "Appearance", - path: ["hints", "tips"], - default: true, - values: [false, true], - labels: ["off", "on"], - }, { title: "Onboarding", category: "Appearance", diff --git a/packages/tui/src/config/index.tsx b/packages/tui/src/config/index.tsx index 7025effc16..46c649fff1 100644 --- a/packages/tui/src/config/index.tsx +++ b/packages/tui/src/config/index.tsx @@ -123,7 +123,6 @@ export const Info = Schema.Struct({ ).annotate({ description: "Session transcript presentation settings" }), hints: Schema.optional( Schema.Struct({ - tips: Schema.optional(Schema.Boolean).annotate({ description: "Show usage tips on the home screen" }), onboarding: Schema.optional(Schema.Boolean).annotate({ description: "Show getting-started guidance" }), }), ).annotate({ description: "In-product guidance settings" }), diff --git a/packages/tui/src/config/v1/keybind.ts b/packages/tui/src/config/v1/keybind.ts index 18c68a2ba4..67f64bc68e 100644 --- a/packages/tui/src/config/v1/keybind.ts +++ b/packages/tui/src/config/v1/keybind.ts @@ -215,7 +215,6 @@ export const Definitions = { terminal_suspend: keybind("ctrl+z", "Suspend terminal"), terminal_title_toggle: keybind("none", "Toggle terminal title"), - tips_toggle: keybind("h", "Toggle tips on home screen"), plugin_manager: keybind("none", "Open plugin manager dialog"), plugin_install: keybind("none", "Install plugin"), @@ -389,7 +388,6 @@ export const CommandMap = { history_next: "prompt.history.next", terminal_suspend: "terminal.suspend", terminal_title_toggle: "terminal.title.toggle", - tips_toggle: "tips.toggle", plugin_manager: "plugins.list", plugin_install: "plugins.install", which_key_toggle: "which-key.toggle", diff --git a/packages/tui/src/feature-plugins/home/tips-view.tsx b/packages/tui/src/feature-plugins/home/tips-view.tsx deleted file mode 100644 index 8c65dbd603..0000000000 --- a/packages/tui/src/feature-plugins/home/tips-view.tsx +++ /dev/null @@ -1,286 +0,0 @@ -import { createMemo, For, type Accessor } from "solid-js" -import { DEFAULT_THEMES, useTheme } from "../../context/theme" -import { Keymap } from "../../context/keymap" - -const themeCount = Object.keys(DEFAULT_THEMES).length - -type TipPart = { text: string; highlight: boolean } -type TipShortcut = Accessor -type Shortcuts = { - agentCycle: TipShortcut - childFirst: TipShortcut - childNext: TipShortcut - childPrevious: TipShortcut - commandList: TipShortcut - editorOpen: TipShortcut - helpShow: TipShortcut - inputClear: TipShortcut - inputNewline: TipShortcut - inputPaste: TipShortcut - inputUndo: TipShortcut - leader: TipShortcut - messagesCopy: TipShortcut - messagesFirst: TipShortcut - messagesLast: TipShortcut - messagesPageDown: TipShortcut - messagesPageUp: TipShortcut - modelCycleRecent: TipShortcut - modelList: TipShortcut - sessionExport: TipShortcut - sessionInterrupt: TipShortcut - sessionList: TipShortcut - sessionNew: TipShortcut - sessionParent: TipShortcut - sessionPinToggle: TipShortcut - sessionQuickSwitch1: TipShortcut - sessionQuickSwitch9: TipShortcut - sessionSidebarToggle: TipShortcut - sessionTimeline: TipShortcut - statusView: TipShortcut - terminalSuspend: TipShortcut - themeList: TipShortcut -} -type Tip = string | ((shortcuts: Shortcuts) => string | undefined) - -function parse(tip: string): TipPart[] { - const parts: TipPart[] = [] - const regex = /\{highlight\}(.*?)\{\/highlight\}/g - const found = Array.from(tip.matchAll(regex)) - const state = found.reduce( - (acc, match) => { - const start = match.index ?? 0 - if (start > acc.index) { - acc.parts.push({ text: tip.slice(acc.index, start), highlight: false }) - } - acc.parts.push({ text: match[1], highlight: true }) - acc.index = start + match[0].length - return acc - }, - { parts, index: 0 }, - ) - - if (state.index < tip.length) { - parts.push({ text: tip.slice(state.index), highlight: false }) - } - - return parts -} - -const NO_MODELS_TIP = "Run {highlight}/connect{/highlight} to add an AI provider and start coding" -const NO_MODELS_PARTS = parse(NO_MODELS_TIP) - -function shortcutText(value: string) { - return `{highlight}${value}{/highlight}` -} - -function commandText(command: string, shortcut: string | undefined) { - if (!shortcut) return shortcutText(command) - return `${shortcutText(command)} or ${shortcutText(shortcut)}` -} - -function press(shortcut: string | undefined, text: string) { - if (!shortcut) return undefined - return `Press ${shortcutText(shortcut)} ${text}` -} - -export function Tips(props: { connected?: boolean }) { - const theme = useTheme().theme - const keymap = Keymap.useShortcuts() - const tipOffset = Math.random() - const shortcut = (id: string) => () => keymap.get(id) - const shortcuts: Shortcuts = { - agentCycle: shortcut("agent.cycle"), - childFirst: shortcut("session.child.first"), - childNext: shortcut("session.child.next"), - childPrevious: shortcut("session.child.previous"), - commandList: shortcut("command.palette.show"), - editorOpen: shortcut("prompt.editor"), - helpShow: shortcut("help.show"), - inputClear: shortcut("prompt.clear"), - inputNewline: shortcut("input.newline"), - inputPaste: shortcut("prompt.paste"), - inputUndo: shortcut("input.undo"), - leader: shortcut("leader"), - messagesCopy: shortcut("messages.copy"), - messagesFirst: shortcut("session.first"), - messagesLast: shortcut("session.last"), - messagesPageDown: shortcut("session.page.down"), - messagesPageUp: shortcut("session.page.up"), - modelCycleRecent: shortcut("model.cycle_recent"), - modelList: shortcut("model.list"), - sessionExport: shortcut("session.export"), - sessionInterrupt: shortcut("session.interrupt"), - sessionList: shortcut("session.list"), - sessionNew: shortcut("session.new"), - sessionParent: shortcut("session.parent"), - sessionPinToggle: shortcut("session.pin.toggle"), - sessionQuickSwitch1: shortcut("session.quick_switch.1"), - sessionQuickSwitch9: shortcut("session.quick_switch.9"), - sessionSidebarToggle: shortcut("session.sidebar.toggle"), - sessionTimeline: shortcut("session.timeline"), - statusView: shortcut("opencode.status"), - terminalSuspend: shortcut("terminal.suspend"), - themeList: shortcut("theme.switch"), - } - const tip = createMemo(() => { - if (props.connected === false) return NO_MODELS_TIP - const tips = [...TIPS, process.platform !== "win32" ? TERMINAL_SUSPEND_TIP : INPUT_UNDO_TIP].flatMap((item) => { - const value = typeof item === "string" ? item : item(shortcuts) - return value ? [value] : [] - }) - return tips[Math.floor(tipOffset * tips.length)] ?? NO_MODELS_TIP - }, NO_MODELS_TIP) - // Solid can expose a memo's initial value while a pure computation is pending. - const parts = createMemo(() => { - const value = tip() - if (typeof value === "string") return parse(value) - return NO_MODELS_PARTS - }, NO_MODELS_PARTS) - - return ( - - - ● Tip{" "} - - - - {(part) => {part.text}} - - - - ) -} - -const TIPS: Tip[] = [ - "Type {highlight}@{/highlight} followed by a filename to fuzzy search and attach files", - "Start a message with {highlight}!{/highlight} to run shell commands (e.g., {highlight}!ls -la{/highlight})", - (shortcuts) => press(shortcuts.agentCycle(), "to cycle between Build and Plan agents"), - "Use {highlight}/undo{/highlight} to revert the last message and file changes", - "Use {highlight}/redo{/highlight} to restore previously undone messages and file changes", - "Run {highlight}/share{/highlight} to create a public opencode.ai link", - "Drag and drop images or PDFs into the terminal as context", - (shortcuts) => press(shortcuts.inputPaste(), "to paste images from your clipboard into the prompt"), - (shortcuts) => `Use ${commandText("/editor", shortcuts.editorOpen())} to compose messages in your external editor`, - "Run {highlight}/init{/highlight} to auto-generate project rules based on your codebase", - (shortcuts) => `Use ${commandText("/models", shortcuts.modelList())} to switch between available AI models`, - (shortcuts) => `Use ${commandText("/themes", shortcuts.themeList())} to switch between ${themeCount} built-in themes`, - (shortcuts) => `Use ${commandText("/new", shortcuts.sessionNew())} to start a fresh conversation session`, - (shortcuts) => `Use ${commandText("/sessions", shortcuts.sessionList())} to list, pin, and continue sessions`, - (shortcuts) => press(shortcuts.sessionPinToggle(), "in the session list to pin one at the top"), - (shortcuts) => { - const first = shortcuts.sessionQuickSwitch1() - const last = shortcuts.sessionQuickSwitch9() - if (!first || !last) return undefined - return `Use ${shortcutText(first)} through ${shortcutText(last)} to switch pinned sessions` - }, - "Run {highlight}/compact{/highlight} to summarize long sessions near context limits", - (shortcuts) => `Use ${commandText("/export", shortcuts.sessionExport())} to save the conversation as Markdown`, - (shortcuts) => press(shortcuts.messagesCopy(), "to copy the assistant's last message to clipboard"), - (shortcuts) => press(shortcuts.commandList(), "to see all available actions and commands"), - "Run {highlight}/connect{/highlight} to add API keys for 75+ supported LLM providers", - (shortcuts) => { - const leader = shortcuts.leader() - if (!leader) return undefined - return `The leader key is ${shortcutText(leader)}; combine with other keys for quick actions` - }, - (shortcuts) => press(shortcuts.modelCycleRecent(), "to quickly switch between recently used models"), - (shortcuts) => press(shortcuts.sessionSidebarToggle(), "in a session to show or hide the sidebar panel"), - (shortcuts) => { - const up = shortcuts.messagesPageUp() - const down = shortcuts.messagesPageDown() - if (!up || !down) return undefined - return `Use ${shortcutText(up)}/${shortcutText(down)} to navigate through conversation history` - }, - (shortcuts) => press(shortcuts.messagesFirst(), "to jump to the beginning of the conversation"), - (shortcuts) => press(shortcuts.messagesLast(), "to jump to the most recent message"), - (shortcuts) => press(shortcuts.inputNewline(), "to add newlines in your prompt"), - (shortcuts) => press(shortcuts.inputClear(), "when typing to clear the input field"), - (shortcuts) => press(shortcuts.sessionInterrupt(), "to stop the AI mid-response"), - "Switch to {highlight}Plan{/highlight} agent for suggestions without making changes", - "Use {highlight}@agent-name{/highlight} in prompts to invoke specialized subagents", - (shortcuts) => { - const items = [ - shortcuts.sessionParent(), - shortcuts.childFirst(), - shortcuts.childPrevious(), - shortcuts.childNext(), - ].filter((item): item is string => Boolean(item)) - if (!items.length) return undefined - return `Use ${items.map(shortcutText).join(" / ")} for parent/child sessions` - }, - "Create {highlight}opencode.json{/highlight} for server settings, and {highlight}tui.json{/highlight} for TUI", - "Place TUI settings in {highlight}~/.config/opencode/tui.json{/highlight} for global config", - "Add {highlight}$schema{/highlight} to your config for autocomplete in your editor", - "Configure {highlight}model{/highlight} in config to set your default model", - "Override any keybind in {highlight}tui.json{/highlight} via the {highlight}keybinds{/highlight} section", - "Set any keybind to {highlight}none{/highlight} to disable it completely", - "Configure local or remote MCP servers in the {highlight}mcp{/highlight} config section", - "Add {highlight}.md{/highlight} files to {highlight}.opencode/commands/{/highlight} for reusable prompts", - "Use {highlight}$ARGUMENTS{/highlight}, {highlight}$1{/highlight}, {highlight}$2{/highlight} in custom commands for dynamic input", - "Use backticks to inject shell output (e.g., {highlight}`git status`{/highlight})", - "Add {highlight}.md{/highlight} files to {highlight}.opencode/agents/{/highlight} for specialized AI personas", - "Configure per-agent permissions for {highlight}edit{/highlight}, {highlight}shell{/highlight}, and {highlight}webfetch{/highlight} tools", - 'Use patterns like {highlight}"git *": "allow"{/highlight} for granular shell permissions', - 'Set {highlight}"rm -rf *": "deny"{/highlight} to block destructive commands', - 'Configure {highlight}"git push": "ask"{/highlight} to require approval before pushing', - 'Set {highlight}"formatter": true{/highlight} to enable built-in formatters', - 'Set {highlight}"formatter": false{/highlight} to disable inherited formatters', - "Define custom formatter commands with file extensions in config", - 'Set {highlight}"lsp": true{/highlight} to enable built-in LSP code analysis', - "Create {highlight}.ts{/highlight} files in {highlight}.opencode/tools/{/highlight} to define new LLM tools", - "Tool definitions can invoke scripts written in Python, Go, etc", - "Add {highlight}.ts{/highlight} files to {highlight}.opencode/plugins/{/highlight} for event hooks", - "Use plugins to send OS notifications when sessions complete", - "Create a plugin to prevent OpenCode from reading sensitive files", - "Use {highlight}opencode run{/highlight} for non-interactive scripting", - "Use {highlight}opencode --continue{/highlight} to resume the last session", - "Use {highlight}opencode run -f file.ts{/highlight} to attach files via CLI", - "Use {highlight}--format json{/highlight} for machine-readable output in scripts", - "Run {highlight}opencode serve{/highlight} for headless API access to OpenCode", - "Use {highlight}opencode run --attach{/highlight} to connect to a running server", - "Run {highlight}opencode upgrade{/highlight} to update to the latest version", - "Run {highlight}opencode auth list{/highlight} to see all configured providers", - "Run {highlight}opencode agent create{/highlight} for guided agent creation", - "Use {highlight}/opencode{/highlight} in GitHub issues/PRs to trigger AI actions", - "Run {highlight}opencode github install{/highlight} to set up the GitHub workflow", - "Comment {highlight}/opencode fix this{/highlight} on issues to auto-create PRs", - "Comment {highlight}/oc{/highlight} on PR code lines for targeted code reviews", - 'Use {highlight}"theme": "system"{/highlight} to match your terminal\'s colors', - "Create JSON theme files in {highlight}.opencode/themes/{/highlight} directory", - "Themes support dark/light variants for both modes", - "Use numeric xterm color codes 0-255 in custom theme JSON", - "Use {highlight}{env:VAR_NAME}{/highlight} for environment variables in config", - "Use {highlight}{file:path}{/highlight} to include file contents in config values", - "Use {highlight}instructions{/highlight} in config to load additional rules files", - "Set agent {highlight}temperature{/highlight} from 0.0 (focused) to 1.0 (creative)", - "Configure {highlight}steps{/highlight} to limit agentic iterations per request", - 'Set {highlight}"tools": {"shell": false}{/highlight} to disable specific tools', - 'Set {highlight}"mcp_*": false{/highlight} to disable all tools from an MCP server', - "Override global tool settings per agent configuration", - 'Set {highlight}"share": "auto"{/highlight} to automatically share all sessions', - 'Set {highlight}"share": "disabled"{/highlight} to prevent any session sharing', - "Run {highlight}/unshare{/highlight} to remove a session from public access", - "Permission {highlight}doom_loop{/highlight} prevents infinite tool call loops", - "Permission {highlight}external_directory{/highlight} protects files outside project", - "Run {highlight}opencode debug config{/highlight} to troubleshoot configuration", - "Use {highlight}--print-logs{/highlight} flag to see detailed logs in stderr", - (shortcuts) => `Use ${commandText("/timeline", shortcuts.sessionTimeline())} to jump to specific messages`, - (shortcuts) => `Use ${commandText("/status", shortcuts.statusView())} to see system status info`, - "Enable {highlight}scroll.acceleration{/highlight} in {highlight}cli.json{/highlight} for smooth scrolling", - (shortcuts) => { - const commandList = shortcuts.commandList() - return commandList - ? `Toggle username display in chat via the command palette (${shortcutText(commandList)})` - : "Toggle username display in chat via the command palette" - }, - "Run {highlight}docker run -it --rm ghcr.io/anomalyco/opencode{/highlight} in a container", - "Use {highlight}/connect{/highlight} with OpenCode Zen for curated, tested models", - "Commit your project's {highlight}AGENTS.md{/highlight} file to Git for team sharing", - "Use {highlight}/review{/highlight} to review uncommitted changes, branches, or PRs", - (shortcuts) => `Use ${commandText("/help", shortcuts.helpShow())} to show the help dialog`, - "Use {highlight}/rename{/highlight} to rename the current session", -] - -const INPUT_UNDO_TIP: Tip = (shortcuts) => press(shortcuts.inputUndo(), "to undo changes in your prompt") -const TERMINAL_SUSPEND_TIP: Tip = (shortcuts) => - press(shortcuts.terminalSuspend(), "to suspend the terminal and return to your shell") diff --git a/packages/tui/src/feature-plugins/home/tips.tsx b/packages/tui/src/feature-plugins/home/tips.tsx deleted file mode 100644 index 0fedb29be5..0000000000 --- a/packages/tui/src/feature-plugins/home/tips.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { Plugin } from "@opencode-ai/plugin/v2/tui" -import { createMemo, Show } from "solid-js" -import { Tips } from "./tips-view" -import { Keymap } from "../../context/keymap" -import { useData } from "../../context/data" -import { hasConnectedProvider } from "../../util/connected-provider" -import { useConfig } from "../../config" -import { useDialog } from "../../ui/dialog" - -function View() { - const config = useConfig() - const data = useData() - const dialog = useDialog() - const hidden = createMemo(() => !(config.data.hints?.tips ?? true)) - const first = createMemo(() => data.session.list().length === 0) - const connected = createMemo(() => hasConnectedProvider(data.location.integration.list() ?? [])) - const show = createMemo(() => (!first() || !connected()) && !hidden()) - - Keymap.createLayer(() => ({ - commands: [ - { - id: "tips.toggle", - title: hidden() ? "Show tips" : "Hide tips", - group: "System", - run() { - void config - .update((draft) => { - draft.hints = { ...draft.hints, tips: hidden() } - }) - .catch(() => {}) - dialog.clear() - }, - }, - ], - })) - - return ( - - - - - - ) -} - -export default Plugin.define({ - id: "internal:home-tips", - setup(context) { - context.ui.slot("home.bottom", () => ) - }, -}) diff --git a/packages/tui/src/plugin/builtins.ts b/packages/tui/src/plugin/builtins.ts index ef8a370095..4e9040ce6e 100644 --- a/packages/tui/src/plugin/builtins.ts +++ b/packages/tui/src/plugin/builtins.ts @@ -1,5 +1,4 @@ import HomeFooter from "../feature-plugins/home/footer" -import HomeTips from "../feature-plugins/home/tips" import SidebarContext from "../feature-plugins/sidebar/context" import SidebarFooter from "../feature-plugins/sidebar/footer" import SidebarLsp from "../feature-plugins/sidebar/lsp" @@ -9,7 +8,6 @@ import Scrap from "../feature-plugins/system/scrap" export const builtins = [ HomeFooter, - HomeTips, SidebarContext, SidebarMcp, SidebarLsp, diff --git a/packages/web/src/content/docs/ar/keybinds.mdx b/packages/web/src/content/docs/ar/keybinds.mdx index d40d49729e..792b82eac1 100644 --- a/packages/web/src/content/docs/ar/keybinds.mdx +++ b/packages/web/src/content/docs/ar/keybinds.mdx @@ -99,7 +99,6 @@ description: خصّص اختصارات لوحة المفاتيح. "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/bs/keybinds.mdx b/packages/web/src/content/docs/bs/keybinds.mdx index 31fed59005..4b63d3cef2 100644 --- a/packages/web/src/content/docs/bs/keybinds.mdx +++ b/packages/web/src/content/docs/bs/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode ima listu veza tipki koje možete prilagoditi putem `tui.json`. "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/da/keybinds.mdx b/packages/web/src/content/docs/da/keybinds.mdx index 7b2f2a7f31..e06368dfc7 100644 --- a/packages/web/src/content/docs/da/keybinds.mdx +++ b/packages/web/src/content/docs/da/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode har en liste over nøglebindinger, som du kan tilpasse gennem `tui.json "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/de/keybinds.mdx b/packages/web/src/content/docs/de/keybinds.mdx index 26edf9bdbb..77a3790486 100644 --- a/packages/web/src/content/docs/de/keybinds.mdx +++ b/packages/web/src/content/docs/de/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode verfügt über eine Liste von Tastenkombinationen, die Sie über `tui.j "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/es/keybinds.mdx b/packages/web/src/content/docs/es/keybinds.mdx index 2fc57fa69f..da8b5bf4a0 100644 --- a/packages/web/src/content/docs/es/keybinds.mdx +++ b/packages/web/src/content/docs/es/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode tiene una lista de combinaciones de teclas que puede personalizar a tra "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/fr/keybinds.mdx b/packages/web/src/content/docs/fr/keybinds.mdx index feb4ba37f6..757edfe89a 100644 --- a/packages/web/src/content/docs/fr/keybinds.mdx +++ b/packages/web/src/content/docs/fr/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode a une liste de raccourcis clavier que vous pouvez personnaliser via la "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/it/keybinds.mdx b/packages/web/src/content/docs/it/keybinds.mdx index aef0a4c936..b8e8a5b063 100644 --- a/packages/web/src/content/docs/it/keybinds.mdx +++ b/packages/web/src/content/docs/it/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode ha una lista di scorciatoie che puoi personalizzare tramite `tui.json`. "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/ja/keybinds.mdx b/packages/web/src/content/docs/ja/keybinds.mdx index 8d2de3ba95..305d5b2034 100644 --- a/packages/web/src/content/docs/ja/keybinds.mdx +++ b/packages/web/src/content/docs/ja/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode には、`tui.json` を通じてカスタマイズできるキーバイ "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/keybinds.mdx b/packages/web/src/content/docs/keybinds.mdx index 86f67dfd73..b496aadc07 100644 --- a/packages/web/src/content/docs/keybinds.mdx +++ b/packages/web/src/content/docs/keybinds.mdx @@ -159,7 +159,6 @@ OpenCode has a list of keybinds that you can customize through `tui.json`. "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "plugin_manager": "none", "plugin_install": "none", diff --git a/packages/web/src/content/docs/ko/keybinds.mdx b/packages/web/src/content/docs/ko/keybinds.mdx index b6a605f2eb..928186cd0c 100644 --- a/packages/web/src/content/docs/ko/keybinds.mdx +++ b/packages/web/src/content/docs/ko/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode에는 `tui.json`을 통해 커스터마이즈할 수 있는 키바인 "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/nb/keybinds.mdx b/packages/web/src/content/docs/nb/keybinds.mdx index 623f7aa241..87dbb717cf 100644 --- a/packages/web/src/content/docs/nb/keybinds.mdx +++ b/packages/web/src/content/docs/nb/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode har en liste over tastebindinger som du kan tilpasse gjennom `tui.json` "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/pl/keybinds.mdx b/packages/web/src/content/docs/pl/keybinds.mdx index 0d3068feaf..c4747a9369 100644 --- a/packages/web/src/content/docs/pl/keybinds.mdx +++ b/packages/web/src/content/docs/pl/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode zawiera listę skrótów klawiszowych, które można dostosować za pom "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/pt-br/keybinds.mdx b/packages/web/src/content/docs/pt-br/keybinds.mdx index e1f0f8e7ca..2c78ba125c 100644 --- a/packages/web/src/content/docs/pt-br/keybinds.mdx +++ b/packages/web/src/content/docs/pt-br/keybinds.mdx @@ -99,7 +99,6 @@ O opencode tem uma lista de atalhos de teclado que você pode personalizar atrav "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/ru/keybinds.mdx b/packages/web/src/content/docs/ru/keybinds.mdx index bde4e15530..60696b5128 100644 --- a/packages/web/src/content/docs/ru/keybinds.mdx +++ b/packages/web/src/content/docs/ru/keybinds.mdx @@ -99,7 +99,6 @@ opencode имеет список сочетаний клавиш, которые "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/th/keybinds.mdx b/packages/web/src/content/docs/th/keybinds.mdx index 2f5bcc5d74..339a697219 100644 --- a/packages/web/src/content/docs/th/keybinds.mdx +++ b/packages/web/src/content/docs/th/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode มีรายการปุ่มลัดที่คุณปร "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/tr/keybinds.mdx b/packages/web/src/content/docs/tr/keybinds.mdx index bbf8c3bfa9..15cca8b5cf 100644 --- a/packages/web/src/content/docs/tr/keybinds.mdx +++ b/packages/web/src/content/docs/tr/keybinds.mdx @@ -99,7 +99,6 @@ opencode, `tui.json` aracılığıyla özelleştirebileceğiniz bir tuş bağlan "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/zh-cn/keybinds.mdx b/packages/web/src/content/docs/zh-cn/keybinds.mdx index 0989a30f57..067a432a4b 100644 --- a/packages/web/src/content/docs/zh-cn/keybinds.mdx +++ b/packages/web/src/content/docs/zh-cn/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode 提供了一系列快捷键,您可以通过 `tui.json` 进行自定 "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } } diff --git a/packages/web/src/content/docs/zh-tw/keybinds.mdx b/packages/web/src/content/docs/zh-tw/keybinds.mdx index 61d902141a..6f0643aee4 100644 --- a/packages/web/src/content/docs/zh-tw/keybinds.mdx +++ b/packages/web/src/content/docs/zh-tw/keybinds.mdx @@ -99,7 +99,6 @@ OpenCode 提供了一系列快捷鍵,您可以透過 `tui.json` 進行自訂 "history_next": "down", "terminal_suspend": "ctrl+z", "terminal_title_toggle": "none", - "tips_toggle": "h", "display_thinking": "none" } }