Merge pull request #2061 from 65-7a/allow-cat-on-scripts-patch

Allow cat to work on scripts
This commit is contained in:
hydroflame 2021-12-20 10:18:17 -05:00 committed by GitHub
commit ab0ed5d6a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

@ -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}<br /><br />${script.code}`);
return;
}
}
terminal.error(`No such file ${filename}`);

@ -353,6 +353,7 @@ export async function determineAllPossibilitiesForTabCompletion(
addAllLitFiles();
addAllTextFiles();
addAllDirectories();
addAllScripts();
return allPos;
}