I have a function that launches programs asynchronously:
(defun app (app-name)
(interactive "sRun application: ")
(async-shell-command app-name))
And i have a list of all executables from which to choose. I want the app function to behave as switch-to-buffer, providing TAB-completion for user. How do i use minibuffer completion in Emacs?