~skiqqy/todo.sql

todo.txt, but better!
418e2ac6 — Stephen Cochrane 1 year, 4 months ago
Added release script
bef3d623 — Stephen Cochrane 1 year, 4 months ago
Started on cosmic integration
9a3f85cc — Stephen Cochrane 1 year, 8 months ago
Fixed tabbing

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~skiqqy/todo.sql
read/write
git@git.sr.ht:~skiqqy/todo.sql

You can also use your local clone with git send-email.

#todo.sql

todo.txt, but better!

#What is it?

First go have a quick read over here

Basically, todo.sql is a data replicator + sync maintainer of a todo.txt file to a specified database.

The first question may be asked, but doesnt this go against one of the core ideas of todo.txt? Well not really, as we still work with our todo.txt file and may query it directly using grep etc.

What todo.sql does is keep a database model of the todo.txt file, as well as keeping the data in the todo.txt file synced with the database. This allows other applications to easily read and modify the data (which in turn will updated all todo.txt files that are being synced).

#Installing

TODO

#Usage

Simply run:

$ ./run.sh Main -h

#Building

$ mvn package

#(actual) TODO's

This section is quite ironic lol.

The following features/ bug fixes are still needed.

  • Tidy up update method
  • Implement --sync <method> feature
    • This feature is intended to watch a todo.txt file and db in sync with each other, that is, when the one is changed the other is updated appropriatly.
      • migrate: Similar to push, but doesnt delete or update any records.
        • Insert new todo's into db
  • Implement search mode, something like this (they may be combined):
    • $ ./run.sh Main --complete # Prints all completed items
    • $ ./run.sh Main --context context # Prints all items with @context
    • $ ./run.sh Main --project project # Prints all items with +project
    • $ ./run.sh Main --desc regex # Prints all items with a description which matches regex
  • Add config
    • Containing
      • URL to database
      • Basically allows a way to set optargs
        • Any optargs passed to the program will overwrite any config options
      • Any other options that I may think up later
    • XML with a nested DTD for validation.
    • JSON, then research ways to validate like above for JSON.

#Notes

License: