feat:代码变更diff可视化功能实现
This commit is contained in:
@ -8,6 +8,8 @@ import * as os from 'os';
|
||||
import * as fs from 'fs';
|
||||
import { readFileContent, readDirectory } from '../utils/readFiles';
|
||||
import { createOrOverwriteFile } from '../utils/createFiles';
|
||||
import { resolveWorkspaceFilePath, showFileDiff } from '../utils/fileDiff';
|
||||
import { changeTracker } from './changeTracker';
|
||||
import { generateVCD, checkIverilogAvailable, generateMultiVCD, DumpModule } from '../utils/iverilogRunner';
|
||||
import { analyzeVcdFile } from '../utils/vcdParser';
|
||||
import { executeWaveformTrace, WaveformTraceArgs } from '../utils/waveformTracer';
|
||||
@ -125,8 +127,19 @@ async function executeFileRead(args: FileReadArgs): Promise<string> {
|
||||
* 执行 file_write 工具
|
||||
*/
|
||||
async function executeFileWrite(args: FileWriteArgs): Promise<string> {
|
||||
const absolutePath = resolveWorkspaceFilePath(args.path);
|
||||
const existedBeforeWrite = fs.existsSync(absolutePath);
|
||||
const oldContent = existedBeforeWrite ? await readFileContent(args.path) : '';
|
||||
|
||||
await createOrOverwriteFile(args.path, args.content);
|
||||
|
||||
// 记录文件变更
|
||||
try {
|
||||
changeTracker.trackChange(args.path, oldContent, args.content);
|
||||
} catch (error) {
|
||||
console.warn('[ToolExecutor] 记录文件变更失败:', error);
|
||||
}
|
||||
|
||||
// Verilog 文件添加知识图谱提示
|
||||
const isVerilogFile = args.path.endsWith('.v') || args.path.endsWith('.sv');
|
||||
if (isVerilogFile) {
|
||||
|
||||
Reference in New Issue
Block a user