diff options
| author | Shreya Keshive <[email protected]> | 2025-07-18 18:14:46 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-18 22:14:46 +0000 |
| commit | 73745ecd0323882fc951e387250fe2efef374e81 (patch) | |
| tree | ab899051fb0d900d34a71c974410b466ff652bb8 /packages/cli/src/ui/components/ContextSummaryDisplay.tsx | |
| parent | 4915050ad47236a6d8349ed87b68cd202f96efbe (diff) | |
Display open IDE file in context section above input box rather than in the footer (#4470)
Diffstat (limited to 'packages/cli/src/ui/components/ContextSummaryDisplay.tsx')
| -rw-r--r-- | packages/cli/src/ui/components/ContextSummaryDisplay.tsx | 54 |
1 files changed, 34 insertions, 20 deletions
diff --git a/packages/cli/src/ui/components/ContextSummaryDisplay.tsx b/packages/cli/src/ui/components/ContextSummaryDisplay.tsx index 314e8ebd..d1ef8135 100644 --- a/packages/cli/src/ui/components/ContextSummaryDisplay.tsx +++ b/packages/cli/src/ui/components/ContextSummaryDisplay.tsx @@ -7,7 +7,8 @@ import React from 'react'; import { Text } from 'ink'; import { Colors } from '../colors.js'; -import { type MCPServerConfig } from '@google/gemini-cli-core'; +import { type ActiveFile, type MCPServerConfig } from '@google/gemini-cli-core'; +import path from 'path'; interface ContextSummaryDisplayProps { geminiMdFileCount: number; @@ -15,6 +16,7 @@ interface ContextSummaryDisplayProps { mcpServers?: Record<string, MCPServerConfig>; blockedMcpServers?: Array<{ name: string; extensionName: string }>; showToolDescriptions?: boolean; + activeFile?: ActiveFile; } export const ContextSummaryDisplay: React.FC<ContextSummaryDisplayProps> = ({ @@ -23,6 +25,7 @@ export const ContextSummaryDisplay: React.FC<ContextSummaryDisplayProps> = ({ mcpServers, blockedMcpServers, showToolDescriptions, + activeFile, }) => { const mcpServerCount = Object.keys(mcpServers || {}).length; const blockedMcpServerCount = blockedMcpServers?.length || 0; @@ -30,18 +33,26 @@ export const ContextSummaryDisplay: React.FC<ContextSummaryDisplayProps> = ({ if ( geminiMdFileCount === 0 && mcpServerCount === 0 && - blockedMcpServerCount === 0 + blockedMcpServerCount === 0 && + !activeFile?.filePath ) { return <Text> </Text>; // Render an empty space to reserve height } + const activeFileText = (() => { + if (!activeFile?.filePath) { + return ''; + } + return `Open File (${path.basename(activeFile.filePath)})`; + })(); + const geminiMdText = (() => { if (geminiMdFileCount === 0) { return ''; } const allNamesTheSame = new Set(contextFileNames).size < 2; - const name = allNamesTheSame ? contextFileNames[0] : 'context'; - return `${geminiMdFileCount} ${name} file${ + const name = allNamesTheSame ? contextFileNames[0] : 'Context'; + return `${geminiMdFileCount} ${name} File${ geminiMdFileCount > 1 ? 's' : '' }`; })(); @@ -54,36 +65,39 @@ export const ContextSummaryDisplay: React.FC<ContextSummaryDisplayProps> = ({ const parts = []; if (mcpServerCount > 0) { parts.push( - `${mcpServerCount} MCP server${mcpServerCount > 1 ? 's' : ''}`, + `${mcpServerCount} MCP Server${mcpServerCount > 1 ? 's' : ''}`, ); } if (blockedMcpServerCount > 0) { - let blockedText = `${blockedMcpServerCount} blocked`; + let blockedText = `${blockedMcpServerCount} Blocked`; if (mcpServerCount === 0) { - blockedText += ` MCP server${blockedMcpServerCount > 1 ? 's' : ''}`; + blockedText += ` MCP Server${blockedMcpServerCount > 1 ? 's' : ''}`; } parts.push(blockedText); } return parts.join(', '); })(); - let summaryText = 'Using '; - if (geminiMdText) { - summaryText += geminiMdText; + let summaryText = 'Using: '; + const summaryParts = []; + if (activeFileText) { + summaryParts.push(activeFileText); } - if (geminiMdText && mcpText) { - summaryText += ' and '; + if (geminiMdText) { + summaryParts.push(geminiMdText); } if (mcpText) { - summaryText += mcpText; - // Add ctrl+t hint when MCP servers are available - if (mcpServers && Object.keys(mcpServers).length > 0) { - if (showToolDescriptions) { - summaryText += ' (ctrl+t to toggle)'; - } else { - summaryText += ' (ctrl+t to view)'; - } + summaryParts.push(mcpText); + } + summaryText += summaryParts.join(' | '); + + // Add ctrl+t hint when MCP servers are available + if (mcpServers && Object.keys(mcpServers).length > 0) { + if (showToolDescriptions) { + summaryText += ' (ctrl+t to toggle)'; + } else { + summaryText += ' (ctrl+t to view)'; } } |
