+// vopamoi: vi-flavored todo organizer
+// Copyright (C) 2023 Scott Worley <scottworley@scottworley.com>
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+
// Typescript doesn't know about MAX_SAFE_INTEGER?? This was supposed to be
// fixed in typescript 2.0.1 in 2016, but is not working for me in typescript
// 4.2.4 in 2022. :( https://github.com/microsoft/TypeScript/issues/9937
deleted: "Black",
done: "LawnGreen",
"someday-maybe": "DeepSkyBlue",
- todo: "White",
+ todo: "rgb(0 0 0 / 0)",
waiting: "MediumOrchid",
};
var currentTagFilter: TagFilter | null = null;
this.setTagFilter({description: "(untagged)", include: task => task.getElementsByClassName("tag").length === 0});
},
+ toggleDark: function () {
+ document.body.classList.toggle("dark");
+ this.setView(currentViewState);
+ },
+
undo: function () {
const ret = ui.undo();
if (ret && ret instanceof HTMLElement) ret.focus();
if (event.key == "G") return browserUI.jumpCursor(inputCount ?? MAX_SAFE_INTEGER);
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 == "C") return browserUI.setState("cancelled");
if (event.key == "d") return browserUI.setState("done");
if (event.key == "q") return browserUI.setState("todo");
if (event.key == "s") return (inputState = InputState.S);
} else if (inputState === InputState.V) {
inputState = InputState.Root;
if (event.key == "a") return browserUI.setView("all");
- if (event.key == "c") return browserUI.setView("cancelled");
+ if (event.key == "C") return browserUI.setView("cancelled");
+ if (event.key == "c") return browserUI.setTagView("comp");
+ if (event.key == "D") return browserUI.toggleDark();
if (event.key == "d") return browserUI.setView("done");
+ if (event.key == "e") return browserUI.setTagView("errand");
+ if (event.key == "h") return browserUI.setTagView("home");
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 == "v") return browserUI.resetView();
if (event.key == "w") return browserUI.setView("waiting");
if (event.key == "x") return browserUI.setView("deleted");
+ if (event.key == "z") return browserUI.setTagView("zombie");
} else if (inputState === InputState.VS) {
inputState = InputState.Root;
if (event.key == "m") return browserUI.setView("someday-maybe");