diff --git a/src/Terminal/commands/cat.ts b/src/Terminal/commands/cat.ts index 22453571e..f91a5950f 100644 --- a/src/Terminal/commands/cat.ts +++ b/src/Terminal/commands/cat.ts @@ -4,6 +4,7 @@ import { IPlayer } from "../../PersonObjects/IPlayer"; import { BaseServer } from "../../Server/BaseServer"; import { showMessage } from "../../Message/MessageHelpers"; import { showLiterature } from "../../Literature/LiteratureHelpers"; +import { dialogBoxCreate } from "../../ui/React/DialogBox"; export function cat( terminal: ITerminal, @@ -18,9 +19,9 @@ export function cat( } const relative_filename = args[0] + ""; 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( - "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; } @@ -45,6 +46,12 @@ export function cat( txt.show(); 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}

${script.code}`); + return; + } } terminal.error(`No such file ${filename}`);