The compgen command can be used to generate and test completions, and looking at existing improvements can help create new ones. You are behind directories in a specific subtree, so the following should work in bash:
function _make_project { COMPREPLY=( $(cd /a/b/c/d/myCode; compgen -A directory -- "${COMP_WORDS[COMP_CWORD]}") ); }
This uses compgen to get directories that can complete the current argument, starting with the myCode subtree. To set this for your function, you must use the complete command to bind this completion function using the bash function:
complete -F _make_project make_project
Update
To avoid using the space character for shutdown, the nospace option may be provided when registering the shutdown function. If this is combined with the -S option to compile to add a suffix character, then terminations can be displayed as directory names, and you can easily smooth out the subtree:
function _make_project { COMPREPLY=( $(cd /a/b/c/d/myCode; compgen -S / -A directory -- "${COMP_WORDS[COMP_CWORD]}") ); } complete -o nospace -F _make_project make_project
source share