# vim: ft=sh
# Do nothing if not interactive
[[ "$PS1" ]] || return

# Modules
mpath=( $HOME/.config/bash.d )

function msg { printf '%s\n' "$*"; }
function err { printf '%s\n' "$*" >&2; }

function use {
	while (( $# )); do
		case $1 in
			(-n) flag_nofail=1;;
			(--) shift; break;;
			(*) break;;
		esac
		shift
	done

	declare mname=$1

	for p in "${mpath[@]}"; do
		if [[ -f "$mpath/$mname" ]]; then
			if source "$mpath/$mname"; then
				msg "Loaded: $mname"
			else
				err "Something went wrong while loading $mname"
				(( flag_nofail )) || return 1
			fi
		else
			err "Module $mname not found"
			(( flag_nofail )) || return 1
		fi
	done

	return 0
}

use common
use colours
use config
use -n local
use prompt
