1
0

Refactor file handling in main.js to include content and relevance score

This commit is contained in:
2025-06-01 07:17:50 +02:00
parent 8d5c57dcd0
commit 4d73330e2f

13
main.js
View File

@@ -2011,19 +2011,14 @@ ipcMain.on('show-tree-context-menu', (event, { absPath, relPath, root, type }) =
if (f.startsWith('.')) continue; if (f.startsWith('.')) continue;
walk(full); walk(full);
} else if (isTextFile(full)) { } else if (isTextFile(full)) {
files.push({ f: full, rel }); const content = fs.readFileSync(full, 'utf8').slice(0, 3000); // reicht für scoring
files.push({ f: full, rel, s: fs.statSync(full).size, score: getFileRelevanceScore(full, rel, content) });
} }
} }
} }
walk(dir); walk(dir);
// Score & sort files.sort((a, b) => b.score - a.score || a.s - b.s);
files = files.map(({f, rel}) => ({ // Limit by maxSize
f, rel, score: getFileRelevanceScore(f, rel),
s: fs.statSync(f).size
}))
.sort((a, b) => b.score - a.score || a.s - b.s);
// Limit by max size
let sum = 0, selected = []; let sum = 0, selected = [];
for (let {f,s} of files) { for (let {f,s} of files) {
if (sum + s > maxSize) break; if (sum + s > maxSize) break;