feat: Enhance navigation and cleanup for graph explorer view

- Added a cleanup function to reset the state when navigating away from the graph explorer.
- Updated navigation logic to call the cleanup function before switching views.
- Improved internationalization by adding new translations for graph-related terms.
- Adjusted icon sizes for better UI consistency in the graph explorer.
- Implemented impact analysis button functionality in the graph explorer.
- Refactored CLI tool configuration to use updated model names.
- Enhanced CLI executor to handle prompts correctly for codex commands.
- Introduced code relationship storage for better visualization in the index tree.
- Added support for parsing Markdown and plain text files in the symbol parser.
- Updated tests to reflect changes in language detection logic.
This commit is contained in:
catlog22
2025-12-15 23:11:01 +08:00
parent 894b93e08d
commit 35485bbbb1
35 changed files with 3348 additions and 228 deletions

View File

@@ -12,7 +12,7 @@ import type { Spinner } from 'ora';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
// Source directories to install
// Source directories to install (includes .codex with prompts folder)
const SOURCE_DIRS = ['.claude', '.codex', '.gemini', '.qwen'];
// Subdirectories that should always be installed to global (~/.claude/)
@@ -108,6 +108,16 @@ export async function installCommand(options: InstallOptions): Promise<void> {
console.log('');
info(`Found ${availableDirs.length} directories to install: ${availableDirs.join(', ')}`);
// Show what will be installed including .codex/prompts
if (availableDirs.includes('.codex')) {
const promptsPath = join(sourceDir, '.codex', 'prompts');
if (existsSync(promptsPath)) {
const promptFiles = readdirSync(promptsPath, { recursive: true });
info(` └─ .codex/prompts: ${promptFiles.length} files (workflow execute, lite-execute)`);
}
}
divider();
// Check for existing installation at target path
@@ -206,6 +216,13 @@ export async function installCommand(options: InstallOptions): Promise<void> {
chalk.gray(`Manifest: ${basename(manifestPath)}`)
];
// Add codex prompts info if installed
if (availableDirs.includes('.codex')) {
summaryLines.push('');
summaryLines.push(chalk.cyan('Codex Prompts: ✓ Installed'));
summaryLines.push(chalk.gray(` Path: ${join(installPath, '.codex', 'prompts')}`));
}
summaryBox({
title: ' Installation Summary ',
lines: summaryLines,