#!/usr/bin/env zsh

if [[ "$(uname)" = 'Linux' ]]; then
    let charge_full="$(cat '/sys/class/power_supply/BAT0/charge_full')."
    function get_battery_percent {
        let charge_now="$(cat '/sys/class/power_supply/BAT0/charge_now')."
        printf '%.0f' "$((charge_now / charge_full * 100))"
    }

    function is_adapted_connected {
        let connected="$(cat /sys/class/power_supply/ADP1/online)"
        ((${connected} == 1))
    }

    function print_battery_icon {
        let charge_percent="${1}"
        if ((${charge_percent} <= 10)); then
            echo -n '󰂃'
        elif ((${charge_percent} <= 20)); then
            echo -n '󰁻'
        elif ((${charge_percent} <= 30)); then
            echo -n '󰁼'
        elif ((${charge_percent} <= 40)); then
            echo -n '󰁽'
        elif ((${charge_percent} <= 50)); then
            echo -n '󰁾'
        elif ((${charge_percent} <= 60)); then
            echo -n '󰁿'
        elif ((${charge_percent} <= 70)); then
            echo -n '󰂀'
        elif ((${charge_percent} <= 80)); then
            echo -n '󰂁'
        elif ((${charge_percent} < 100)); then
            echo -n '󰂂'
        else
            echo -n '󰁹'
        fi
    }

    let cp="$(get_battery_percent)"
    print_battery_icon "${cp}"
    is_adapted_connected && echo -n '󱐋'
    printf '%3d%%\n' "${cp}"
# Linux ends here
else
    echo "${0}: error: unknown os: \"$(uname)\"" >&2
    exit 1
fi