# cloned projects will be nested under the specified directories,
# allowing for meaningful project grouping. A friendly name is
# derived from the path
#
# e.g. "$HOME/Projects/GitHub" will be called "GitHub" in the CLI
#
# directories must be fully-qualified

CA__DIRS=()

#####################################################################

__BASE_DIR="$(readlink -f -- "${XDG_DATA_HOME:-${HOME}/.local/share}/project-source-code")"

[ "${__BASE_DIR}" ] && {
	[ -d "${HOME}/Projects" ] && mv "${HOME}/Projects" "${__BASE_DIR}"  # TODO : remove after everyone is moved to xdg home
	[ -d "${__BASE_DIR}" ] || mkdir -p -- "${__BASE_DIR}"

	for __PROJECT_GROUP in \
		brown-bag \
		gizmos \
		open-source \
		python \
		yage \
		zsh \
		;
	do
		mkdir -p "${__BASE_DIR}/${__PROJECT_GROUP}"
	done

	CA__DIRS+=($(find "${__BASE_DIR}" -mindepth 1 -maxdepth 1 -type d | sed 's/\/$//'))
}

unset __BASE_DIR

#####################################################################

# additional cloning targets; MUST END IN ':' or '/'
#    e.g. 'git@my.githost.com:' or 'git@github.com:w0ryn/'
CA__KNOWN_TARGETS=(
	'git@yage.io:directus/'
	'git@yage.io:brown-bag/'
	'git@yage.io:gizmos/'
	'git@yage.io:python/'
	'git@yage.io:rentdynamics/'
	'git@yage.io:wrynegade/'
	'git@github.com:wrynegade/'
	'git@github.com:directus/'
	'https://yage.io/'
	'https://github.com/'
	'https://bitbucket.org/'
	'git@bitbucket.org:wrynegade/'
	)


# run from the specified hot-key
CA__SHORTCUT='�' # CTRL+SPACE

# run from the specified alias
CA__ALIAS='lkj'


# enable / disable the shortcut / alias
# 0 = enabled   1 = disabled
CA__DISABLE_SHORTCUT=0 
CA__DISABLE_ALIAS=1


# structure options
# 
# where LOCAL_PROJECT_NAME is provided through the API / CLI, 
# the plugin will attempt to create the following structure:
#
# LOCAL_PROJECT_NAME
#     | SOURCE_DIR  << cloned repository
#     | VIRTUAL_ENV << the project's virtual environment
#     | CUSTOM_ENV  << CODE_ACTIVATOR's custom environment variables file
#     | NO_ENV      << CODE_ACTIVATOR sentinel to avoid prompting env setup
CA__SOURCE_DIR='code'
CA__VIRTUAL_ENV='env'
CA__CUSTOM_ENV='custom-env'
CA__NO_ENV='no-env'