带有 ZSH 的菜单(未完成)

带有 ZSH 的菜单(未完成)

我正在制作大量 ZSH 函数,并希望提供一个交互式菜单,以便我导航到各个函数、收集所需数据,然后调用这些函数。我编写了类似这样的代码来封装菜单功能:

get_input(){
  local result_name=$1
  for((i=2; i <= $ARGC; i++)); do
    echo ${argv[i]}
  done
  read x
  eval "${result_name}=$x"
}

像这样调用它:

test_get_option(){
  selected_option=''
  get_input selected_option 'heres the prompt' '1) opt 1' '2) opt 2'
  case $selected_option in
    1) do_option_1;;
    2) do_option_2;;
    *) echo "please choose a selection from the options above";;
  esac
}

虽然可以工作,但很笨重。我更希望能够定义一些分层数据结构(XML 或嵌套列表等)来定义选项树和要调用的函数。

有人知道这样的系统(或 oh-my-zsh 插件)吗?

相关内容