dotfiles/.config/fish/functions/menu.fish
2026-07-11 01:35:28 +02:00

29 lines
694 B
Fish

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