#!/bin/bash

set -euo pipefail
shopt -s nullglob

LC_ALL="C"
LANG="C"
LANGUAGE="C"

DEBUG="${DEBUG:-false}"

# shellcheck source=src/usr/lib/rsetup/cli/main.sh
source "/usr/lib/rsetup/cli/main.sh"

RSETUP_EXEC_NAME="$(basename "$0")"
if (( $# == 0 )) && [[ "$RSETUP_EXEC_NAME" == "rsetup" ]]
then
    if (( EUID != 0 ))
    then
        if [[ -n "${DISPLAY:-}" ]] && [[ -z "${SSH_TTY:-}" ]]
        then
            exec pkexec "$0" "$@"
        else
            exec sudo "$0" "$@"
        fi
    fi
    # shellcheck source=src/usr/lib/rsetup/tui/main.sh
    source "/usr/lib/rsetup/tui/main.sh"
    tui_start __tui_main "RSETUP"
else
    if [[ "$RSETUP_EXEC_NAME" == "rsetup" ]]
    then
        __parameter_type_check "$1" "function"
        "$@"
    else
        __parameter_type_check "__$RSETUP_EXEC_NAME" "function"
        "__$RSETUP_EXEC_NAME" "$@"
    fi
fi
