# shellcheck shell=dash disable=2016
# https://carapace-sh.github.io/carapace-bin/setup.html

___x_cmd_advise_addon_carapace___check(){
    ___x_cmd hascmd carapace || ___x_cmd env use carapace-bin
}

___x_cmd_advise_addon_carapace___compile_code(){
    local compile_shellname="$1"
    case "$compile_shellname" in
        bash)
            printf "%s\n" 'export CARAPACE_BRIDGES='\''zsh,fish,bash,inshellisense'\'' # optional
source <(carapace _carapace bash)'
            ;;
        zsh)
            printf "%s\n" "export CARAPACE_BRIDGES='zsh,fish,bash,inshellisense' # optional
zstyle ':completion:*' format $'\e[2;37mCompleting %d\e[m'
zstyle ':completion:*:git:*' group-order 'main commands' 'alias commands' 'external commands' # optional
source <(carapace _carapace zsh)"
            ;;
        fish)
            printf "%s\n" "set -Ux CARAPACE_BRIDGES 'zsh,fish,bash,inshellisense' # optional
carapace _carapace fish | source"
            ;;
        elvish)
            printf "%s\n" "set-env CARAPACE_BRIDGES 'zsh,fish,bash,inshellisense' # optional
eval (carapace _carapace elvish|slurp)"
            ;;
        nu)
            printf "%s\n" "\$env.CARAPACE_BRIDGES = 'zsh,fish,bash,inshellisense' # optional"
            carapace _carapace nushell
            ;;
        tcsh)
            printf "%s\n" 'setenv CARAPACE_BRIDGES 'zsh,fish,bash,inshellisense' # optional
set autolist
eval `carapace _carapace tcsh`'
            ;;
        xonsh)
            printf "%s\n" '$CARAPACE_BRIDGES='\''zsh,fish,bash,inshellisense'\'' # optional
$COMPLETIONS_CONFIRM=True
exec($(carapace _carapace xonsh))'
            ;;
        powershell)
            printf "%s\n" '$env:CARAPACE_BRIDGES = '\''zsh,fish,bash,inshellisense'\'' # optional
Set-PSReadLineOption -Colors @{ "Selection" = "`e[7m" }
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
carapace _carapace | Out-String | Invoke-Expression'
            ;;
        *)  ;;
    esac
}
