function menu --description 'Opens a menu of a list of Strings and writes the result to stdout' argparse h/help p/prompt=? mesg=? placeholder=? index -- $argv or return if set -ql _flag_help echo "menu [-h|--help] [-p|--prompt=?] [--placeholder] [--index] [STRING ...]" return 0 end set fuzzel_args if set -ql _flag_prompt set -a fuzzel_args "--prompt=$_flag_prompt" end if set -ql _flag_placeholder set -a fuzzel_args "--placeholder=$_flag_placeholder" end if set -ql _flag_mesg set -a fuzzel_args "--mesg=$_flag_mesg" end if set -ql _flag_index set -a fuzzel_args "--index" end string unescape (string join -- \n $argv) | fuzzel --dmenu $fuzzel_args end