romeo fixes again

This commit is contained in:
2026-07-22 17:15:52 -04:00
parent f3747a7581
commit c436639ddd
6 changed files with 123 additions and 119 deletions
+2 -1
View File
@@ -182,7 +182,8 @@ namespace Romeo
if (headerContent.Size == 0 && cppContent.Size == 0)
{
return false;
entry.Description = Juliet::StringCopy(arena, ConstString("*File is empty.*"));
return true;
}
// Formulate the prompt
+19 -17
View File
@@ -102,18 +102,12 @@ namespace Romeo
if (isHeader)
{
if (entry->HeaderPath.Size == 0)
{
entry->HeaderPath = Juliet::StringCopy(ctx.Db->DbArena, path);
}
entry->HeaderPath = Juliet::StringCopy(ctx.Db->DbArena, path);
entry->LastModifiedHeader = lastModified;
}
else
{
if (entry->CppPath.Size == 0)
{
entry->CppPath = Juliet::StringCopy(ctx.Db->DbArena, path);
}
entry->CppPath = Juliet::StringCopy(ctx.Db->DbArena, path);
entry->LastModifiedCpp = lastModified;
}
}
@@ -184,16 +178,24 @@ namespace Romeo
ctx.Db = &db;
ctx.TempArena = tempArena;
// Scan the src and include directories specifically to avoid trash
size_t srcDirLen = rootDir.Size + 12; // "\Juliet\src" + null
char* srcDirBuf = ArenaPushArray<char>(tempArena, srcDirLen JULIET_DEBUG_PARAM("RomeoDbSrcDirBuf"));
snprintf(srcDirBuf, srcDirLen, "%s\\Juliet\\src", CStr(rootDir));
Juliet::String srcDir = {srcDirBuf, srcDirLen - 1};
// Check if src and include are directly under rootDir or under rootDir\Juliet
char srcDirBuf[512];
snprintf(srcDirBuf, sizeof(srcDirBuf), "%s\\src", CStr(rootDir));
DWORD srcAttribs = GetFileAttributesA(srcDirBuf);
if (srcAttribs == INVALID_FILE_ATTRIBUTES || !(srcAttribs & FILE_ATTRIBUTE_DIRECTORY))
{
snprintf(srcDirBuf, sizeof(srcDirBuf), "%s\\Juliet\\src", CStr(rootDir));
}
Juliet::String srcDir = Juliet::StringCopy(tempArena, Juliet::WrapString(srcDirBuf));
size_t incDirLen = rootDir.Size + 16; // "\Juliet\include" + null
char* incDirBuf = ArenaPushArray<char>(tempArena, incDirLen JULIET_DEBUG_PARAM("RomeoDbIncDirBuf"));
snprintf(incDirBuf, incDirLen, "%s\\Juliet\\include", CStr(rootDir));
Juliet::String incDir = {incDirBuf, incDirLen - 1};
char incDirBuf[512];
snprintf(incDirBuf, sizeof(incDirBuf), "%s\\include", CStr(rootDir));
DWORD incAttribs = GetFileAttributesA(incDirBuf);
if (incAttribs == INVALID_FILE_ATTRIBUTES || !(incAttribs & FILE_ATTRIBUTE_DIRECTORY))
{
snprintf(incDirBuf, sizeof(incDirBuf), "%s\\Juliet\\include", CStr(rootDir));
}
Juliet::String incDir = Juliet::StringCopy(tempArena, Juliet::WrapString(incDirBuf));
ScanDirectoryRecursive(ctx, srcDir);
ScanDirectoryRecursive(ctx, incDir);
+1
View File
@@ -1002,6 +1002,7 @@ namespace Romeo
}
else
{
entry.LastAIGeneratedTime = currentTime;
printf("Romeo: [%zu/%zu] AI generation failed.\n", fileIndex, totalFiles);
}
}