fix thing
This commit is contained in:
@@ -129,7 +129,7 @@ ${scwryptsmodule}.parse() {
|
||||
|
||||
( -l | --list-themes ) parsed=1
|
||||
dotwryn.config colorscheme.themes
|
||||
EARLY_ESCAPE_CODE=0
|
||||
EARLY_ESCAPE_CODE=-1
|
||||
;;
|
||||
|
||||
( --only ) parsed=2
|
||||
|
||||
@@ -29,3 +29,78 @@ done
|
||||
unset DOTWRYN_REQUIRED_VAR
|
||||
|
||||
#####################################################################
|
||||
|
||||
dotwryn.config() {
|
||||
local value values=()
|
||||
local set_variable="${2}"
|
||||
|
||||
##########################################
|
||||
|
||||
case "${1}" in
|
||||
( colorscheme.path )
|
||||
value="${DOTWRYN}/config/colorschemes"
|
||||
mkdir -p -- "${value}"
|
||||
;;
|
||||
|
||||
( colorscheme.active.path )
|
||||
value="$(dotwryn.config colorscheme.path)/active"
|
||||
mkdir -p -- "${value}"
|
||||
;;
|
||||
|
||||
( colorscheme.active.source )
|
||||
value="$(dotwryn.config colorscheme.active.path)/source.yaml"
|
||||
;;
|
||||
|
||||
( colorscheme.active.default-material-references )
|
||||
value="$(dotwryn.config colorscheme.active.path)/default.yaml"
|
||||
;;
|
||||
|
||||
( colorscheme.themes )
|
||||
local _theme
|
||||
while IFS= read -r _theme
|
||||
do
|
||||
values+=("${_theme}")
|
||||
done < <(
|
||||
cd -- "$(dotwryn.config colorscheme.path)"
|
||||
find . -mindepth 1 -maxdepth 1 -type f -name \*.yaml \
|
||||
| sed 's|^./||; s|\.yaml$||' \
|
||||
)
|
||||
unset _theme
|
||||
;;
|
||||
|
||||
( colorscheme.supported-apps )
|
||||
use --group dotwryn desktop/colorscheme/apps \
|
||||
|| echo.error 'cannot determine supported apps due to module load error' \
|
||||
|| return 1
|
||||
|
||||
local _app
|
||||
while IFS= read -r _app
|
||||
do
|
||||
values+=("${_app}")
|
||||
done < <(typeset -f + | sed -n 's/^_GENERATE_THEME__//p')
|
||||
unset _app
|
||||
;;
|
||||
esac
|
||||
|
||||
##########################################
|
||||
|
||||
local value_type=none
|
||||
[[ "${value}" ]] && value_type=scalar
|
||||
[[ "${#values[@]}" -gt 0 ]] && value_type=array
|
||||
|
||||
case "${value_type}" in
|
||||
( none ) return 1 ;;
|
||||
|
||||
( scalar )
|
||||
case "${set_variable}" in
|
||||
( '' ) echo "${value}" ;;
|
||||
( * ) ${set_variable}="${value}" ;;
|
||||
esac
|
||||
;;
|
||||
( array )
|
||||
case "${set_variable}" in
|
||||
( '' ) printf '%s\n' "${values[@]}" ;;
|
||||
( * ) eval "${set_variable}=(${(q)values[@]})" ;;
|
||||
esac
|
||||
esac
|
||||
}
|
||||
|
||||
@@ -43,5 +43,5 @@ MAIN() {
|
||||
|
||||
MAIN.parse() { return 0; }
|
||||
MAIN.parse.validate() {
|
||||
[[ DRY_RUN =~ true ]] && FORWARD_ARGS+=(--dry-run)
|
||||
[[ ${DRY_RUN} =~ true ]] && FORWARD_ARGS+=(--dry-run)
|
||||
}
|
||||
|
||||
@@ -17,12 +17,20 @@ ${scwryptsmodule}() {
|
||||
do
|
||||
((SYMLINK_COUNT+=1))
|
||||
SOURCE_CONFIG="$(scwrypts.get-realpath "$(echo ${SYMLINK} | awk '{print $1;}')")"
|
||||
TARGET_CONFIG="$(scwrypts.get-realpath "$(echo ${SYMLINK} | awk '{print $2;}')")"
|
||||
TARGET_CONFIG="$(echo ${SYMLINK} | awk '{print $2;}' | envsubst)"
|
||||
|
||||
[[ "${TARGET_CONFIG}" ]] \
|
||||
&& TARGET_CONFIG="$(readlink --canonicalize-missing -- "$(dirname -- "${TARGET_CONFIG}")")/$(basename -- "${TARGET_CONFIG}")"
|
||||
|
||||
[ "${SOURCE_CONFIG}" ] && [ "${TARGET_CONFIG}" ] \
|
||||
|| echo.error "bad symlink entry : ${SYMLINK}" \
|
||||
|| continue
|
||||
|
||||
[ -L "${TARGET_CONFIG}" ] && [[ "$(readlink --canonicalize -- "${TARGET_CONFIG}")" == "${SOURCE_CONFIG}" ]] && {
|
||||
echo.debug "already linked '$(echo "${TARGET_CONFIG}" | sed "s|${HOME}/||")'"
|
||||
continue
|
||||
}
|
||||
|
||||
case "${TARGET_CONFIG}" in
|
||||
( /etc/* )
|
||||
case ${SUDO} in
|
||||
@@ -60,7 +68,7 @@ ${scwryptsmodule}() {
|
||||
&& [ ! -f "${SOURCE_CONFIG}" ] && [ ! -d "${SOURCE_CONFIG}" ] \
|
||||
&& [ ! -f "${TARGET_CONFIG}" ] && [ ! -d "${TARGET_CONFIG}" ] \
|
||||
&& echo.status "${SOURCE_CONFIG} is a new file" \
|
||||
&& mkdir -p -- "$(basename -- "${SOURCE_CONFIG}")" \
|
||||
&& mkdir -p -- "$(dirname -- "${SOURCE_CONFIG}")" \
|
||||
&& touch "${SOURCE_CONFIG}" \
|
||||
;
|
||||
|
||||
@@ -68,7 +76,7 @@ ${scwryptsmodule}() {
|
||||
&& [ ! -f "${SOURCE_CONFIG}" ] && [ ! -d "${SOURCE_CONFIG}" ] \
|
||||
&& [ -f "${TARGET_CONFIG}" ] \
|
||||
&& echo.status "${SOURCE_CONFIG} is not tracked yet; copying from ${TARGET_CONFIG}" \
|
||||
&& mkdir -p -- "$(basename -- "${SOURCE_CONFIG}")" \
|
||||
&& mkdir -p -- "$(dirname -- "${SOURCE_CONFIG}")" \
|
||||
&& cp -- "${TARGET_CONFIG}" "${SOURCE_CONFIG}" \
|
||||
;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user