upate TODO
extract client main to a run_client function
small optimization in event manager
Add prefix_match function and use it instead of adhoc code
add subsequence_match(str, subseq) utility function
use subsequence instead of regex matching for buffer completion
complete_filename fallback on subsequence completion if prefix does not work