# vim: ft=zsh

_so() {
    [ -r "${1}" ] && [ -f "${1}" ] && source "${1}"
}

_sod() {
    local -r dir_to_source="${1}"

    if [ -d "${dir_to_source}" ] && [ -n "$(ls "${dir_to_source}")" ]; then
        local filename
        for filename in $(ls "${dir_to_source}" | sort -n)
        do
            # shellcheck disable=SC1090
            source "${dir_to_source}/${filename}"
        done
    fi
}


source "${ZDOTDIR}/options"
source "${ZDOTDIR}/completion"
source "${ZDOTDIR}/history"
source "${ZDOTDIR}/prompt"
source "${ZDOTDIR}/other"
source "${ZDOTDIR}/aliases"
source "${ZDOTDIR}/functions"

_so "${ZDOTDIR}/hosts/${HOST}"

source "${ZDOTDIR}/plugin"

source "${ZDOTDIR}/autoenv"

source "${ZDOTDIR}/mappings"

source "${ZDOTDIR}/accept_line"

_sod "${ZDOTDIR}/zshrc.d"
