aboutsummaryrefslogtreecommitdiff
path: root/src/shared/Command.ts
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2020-03-25 20:59:29 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2020-03-25 20:59:29 +0900
commit70b08f1025d3e00a016843669d61c56789bc0028 (patch)
treee1f99494016a0b13894f1e739f1ff87102c4fd13 /src/shared/Command.ts
parent7d51364584e9081f71f4691a713bb737f7573a74 (diff)
Complete commands on the console script
Diffstat (limited to 'src/shared/Command.ts')
-rw-r--r--src/shared/Command.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/shared/Command.ts b/src/shared/Command.ts
index e492f4a..b8c21ce 100644
--- a/src/shared/Command.ts
+++ b/src/shared/Command.ts
@@ -13,3 +13,32 @@ export enum Command {
Set = "set",
Help = "help",
}
+
+export namespace Command {
+ export function members(): Command[] {
+ return [
+ Command.Open ,
+ Command.TabOpen ,
+ Command.WindowOpen ,
+ Command.Buffer ,
+ Command.BufferDelete ,
+ Command.BufferDeleteForce ,
+ Command.BuffersDelete ,
+ Command.BuffersDeleteForce ,
+ Command.AddBookmark ,
+ Command.Quit ,
+ Command.QuitAll ,
+ Command.Set ,
+ Command.Help ,
+ ]
+ }
+
+ export function valueOf(value: string): Command {
+ const map = new Map(members().map(cmd => [cmd.toString(), cmd]));
+ const cmd = map.get(value);
+ if (!cmd) {
+ throw new Error(`unknown command '${value}`);
+ }
+ return cmd;
+ }
+}