taskninja

module
v0.0.0-...-4aab756 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 5, 2024 License: MIT

README

Go Report Card

TaskNinja

WIP TaskNinja is a command line task list utity program, inspired by taskwarrior

Screenshot

Install

From Git
git clone git@github.com:luke-goddard/taskninja.git
cd taskninja
make build
make install

TUI Shortcuts

TUI Shortcuts - Task Table
Key Action
q Quit
a Add a new task
n Mark a task as NEXT
d Complete a task
e Edit a task
f Filter tasks
r Refresh the task list
s Start The current task
+ Increase Priority
- Decrease Priority
H Set Priority to HIGH
M Set Priority to MED
L Set Priority to LOW
N Set Priority to NONE
Shift+D Delete a task
g Go to the top row
G Go to the bottom row
/ Fuzzy search

Configuration

Once TaskNinja has been installed, the first time you run the program it will create a configuration file in your home directory. This file is located at ~/.config/taskninja/config.yaml. You can edit this file to change the default settings.

Sample Config
connection:
    # File (sqlite), memory (sqlite)
    mode: file

    # Path to the database
    path: "/home/taskninaja/Documents/taskninja.db"

    # Default = path + ".bk"
    backupPath: "/home/taskninaja/Documents/taskninja.db.bk"

log:
    # debug, info, warn, error
    level: debug

    # Pretty, Json
    mode: json

    # Path to the log file: Default = /tmp/taskninja.log
    path: "/home/taskninja/Documents/taskninja.log"

Local Development

Install Optional Development Tools
go install github.com/air-verse/air@latest
go install github.com/onsi/ginkgo/v2/ginkgo
sudo add-apt-repository -y ppa:linuxgndu/sqlitebrowser-testing
sudo apt-get update
sudo apt-get install sqlitebrowser
Run

bash make run

Run the unit tests

bash make tests

View the database

Note that pressing ctrl+r will refresh the database bash make browse

Directories

Path Synopsis
Go does not support asserts in the standard library (womp womp) So this is just a wrapper around if condition then panic
Go does not support asserts in the standard library (womp womp) So this is just a wrapper around if condition then panic
bus
Used to send and recive events from multiple components in a pubsub manner
Used to send and recive events from multiple components in a pubsub manner
handler
Concreate implementations for the event handlers typically these should just be wrappers around the service layer
Concreate implementations for the event handlers typically these should just be wrappers around the service layer
Any configuration of taskninja belongs here
Any configuration of taskninja belongs here
Converts the query into a SQL statement
Converts the query into a SQL statement
ast
Used to represent different nodes in the AST task add "Buy milk" due:2016-01-02 priority:high
Used to represent different nodes in the AST task add "Buy milk" due:2016-01-02 priority:high
lex
Contains the lexical analysis package for the interpreter.
Contains the lexical analysis package for the interpreter.
manager
Used to handle the errors for the transpilation pipeline
Used to handle the errors for the transpilation pipeline
parser
Used to convert the tokens into an AST
Used to convert the tokens into an AST
tui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL