a first pass at a grep lib
update todo command to use grep lib
the grep lib does not accurate detect line numbers in all cases, so this needs to be fixed
check the keyboard