fixed version tested and runs in DCS now
This commit is contained in:
@@ -65,6 +65,16 @@ export class ScriptCompiler {
|
||||
const luaFile = LuaFile.createFromFile(fullPath, this.options.onError);
|
||||
const luaReference = fileReferenceToLuaVariable(relativePath);
|
||||
const key = luaReference.replace(LUA_SCRIPT_GLOBAL_KEYWORD + '.', '').toLowerCase();
|
||||
|
||||
if(parsedFiles.has(key)){
|
||||
this.options.onError?.({
|
||||
filePath: fullPath,
|
||||
line: 0,
|
||||
message: `Duplicate file key detected: ${key}. This can happen if two files have different capitalization. Lua is case sensitive, but the compiler treats file keys as case insensitive.`
|
||||
});
|
||||
continue;
|
||||
}
|
||||
|
||||
const parsedFile = new ParsedFile(key, luaFile, fullPath);
|
||||
|
||||
parsedFiles.set(parsedFile.fileKey, parsedFile);
|
||||
@@ -134,13 +144,7 @@ function fileReferenceToLuaVariable(fileReference: string): string {
|
||||
// Convert to ScriptGlobals.folder.FileName format
|
||||
let result = LUA_SCRIPT_GLOBAL_KEYWORD;
|
||||
for (let i = 0; i < parts.length; i++) {
|
||||
if (i === parts.length - 1) {
|
||||
// Capitalize first letter of filename
|
||||
result += '.' + parts[i].charAt(0).toUpperCase() + parts[i].slice(1);
|
||||
} else {
|
||||
// Folder names stay lowercase
|
||||
result += '.' + parts[i];
|
||||
}
|
||||
result += '.' + parts[i].toLowerCase();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user