Update ls.tsx

`args[numArgs - 1]` is the last argument in the list, so correct usage was being flagged as incorrect, and incorrect usage wasn't working anyway because the filter was `"undefined"`.

Additionally, the function seemed confused as to whether or not `ls` counted as an argument (AFAICT, it isn't).

Fixes #1994.
This commit is contained in:
MageKing17 2021-12-18 21:22:34 -08:00 committed by GitHub
parent 790ffeb8a1
commit 1dcc17c4fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -17,7 +17,7 @@ export function ls(
terminal.error("Incorrect usage of ls command. Usage: ls [dir] [| grep pattern]");
}
if (numArgs > 5 || numArgs === 3) {
if (numArgs > 4 || numArgs === 2) {
return incorrectUsage();
}
@ -30,12 +30,12 @@ export function ls(
prefix += "/";
}
// If there are 4+ arguments, then the last 3 must be for grep
if (numArgs >= 4) {
if (args[numArgs - 1] !== "grep" || args[numArgs - 2] !== "|") {
// If there are 3+ arguments, then the last 3 must be for grep
if (numArgs >= 3) {
if (args[numArgs - 2] !== "grep" || args[numArgs - 3] !== "|") {
return incorrectUsage();
}
filter = args[numArgs] + "";
filter = args[numArgs - 1] + "";
}
// If the second argument is not a pipe, then it must be for listing a directory