]> git.scottworley.com Git - vopamoi/commitdiff
vi-style count-prefix for task movement
authorScott Worley <scottworley@scottworley.com>
Sat, 29 Jan 2022 20:46:36 +0000 (12:46 -0800)
committerScott Worley <scottworley@scottworley.com>
Sat, 29 Jan 2022 20:46:36 +0000 (12:46 -0800)
vopamoi.ts

index 3ccc5625e085fa44e6cde1fb2daef9cc515fd37f..d3b2c05fbb73a118fb7ea9ee133680117491ac88 100644 (file)
@@ -492,6 +492,7 @@ var inputState = InputState.Root;
 var inputCount: number | null = null;
 
 function handleKey(event: any) {
 var inputCount: number | null = null;
 
 function handleKey(event: any) {
+  if (["Alt", "Control", "Meta", "Shift"].includes(event.key)) return;
   if (event.target.tagName === "INPUT") {
     if (event.target.id === "taskName") {
       if (event.key == "Enter") return browserUI.addTask(event);
   if (event.target.tagName === "INPUT") {
     if (event.target.id === "taskName") {
       if (event.key == "Enter") return browserUI.addTask(event);
@@ -511,8 +512,8 @@ function handleKey(event: any) {
       try {
         if (event.key == "j") return browserUI.moveCursor(inputCount ?? 1);
         if (event.key == "k") return browserUI.moveCursor(-(inputCount ?? 1));
       try {
         if (event.key == "j") return browserUI.moveCursor(inputCount ?? 1);
         if (event.key == "k") return browserUI.moveCursor(-(inputCount ?? 1));
-        if (event.key == "J") return browserUI.moveTask(1);
-        if (event.key == "K") return browserUI.moveTask(-1);
+        if (event.key == "J") return browserUI.moveTask(inputCount ?? 1);
+        if (event.key == "K") return browserUI.moveTask(-(inputCount ?? 1));
         if (event.key == "T") return browserUI.makeTopPriority();
         if (event.key == "n") return browserUI.focusTaskNameInput(event);
         if (event.key == "c") return browserUI.setState("cancelled");
         if (event.key == "T") return browserUI.makeTopPriority();
         if (event.key == "n") return browserUI.focusTaskNameInput(event);
         if (event.key == "c") return browserUI.setState("cancelled");