# MHMT Linux etkileşimli Bash ayarları (mhmt-config-kabuk, karar #49). ~/.bash_aliases okur.
# Renkler terminalin ANSI renkleridir: Konsole'un MHMT profilleri onları token'lardan alır.

# İstem: klasör, Git dalı, son komut başarısızsa çıkış kodu. Kullanıcı@makine yalnız SSH'ta
# ve root'ta görünür (yerel oturumda zaten bilinir).
__mhmt_git() {
    local dal
    dal=$(git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD 2>/dev/null) || return
    printf ' (%s)' "$dal"
}
__mhmt_istem() {
    local kod=$?
    local kim=""
    if [ -n "${SSH_CONNECTION:-}" ] || [ "$(id -u)" -eq 0 ]; then
        kim='\[\e[1;32m\]\u@\h\[\e[0m\] '
    fi
    local hata=""
    [ "$kod" -ne 0 ] && hata=" \[\e[1;31m\]✗$kod\[\e[0m\]"
    PS1="${debian_chroot:+($debian_chroot)}$kim\[\e[1;34m\]\w\[\e[0m\]\[\e[35m\]$(__mhmt_git)\[\e[0m\]$hata \$ "
}
case "$PROMPT_COMMAND" in
    *__mhmt_istem*) ;;
    *) PROMPT_COMMAND="__mhmt_istem${PROMPT_COMMAND:+; $PROMPT_COMMAND}" ;;
esac

# Debian'ın ~/.bashrc'sinde açıklama satırı olan takma adlar.
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias ..='cd ..'
alias ...='cd ../..'

# Katalogdaki bir uygulamanın komutu yazılınca kurma komutunu önerir.
if [ -x /usr/bin/mhmt ] && ! declare -F command_not_found_handle >/dev/null; then
    command_not_found_handle() {
        /usr/bin/mhmt uygulama --komut-onerisi "$1" && return 127
        printf 'bash: %s: %s\n' "$1" "$( [ "${LANG#tr}" != "$LANG" ] && echo 'komut bulunamadı' || echo 'command not found')" >&2
        return 127
    }
fi
