]> git.scottworley.com Git - vopamoi/commitdiff
h/l to move between task nesting levels
authorScott Worley <scottworley@scottworley.com>
Wed, 2 Mar 2022 00:23:45 +0000 (16:23 -0800)
committerScott Worley <scottworley@scottworley.com>
Wed, 2 Mar 2022 00:23:45 +0000 (16:23 -0800)
vopamoi.ts

index 302307fe31df5d25c8c5498dab70cb671075c19b..695ddefa7361e560f244597a76cd73cf0f08f30e 100644 (file)
@@ -441,6 +441,18 @@ function BrowserUI() {
       task instanceof HTMLElement && task.focus();
     },
 
       task instanceof HTMLElement && task.focus();
     },
 
+    moveCursorLeft: function () {
+      const active = this.currentTask();
+      if (!active) return false;
+      if (active.parentElement!.classList.contains("task")) {
+        active.parentElement!.focus();
+      }
+    },
+
+    moveCursorRight: function () {
+      (this.currentTask()?.getElementsByClassName("task")[0] as HTMLElement)?.focus();
+    },
+
     moveCursorVertically: function (offset: number): boolean {
       const active = this.currentTask();
       if (!active) return false;
     moveCursorVertically: function (offset: number): boolean {
       const active = this.currentTask();
       if (!active) return false;
@@ -643,6 +655,8 @@ function handleKey(event: any) {
           if (event.key == "e") return window.scrollBy(0, (inputCount ?? 1) * scrollIncrement);
           if (event.key == "y") return window.scrollBy(0, (inputCount ?? 1) * -scrollIncrement);
         } else {
           if (event.key == "e") return window.scrollBy(0, (inputCount ?? 1) * scrollIncrement);
           if (event.key == "y") return window.scrollBy(0, (inputCount ?? 1) * -scrollIncrement);
         } else {
+          if (event.key == "h") return browserUI.moveCursorLeft();
+          if (event.key == "l") return browserUI.moveCursorRight();
           if (event.key == "j") return browserUI.moveCursorVertically(inputCount ?? 1);
           if (event.key == "k") return browserUI.moveCursorVertically(-(inputCount ?? 1));
           if (event.key == "J") return browserUI.moveTask(inputCount ?? 1);
           if (event.key == "j") return browserUI.moveCursorVertically(inputCount ?? 1);
           if (event.key == "k") return browserUI.moveCursorVertically(-(inputCount ?? 1));
           if (event.key == "J") return browserUI.moveTask(inputCount ?? 1);