You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Stephen Cochrane 418e2ac6a7 Added release script 1 year ago
scripts Added release script 1 year ago
src Started on cosmic integration 1 year ago
.build.yml Setup mvn so it can test. TODO: get back up and running 2 years ago
.gitignore Started on cosmic integration 1 year ago
LICENSE init 2 years ago Added features and many bug fixes 2 years ago
pom.xml Added release script 1 year ago Added packaging option for releases 2 years ago


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).




Simply run:

$ ./ Main -h


$ 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):
    • $ ./ Main --complete # Prints all completed items
    • $ ./ Main --context context # Prints all items with @context
    • $ ./ Main --project project # Prints all items with +project
    • $ ./ 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.