import chalk from 'chalk'; import React, { useContext } from 'react'; import { Text } from '@anthropic/ink'; import { getShortcutDisplay } from '../keybindings/shortcutFormat.js'; import { useShortcutDisplay } from '../keybindings/useShortcutDisplay.js'; import { KeyboardShortcutHint } from '@anthropic/ink'; import { InVirtualListContext } from './messageActions.js'; // Context to track if we're inside a sub agent // Similar to MessageResponseContext, this helps us avoid showing // too many "(ctrl+o to expand)" hints in sub agent output const SubAgentContext = React.createContext(false); export function SubAgentProvider({ children }: { children: React.ReactNode }): React.ReactNode { return {children}; } export function CtrlOToExpand(): React.ReactNode { const isInSubAgent = useContext(SubAgentContext); const inVirtualList = useContext(InVirtualListContext); const expandShortcut = useShortcutDisplay('app:toggleTranscript', 'Global', 'ctrl+o'); if (isInSubAgent || inVirtualList) { return null; } return ( ); } export function ctrlOToExpand(): string { const shortcut = getShortcutDisplay('app:toggleTranscript', 'Global', 'ctrl+o'); return chalk.dim(`(${shortcut} to expand)`); }