summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/IDEContextDetailDisplay.tsx
diff options
context:
space:
mode:
authorchristine betts <[email protected]>2025-07-25 14:50:34 +0000
committerGitHub <[email protected]>2025-07-25 14:50:34 +0000
commit1d3ad9d0758a94e42fa88d20618d164fe1140f11 (patch)
treef79f668858cb32e62a7ff96e3d1993ab341a3b3c /packages/cli/src/ui/components/IDEContextDetailDisplay.tsx
parent5d4b02ca85e2e6427b68f27a01659a9f0db66d74 (diff)
Add drawer for active files in IDE mode (#4682)
Co-authored-by: Shreya <[email protected]>
Diffstat (limited to 'packages/cli/src/ui/components/IDEContextDetailDisplay.tsx')
-rw-r--r--packages/cli/src/ui/components/IDEContextDetailDisplay.tsx52
1 files changed, 52 insertions, 0 deletions
diff --git a/packages/cli/src/ui/components/IDEContextDetailDisplay.tsx b/packages/cli/src/ui/components/IDEContextDetailDisplay.tsx
new file mode 100644
index 00000000..8d4fb2c9
--- /dev/null
+++ b/packages/cli/src/ui/components/IDEContextDetailDisplay.tsx
@@ -0,0 +1,52 @@
+/**
+ * @license
+ * Copyright 2025 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+import { Box, Text } from 'ink';
+import { type OpenFiles } from '@google/gemini-cli-core';
+import { Colors } from '../colors.js';
+import path from 'node:path';
+
+interface IDEContextDetailDisplayProps {
+ openFiles: OpenFiles | undefined;
+}
+
+export function IDEContextDetailDisplay({
+ openFiles,
+}: IDEContextDetailDisplayProps) {
+ if (
+ !openFiles ||
+ !openFiles.recentOpenFiles ||
+ openFiles.recentOpenFiles.length === 0
+ ) {
+ return null;
+ }
+ const recentFiles = openFiles.recentOpenFiles || [];
+
+ return (
+ <Box
+ flexDirection="column"
+ marginTop={1}
+ borderStyle="round"
+ borderColor={Colors.AccentCyan}
+ paddingX={1}
+ >
+ <Text color={Colors.AccentCyan} bold>
+ IDE Context (ctrl+e to toggle)
+ </Text>
+ {recentFiles.length > 0 && (
+ <Box flexDirection="column" marginTop={1}>
+ <Text bold>Recent files:</Text>
+ {recentFiles.map((file) => (
+ <Text key={file.filePath}>
+ - {path.basename(file.filePath)}
+ {file.filePath === openFiles.activeFile ? ' (active)' : ''}
+ </Text>
+ ))}
+ </Box>
+ )}
+ </Box>
+ );
+}