Merge pull request #2623 from MartinFournier/fix/editor-asterisk

Ignore trailing whitespace for dirty file asterisk
This commit is contained in:
hydroflame 2022-01-14 13:48:35 -05:00 committed by GitHub
commit ba2e2e191c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 2 deletions

@ -118,7 +118,7 @@ export class Script {
*/ */
saveScript(player: IPlayer, filename: string, code: string, hostname: string, otherScripts: Script[]): void { saveScript(player: IPlayer, filename: string, code: string, hostname: string, otherScripts: Script[]): void {
// Update code and filename // Update code and filename
this.code = code.replace(/^\s+|\s+$/g, ""); this.code = Script.formatCode(this.code);
this.filename = filename; this.filename = filename;
this.server = hostname; this.server = hostname;
@ -158,6 +158,15 @@ export class Script {
s.rehash(); s.rehash();
return s; return s;
} }
/**
* Formats code: Removes the starting & trailing whitespace
* @param {string} code - The code to format
* @returns The formatted code
*/
static formatCode(code: string): string {
return code.replace(/^\s+|\s+$/g, "");
}
} }
Reviver.constructors.Script = Script; Reviver.constructors.Script = Script;

@ -686,7 +686,9 @@ export function Root(props: IProps): React.ReactElement {
const serverScript = server.scripts.find((s) => s.filename === openScript.fileName); const serverScript = server.scripts.find((s) => s.filename === openScript.fileName);
if (serverScript === undefined) return " *"; if (serverScript === undefined) return " *";
return serverScript.code !== openScript.code ? " *" : ""; // The server code is stored with its starting & trailing whitespace removed
const openScriptFormatted = Script.formatCode(openScript.code);
return serverScript.code !== openScriptFormatted ? " *" : "";
} }
// Toolbars are roughly 112px: // Toolbars are roughly 112px: