Improve tab's behavior

It now does both indentation and completion (when supported)