summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/SuggestionsDisplay.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/components/SuggestionsDisplay.tsx')
-rw-r--r--packages/cli/src/ui/components/SuggestionsDisplay.tsx28
1 files changed, 19 insertions, 9 deletions
diff --git a/packages/cli/src/ui/components/SuggestionsDisplay.tsx b/packages/cli/src/ui/components/SuggestionsDisplay.tsx
index ba25f2b6..3f2094bb 100644
--- a/packages/cli/src/ui/components/SuggestionsDisplay.tsx
+++ b/packages/cli/src/ui/components/SuggestionsDisplay.tsx
@@ -9,6 +9,7 @@ import { Colors } from '../colors.js';
export interface Suggestion {
label: string;
value: string;
+ description?: string;
}
interface SuggestionsDisplayProps {
suggestions: Suggestion[];
@@ -29,7 +30,7 @@ export function SuggestionsDisplay({
}: SuggestionsDisplayProps) {
if (isLoading) {
return (
- <Box borderStyle="round" paddingX={1} width={width}>
+ <Box paddingX={1} width={width}>
<Text color="gray">Loading suggestions...</Text>
</Box>
);
@@ -48,20 +49,29 @@ export function SuggestionsDisplay({
const visibleSuggestions = suggestions.slice(startIndex, endIndex);
return (
- <Box borderStyle="round" flexDirection="column" paddingX={1} width={width}>
+ <Box flexDirection="column" paddingX={1} width={width}>
{scrollOffset > 0 && <Text color={Colors.Foreground}>▲</Text>}
{visibleSuggestions.map((suggestion, index) => {
const originalIndex = startIndex + index;
const isActive = originalIndex === activeIndex;
+ const textColor = isActive ? Colors.AccentPurple : Colors.SubtleComment;
+
return (
- <Text
- key={`${suggestion}-${originalIndex}`}
- color={isActive ? Colors.Background : Colors.Foreground}
- backgroundColor={isActive ? Colors.AccentBlue : undefined}
- >
- {suggestion.label}
- </Text>
+ <Box key={`${suggestion}-${originalIndex}`} width={width}>
+ <Box flexDirection="row">
+ <Box width={20} flexShrink={0}>
+ <Text color={textColor}>{suggestion.label}</Text>
+ </Box>
+ {suggestion.description ? (
+ <Box flexGrow={1}>
+ <Text color={textColor} wrap="wrap">
+ {suggestion.description}
+ </Text>
+ </Box>
+ ) : null}
+ </Box>
+ </Box>
);
})}
{endIndex < suggestions.length && <Text color="gray">▼</Text>}