[GSoC20] Implement the missing tab completions for LLDB's command line

Hello Raphael,

I am a final year BE undergraduate student at Samrat Ashok Technological Institute India.

I would like to work on “Implementing the missing tab completions for LLDB’s command line” for the GSoC program. I think tab completion is one of the essential facilities for the beginner user.

Previously I had participated in GSoC19 on “Improving shell autocompletion for clang” but the project is not successful due to my little knowledge of C++ and LLVM but I am improving it So, also very willing to continue the work on that project during this season.

Shall we add this also or the scope of the project increases for the GSoC?

LLDB is a new project for me in terms of the user also. I navigate some pages on the LLDB website. And understand the LLDB basic functionalities.

Also, I looked at the LLDB static completion script for the Zsh.

Which shell should we first consider targeting either Bash or Zsh**?**

How much it will abstract from shell specific tab-completion handling. For example, should we left parsing shell grammar and matching completion candidates to the specific shell script and prefer LLVM’s commands to simply provide a way to list options, warnings and other relevant attributes along with suitable gloss text for the use in descriptions.

Does it also include symbol name completion in the expression parser as specifies here?

Yesterday I looked at a recent patch for tab completion of process signals.
Do you have some more related patches for the guidance?

Please suggest which files or directory would be useful for the understanding of the project? I guess lldb/source/Commands/CommandCompletions.cpp.

Can you provide an example of missing autocompletion that can be our first aim to implement?

Can you suggest one simple LLDB functionality from LLDB website or bug fixes to involve with till the application period starts?

I saw you are one of the most active contributors to the LLDB project. So feel excited to learn more from you.

Thank you for your time and sorry if I ask many irrelevant questions, consider me a beginner user to LLDB.

Best regards,
Shivam