refactor autocompletion, add git autocompletion