Shell completion is a function which developers use everyday. Typing "ls -" and pressing [tab] will return a list of probable options, and typing "sudo apt ins" and pressing [tab] will complete the last argument (in this case "install"). Since each command takes different arguments, shells need to be taught how to complete arguments for each command.

The aim of this proposal is twofold:

  • There‚Äôs no bash autocompletion support for clang at the moment. Therefore I will build bash-completion which works not only for the current version but for all future versions of clang.
  • Not merely implement completion for bash, but also make this project highly portable to any other shells (zsh, fish..etc) by implementing completion behavior in clang internals.


Yuka Takahashi


  • Vassil
  • Raphael Isemann