mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-09-12 23:02:45 +00:00
feat: gitnexus:keep marker preserves custom context sections
When <!-- gitnexus:keep --> is present inside the gitnexus block, analyze only updates the stats line instead of replacing the entire section with the verbose template. Lets users maintain lean custom context without it being overwritten on every reindex. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
afa38432a4
commit
0867f57931
1 changed files with 18 additions and 1 deletions
|
|
@ -223,7 +223,24 @@ async function upsertGitNexusSection(
|
|||
);
|
||||
|
||||
if (startIdx !== -1 && endIdx !== -1 && endIdx > startIdx) {
|
||||
// Replace existing section
|
||||
const existingSection = existingContent.substring(startIdx, endIdx + GITNEXUS_END_MARKER.length);
|
||||
|
||||
// If the existing section contains <!-- gitnexus:keep -->, only update the stats line
|
||||
// This lets users customize the section without it being overwritten on every analyze
|
||||
if (existingSection.includes('<!-- gitnexus:keep -->')) {
|
||||
// Update just the "Indexed as **Name** (N nodes, M edges, P flows)" line
|
||||
const statsPattern = /Indexed as \*\*[^*]+\*\* \([^)]+\)/;
|
||||
const statsLine = `Indexed as **${(content.match(/\*\*([^*]+)\*\*/)?.[1]) || 'unknown'}** (${(content.match(/\(([^)]+)\)/)?.[1]) || '0 nodes'})`;
|
||||
if (statsPattern.test(existingSection)) {
|
||||
const updatedSection = existingSection.replace(statsPattern, statsLine);
|
||||
const before = existingContent.substring(0, startIdx);
|
||||
const after = existingContent.substring(endIdx + GITNEXUS_END_MARKER.length);
|
||||
await fs.writeFile(filePath, (before + updatedSection + after).trim() + '\n', 'utf-8');
|
||||
return 'updated';
|
||||
}
|
||||
}
|
||||
|
||||
// No keep marker — replace existing section with full verbose content
|
||||
const before = existingContent.substring(0, startIdx);
|
||||
const after = existingContent.substring(endIdx + GITNEXUS_END_MARKER.length);
|
||||
const newContent = before + content + after;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue