Allow cat to work on scripts

This commit is contained in:
65-7a 2021-12-20 21:11:28 +11:00
parent f72d4b89d4
commit 14532cd0a8

@ -4,6 +4,7 @@ import { IPlayer } from "../../PersonObjects/IPlayer";
import { BaseServer } from "../../Server/BaseServer"; import { BaseServer } from "../../Server/BaseServer";
import { showMessage } from "../../Message/MessageHelpers"; import { showMessage } from "../../Message/MessageHelpers";
import { showLiterature } from "../../Literature/LiteratureHelpers"; import { showLiterature } from "../../Literature/LiteratureHelpers";
import { dialogBoxCreate } from "../../ui/React/DialogBox";
export function cat( export function cat(
terminal: ITerminal, terminal: ITerminal,
@ -18,9 +19,9 @@ export function cat(
} }
const relative_filename = args[0] + ""; const relative_filename = args[0] + "";
const filename = terminal.getFilepath(relative_filename); const filename = terminal.getFilepath(relative_filename);
if (!filename.endsWith(".msg") && !filename.endsWith(".lit") && !filename.endsWith(".txt")) { if (!filename.endsWith(".msg") && !filename.endsWith(".lit") && !filename.endsWith(".txt") && !filename.endsWith(".script") && !filename.endsWith(".js") && !filename.endsWith(".ns")) {
terminal.error( terminal.error(
"Only .msg, .txt, and .lit files are viewable with cat (filename must end with .msg, .txt, or .lit)", "Only .msg, .txt, .lit, .script, .js, and .ns files are viewable with cat (filename must end with .msg, .txt, .lit, .script, .js, or .ns)",
); );
return; return;
} }
@ -45,6 +46,12 @@ export function cat(
txt.show(); txt.show();
return; return;
} }
} else if (filename.endsWith(".script") || filename.endsWith(".js") || filename.endsWith(".ns")) {
const script = terminal.getScript(player, relative_filename);
if (script != null) {
dialogBoxCreate(`${script.filename}<br /><br />${script.code}`);
return;
}
} }
terminal.error(`No such file ${filename}`); terminal.error(`No such file ${filename}`);