todolist v0.2
    - Tired of non flexible task manager, i just code this by myself.
    - Nothing special, just useful for me.

File structure (todo.list) [Not fixed! you could use another one]:
    - one task per line
    - task define as: "priority[int] | task topic[string] | context[string] | percent[float]"

What you can do with this:
    - Add task / Get task with more priority / Show all the task you have undone.
    - Filter task by context (useful when you want to focus only on one task for 
work i.e)
    - Get the number of task you have left, to have an overview of the big picture.
    - Remove task as well to remove while you'll keep it into a todo.done file for
the record.
    - Select/update context you want to work with.
    - With little bit external programing, get events when deadline is near 
to final day. [v0.2]
    - I use this with DWM, displaying it in my statusbar, something like this:
T[15] { 1 | Make todolist v0.2 | Programming | 10% } || Thu Feb 28 01:59:26 AM
    Where T[int] is the number of task left (todolist -t) + { todolist -g }
    - You could also set shortcuts for filter tasks by context like:
        - atl+w: ./todolist --context --update "Work"
        - alt+p: ./todolist --context --update "Programming" 

DWM Statusbar script code:
while true 
    xsetroot -name "T[todolist -t]: { $(todolist -g) } || $(date +"%a %b %d %r")"
    sleep 1s
done &

Usage: todolist [opt] {text}
    -a --add {text}: add task
    -e --edit: edit todo.list with vim
    -g --get: get task with high priority
    -s --show: show all tasks
    -f --filter {context}: filter all tasks by context
    -t --total-task: return total from pending task
    -d --done {word(s)/regex}: delete task matched and copy to todo.done 
    --remove {word(s)/regex}: remove task from todo.list (no copy)
    -c --context -s --show: show all available context
    -c --context -u --update {context}: update context to play with (all: for anything)
    -r --report: show all task done
    -s --schedule: schedule tasks - unix-like [NOT IMPLEMENTED]
    -v --version: show version
    -h --help: this msg.
    todolist -s
    todolist -d "fuck off"
    todolist --context --update "Work"

    0. modify config paths or app name in todolist.conf if you like.
        - NOTE: by changing app name, you could have several todolist apps
living together in your system. Anyone with different todo.list etc. 
            - Practical application: i dont know, let me know if you find any.
    1. ./install.sh
    2. Enjoy.

    1. Clone from this git repo.
    2. mkdir local directory for your todo files 
        - i.e: mkdir -p /home/$(whoami)/.todolist
    3. vim todolist.conf
        - change path_app value with "/home/$(whoami)/.todolist"
    4. sudo cp todolist.conf /usr/local/etc/
    5. sudo ln -s $(pwd)/todolist.sh /usr/local/bin/todolist
    6. Ready. $ todolist -a "1 | First task | Todo | 100%"
    7. Enjoy.