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 luaFile = LuaFile.createFromFile(fullPath, this.options.onError);
|
||||||
const luaReference = fileReferenceToLuaVariable(relativePath);
|
const luaReference = fileReferenceToLuaVariable(relativePath);
|
||||||
const key = luaReference.replace(LUA_SCRIPT_GLOBAL_KEYWORD + '.', '').toLowerCase();
|
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);
|
const parsedFile = new ParsedFile(key, luaFile, fullPath);
|
||||||
|
|
||||||
parsedFiles.set(parsedFile.fileKey, parsedFile);
|
parsedFiles.set(parsedFile.fileKey, parsedFile);
|
||||||
@@ -134,13 +144,7 @@ function fileReferenceToLuaVariable(fileReference: string): string {
|
|||||||
// Convert to ScriptGlobals.folder.FileName format
|
// Convert to ScriptGlobals.folder.FileName format
|
||||||
let result = LUA_SCRIPT_GLOBAL_KEYWORD;
|
let result = LUA_SCRIPT_GLOBAL_KEYWORD;
|
||||||
for (let i = 0; i < parts.length; i++) {
|
for (let i = 0; i < parts.length; i++) {
|
||||||
if (i === parts.length - 1) {
|
result += '.' + parts[i].toLowerCase();
|
||||||
// Capitalize first letter of filename
|
|
||||||
result += '.' + parts[i].charAt(0).toUpperCase() + parts[i].slice(1);
|
|
||||||
} else {
|
|
||||||
// Folder names stay lowercase
|
|
||||||
result += '.' + parts[i];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user