I would like to add debugger command completion to the zsh debugger, zshdb. I have looked over the manual pages zshzle and zshcompsys and am still a bit confused. I would be grateful if someone could give a simple script as an example. Suppose the list of REPL (read, print, loop) commands is in a blank-delimited string variable "cmds", and that one of the commands is "foo" which has the list of subcommands for it in string variable "subcmd". For comparison here is the corresponding bash code: typeset cmds; cmds='foo food woot' # My RLE commands level0_complete_fn() { if (( COMP_POINT > 0)) ; then COMPREPLY=( $(compgen -W "$cmds" "$COMP_LINE") ) else COMPREPLY=( $cmds ) fi } typeset subcmds; foo_subcmds='bar baz' foo_subcmd_complete() { COMPREPLY=( $foo_subcmds ) } # Use a special version of bash read that handle's readline completion enable -f /src/external-vcs/bashdb/builtin/readc readc complete -D -F level0_complete_fn complete -F foo_subcmd_complete foo # Shell initialization shopt -s progcomp set -o emacs bind 'set show-all-if-ambiguous on' bind 'TAB:menu-complete' readc -e -p 'huh? ' line echo "you sez $line" I would not like to have completion files the available commands and sub-commands can be dynamic. For example, on the stack frame completion might be a positive integer up to the number of stack frames. And this changes in the course of execution. Thanks.