# x scotty info

___x_cmd_scotty_info(){
    ___x_cmd_scotty_info_yml "___x_cmd_scotty_info_basic"
    ___x_cmd_scotty_info_yml "___x_cmd version"
    ___x_cmd_scotty_info_str "___x_cmd websrc"
    ___x_cmd_scotty_info_yml "___x_cmd root"
}

___x_cmd_scotty_info_yml(){
    printf "--- %s\n" "# $1"
    eval "$1" | ___x_cmd_scotty_info_mask
}

___x_cmd_scotty_info_str(){
    printf "--- | %s\n" "# $1"
    eval "$1" | while read -r line; do
        printf "  %s\n" "$line"
    done | ___x_cmd_scotty_info_mask
}

___x_cmd_scotty_info_basic(){
    ___x_cmd os release | {
        read -r name
        read -r version
        printf "osname: %s\n"   "$name"
        printf "version: %s\n"  "$version"
    }
    printf "osarch: %s\n" "$(___x_cmd os arch)"

    printf "SHELL: %s\n" "$SHELL"
    printf "___X_CMD_SHELL: %s\n" "$___X_CMD_SHELL"
}

___x_cmd_scotty_info_mask(){
    ___x_cmd_cmds awk -v home="$HOME" '{
        gsub(home, "~", $0)
        print
    }'
}

