From 22c60dbbbd8e7d23be7e548c1a4839c06c177487 Mon Sep 17 00:00:00 2001 From: "Felix W. Dekker" Date: Wed, 5 Aug 2020 16:06:49 +0200 Subject: [PATCH] List all environment variables given no-arg `set` Fixes #134. --- package-lock.json | Bin 313991 -> 317015 bytes package.json | 12 ++++++------ src/main/js/Commands.ts | 18 +++++++++++++----- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9405cc20542de1aa9a09034171774dfeaf5cd6de..33850b48152a96ac2daed045b6932989b3408872 100644 GIT binary patch delta 3471 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 delta 3264 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 { try { - if (input.argc === 1) + if (input.argc === 0) { + Object.keys(josh.environment.variables) + .sort() + .forEach((key) => streams.out.writeLine(\`\${key} \${josh.environment.variables[key]}\`)); + } else if (input.argc === 1) { josh.environment.safeDelete(input.args[0]); - else + } else { josh.environment.safeSet(input.args[0], input.args[1]); + } return ExitCode.OK; } catch (error) { @@ -928,10 +933,13 @@ return new Command( } }, \`set environment variable\`, - \`set key [value]\`, + \`set [key [value]]\`, \`Sets the environment variable key to value. If no value is given, the environment ${n} - variable is cleared. Read-only variables cannot be set.\`.trimMultiLines(), - new InputValidator({minArgs: 1, maxArgs: 2}) + variable is cleared. Read-only variables cannot be set or cleared. + + If neither key nor value is given, a list of all environment variables with current values is given. + \`.trimMultiLines(), + new InputValidator({minArgs: 0, maxArgs: 2}) )`, "touch": /* language=JavaScript */ `\ return new Command(