[WIP] Implement smart tab

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>