I\'m writing my own shell to learn and understand how one works. Right now, I\'m able to execute all the commands. How do I implement bash like tab completion in my shell?