smart tab
textwidth handling