diff options
| author | Miguel Solorio <[email protected]> | 2025-07-31 16:24:23 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-31 23:24:23 +0000 |
| commit | 6f7beb414cae67df59aea3f8a3e99389c3a82aec (patch) | |
| tree | 43112dfa7e96cbe484c94a3694d6efbdc5a59a98 /packages/cli/src | |
| parent | 61e382444a69409b066a6c8382379f86492d579f (diff) | |
Highlight slash commands in history (#5323)
Diffstat (limited to 'packages/cli/src')
| -rw-r--r-- | packages/cli/src/ui/components/HistoryItemDisplay.test.tsx | 12 | ||||
| -rw-r--r-- | packages/cli/src/ui/components/messages/UserMessage.tsx | 10 |
2 files changed, 19 insertions, 3 deletions
diff --git a/packages/cli/src/ui/components/HistoryItemDisplay.test.tsx b/packages/cli/src/ui/components/HistoryItemDisplay.test.tsx index b40b20bc..f806abd6 100644 --- a/packages/cli/src/ui/components/HistoryItemDisplay.test.tsx +++ b/packages/cli/src/ui/components/HistoryItemDisplay.test.tsx @@ -35,6 +35,18 @@ describe('<HistoryItemDisplay />', () => { expect(lastFrame()).toContain('Hello'); }); + it('renders UserMessage for "user" type with slash command', () => { + const item: HistoryItem = { + ...baseItem, + type: MessageType.USER, + text: '/theme', + }; + const { lastFrame } = render( + <HistoryItemDisplay {...baseItem} item={item} />, + ); + expect(lastFrame()).toContain('/theme'); + }); + it('renders StatsDisplay for "stats" type', () => { const item: HistoryItem = { ...baseItem, diff --git a/packages/cli/src/ui/components/messages/UserMessage.tsx b/packages/cli/src/ui/components/messages/UserMessage.tsx index 46f3d4a2..332cb0f4 100644 --- a/packages/cli/src/ui/components/messages/UserMessage.tsx +++ b/packages/cli/src/ui/components/messages/UserMessage.tsx @@ -15,11 +15,15 @@ interface UserMessageProps { export const UserMessage: React.FC<UserMessageProps> = ({ text }) => { const prefix = '> '; const prefixWidth = prefix.length; + const isSlashCommand = text.startsWith('/'); + + const textColor = isSlashCommand ? Colors.AccentPurple : Colors.Gray; + const borderColor = isSlashCommand ? Colors.AccentPurple : Colors.Gray; return ( <Box borderStyle="round" - borderColor={Colors.Gray} + borderColor={borderColor} flexDirection="row" paddingX={2} paddingY={0} @@ -27,10 +31,10 @@ export const UserMessage: React.FC<UserMessageProps> = ({ text }) => { alignSelf="flex-start" > <Box width={prefixWidth}> - <Text color={Colors.Gray}>{prefix}</Text> + <Text color={textColor}>{prefix}</Text> </Box> <Box flexGrow={1}> - <Text wrap="wrap" color={Colors.Gray}> + <Text wrap="wrap" color={textColor}> {text} </Text> </Box> |
