Programmable completion
Simple completion using function
Simple completion for options and filenames