ui tweaks (#442)
This commit is contained in:
parent
28acb8d495
commit
9c72a3ae12
|
@ -20,7 +20,7 @@ import { ShellModeIndicator } from './components/ShellModeIndicator.js';
|
|||
import { EditorState, InputPrompt } from './components/InputPrompt.js';
|
||||
import { Footer } from './components/Footer.js';
|
||||
import { ThemeDialog } from './components/ThemeDialog.js';
|
||||
import { shortenPath, type Config } from '@gemini-code/server';
|
||||
import { type Config } from '@gemini-code/server';
|
||||
import { Colors } from './colors.js';
|
||||
import { Help } from './components/Help.js';
|
||||
import { loadHierarchicalGeminiMemory } from '../config/config.js';
|
||||
|
@ -342,14 +342,16 @@ export const App = ({
|
|||
justifyContent="space-between"
|
||||
width="100%"
|
||||
>
|
||||
<Box>
|
||||
<>
|
||||
<Text color={Colors.SubtleComment}>cwd: </Text>
|
||||
<Text color={Colors.LightBlue}>
|
||||
{shortenPath(config.getTargetDir(), 70)}
|
||||
{geminiMdFileCount > 0 && (
|
||||
<Box>
|
||||
{process.env.GEMINI_SYSTEM_MD && (
|
||||
<Text color={Colors.AccentRed}>|⌐■_■| </Text>
|
||||
)}
|
||||
<Text color={Colors.SubtleComment}>
|
||||
Using {geminiMdFileCount} GEMINI.md files
|
||||
</Text>
|
||||
</>
|
||||
</Box>
|
||||
</Box>
|
||||
)}
|
||||
<Box>
|
||||
{showAutoAcceptIndicator && !shellModeActive && (
|
||||
<AutoAcceptIndicator />
|
||||
|
@ -431,7 +433,6 @@ export const App = ({
|
|||
debugMode={config.getDebugMode()}
|
||||
debugMessage={debugMessage}
|
||||
cliVersion={cliVersion}
|
||||
geminiMdFileCount={geminiMdFileCount}
|
||||
corgiMode={corgiMode}
|
||||
/>
|
||||
<ConsoleOutput debugMode={config.getDebugMode()} />
|
||||
|
|
|
@ -7,14 +7,13 @@
|
|||
import React from 'react';
|
||||
import { Box, Text } from 'ink';
|
||||
import { Colors } from '../colors.js';
|
||||
import { Config } from '@gemini-code/server';
|
||||
import { shortenPath, tildeifyPath, Config } from '@gemini-code/server';
|
||||
|
||||
interface FooterProps {
|
||||
config: Config;
|
||||
debugMode: boolean;
|
||||
debugMessage: string;
|
||||
cliVersion: string;
|
||||
geminiMdFileCount: number;
|
||||
corgiMode: boolean;
|
||||
}
|
||||
|
||||
|
@ -23,19 +22,16 @@ export const Footer: React.FC<FooterProps> = ({
|
|||
debugMode,
|
||||
debugMessage,
|
||||
cliVersion,
|
||||
geminiMdFileCount,
|
||||
corgiMode,
|
||||
}) => (
|
||||
<Box marginTop={1}>
|
||||
<Box>
|
||||
{geminiMdFileCount > 0 && (
|
||||
<Text color={Colors.SubtleComment}>
|
||||
Using {geminiMdFileCount} GEMINI.md files
|
||||
</Text>
|
||||
)}
|
||||
<Text color={Colors.LightBlue}>
|
||||
{shortenPath(tildeifyPath(config.getTargetDir()), 70)}
|
||||
</Text>
|
||||
{debugMode && (
|
||||
<Text color={Colors.AccentRed}>
|
||||
{debugMessage || ' | Running in debug mode.'}
|
||||
{' ' + (debugMessage || '--debug')}
|
||||
</Text>
|
||||
)}
|
||||
</Box>
|
||||
|
@ -74,9 +70,6 @@ export const Footer: React.FC<FooterProps> = ({
|
|||
<Text color={Colors.AccentRed}>▼ </Text>
|
||||
</Text>
|
||||
)}
|
||||
{process.env.GEMINI_SYSTEM_MD && (
|
||||
<Text color={Colors.AccentRed}>|⌐■_■|</Text>
|
||||
)}
|
||||
</Box>
|
||||
</Box>
|
||||
);
|
||||
|
|
|
@ -216,7 +216,7 @@ export const InputPrompt: React.FC<InputPromptProps> = ({
|
|||
initialCursorOffset={editorState.initialCursorOffset}
|
||||
initialText={query}
|
||||
onChange={onChange}
|
||||
placeholder="Enter your message or use tools (e.g., @src/file.txt)..."
|
||||
placeholder="Type your message or @path/to/file"
|
||||
/* Account for width used by the box and > */
|
||||
navigateUp={inputHistory.navigateUp}
|
||||
navigateDown={inputHistory.navigateDown}
|
||||
|
|
|
@ -5,6 +5,20 @@
|
|||
*/
|
||||
|
||||
import path from 'node:path';
|
||||
import os from 'os';
|
||||
|
||||
/**
|
||||
* Replaces the home directory with a tilde.
|
||||
* @param path - The path to tildeify.
|
||||
* @returns The tildeified path.
|
||||
*/
|
||||
export function tildeifyPath(path: string): string {
|
||||
const homeDir = os.homedir();
|
||||
if (path.startsWith(homeDir)) {
|
||||
return path.replace(homeDir, '~');
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shortens a path string if it exceeds maxLen, prioritizing the start and end segments.
|
||||
|
|
Loading…
Reference in New Issue