]> git.scottworley.com Git - vopamoi/blobdiff - vopamoi.ts
Rename: moveCursor → moveCursorVertically
[vopamoi] / vopamoi.ts
index f624db13f4774f2e9e19e32186082a9a75ed00a4..302307fe31df5d25c8c5498dab70cb671075c19b 100644 (file)
@@ -441,7 +441,7 @@ function BrowserUI() {
       task instanceof HTMLElement && task.focus();
     },
 
-    moveCursor: function (offset: number): boolean {
+    moveCursorVertically: function (offset: number): boolean {
       const active = this.currentTask();
       if (!active) return false;
       const dest = this.visibleTaskAtOffset(active, offset);
@@ -517,15 +517,17 @@ function BrowserUI() {
       if (newState === oldState) return;
       const createTimestamp = task.getAttribute("data-created")!;
       if (currentViewState !== "all" || newState == "deleted") {
-        this.moveCursor(1) || this.moveCursor(-1);
+        this.moveCursorVertically(1) || this.moveCursorVertically(-1);
       }
       return ui.setState(createTimestamp, newState, oldState);
     },
 
-    setTagView: function () {
-      const target = this.currentTag();
-      if (!target) return;
-      const tag = target.textContent!;
+    setTagView: function (tag: string | null = null) {
+      if (tag === null) {
+        const target = this.currentTag();
+        if (!target) return;
+        tag = target.textContent!;
+      }
 
       if (currentTagView !== null) {
         this.resetTagView();
@@ -641,8 +643,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 == "j") return browserUI.moveCursor(inputCount ?? 1);
-          if (event.key == "k") return browserUI.moveCursor(-(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);
           if (event.key == "K") return browserUI.moveTask(-(inputCount ?? 1));
           if (event.key == "G") return browserUI.jumpCursor(inputCount ?? MAX_SAFE_INTEGER);
@@ -673,6 +675,7 @@ function handleKey(event: any) {
       if (event.key == "c") return browserUI.setView("cancelled");
       if (event.key == "d") return browserUI.setView("done");
       if (event.key == "i") return browserUI.setUntaggedView();
+      if (event.key == "p") return browserUI.setTagView("Project");
       if (event.key == "q") return browserUI.setView("todo");
       if (event.key == "s") return (inputState = InputState.VS);
       if (event.key == "T") return browserUI.resetTagView();