Eu consegui que isso funcionasse "muito bem" adicionando um arquivo _camel_case
ao meu pessoal ~/.zsh/functions folder
(pegue qualquer pasta que esteja na sua variável $fpath
) com o seguinte conteúdo:
#autoload
[[ -z "$PREFIX" ]] && return 1
relpath=$(dirname $PREFIX)
[[ -e $relpath ]] || return 1
files=$(ls $relpath)
regex=$(echo $(basename $PREFIX) | sed -e 's/\([A-Z][^A-Z]*\)/[^A-Z]+/g')
correctedfiles=($(echo $files | grep -P $regex | sed -e :a -e '$!N;s/\n/ /;ta'))
results=($(for file in $correctedfiles; do echo "$relpath/$file"; done))
compadd -U -f -- $results
Em seguida, adicionei a seguinte linha ao meu ~ / .zshrc
zstyle ':completion:*' completer _complete _correct _path_files _camel_case
Note que isso provavelmente não é uma solução "boa" porque eu não tenho muito conhecimento do sistema de conclusão do zsh (apenas algumas pessoas realmente têm, eu acho), mas ele faz exatamente o que você descreveu na sua pergunta .