add exact name match and leading name match checking
This commit is contained in:
parent
f68f45999a
commit
8c728cf76a
6
etools
6
etools
@ -66,17 +66,17 @@ function etools_unset() {
|
|||||||
|
|
||||||
# INFO: einfo function
|
# INFO: einfo function
|
||||||
einfo() {
|
einfo() {
|
||||||
echo -e " ${ETOOLS_COLOR_INFO}*\033[0m $*"
|
echo -en "${ETOOLS_COLOR_INFO}*\033[0m $*" >&1
|
||||||
}
|
}
|
||||||
|
|
||||||
# INFO: ewarn function
|
# INFO: ewarn function
|
||||||
ewarn() {
|
ewarn() {
|
||||||
echo -e " ${ETOOLS_COLOR_WARN}* WARNING:\033[0m $*"
|
echo -en "${ETOOLS_COLOR_WARN}* WARNING:\033[0m $*" >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
# INFO: eerror function
|
# INFO: eerror function
|
||||||
eerror() {
|
eerror() {
|
||||||
echo -e " ${ETOOLS_COLOR_ERROR}* ERROR:\033[0m $*"
|
echo -en "${ETOOLS_COLOR_ERROR}* ERROR:\033[0m $*" >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
31
helper.sh
31
helper.sh
@ -30,7 +30,7 @@ function _formatted_find() {
|
|||||||
[ "$ETOOLS_DEBUG" = "true" ] && einfo "${ETOOLS_FIND_CMD}" "${2}" "$ETOOLS_FIND_ARGS" "${1}" >&2
|
[ "$ETOOLS_DEBUG" = "true" ] && einfo "${ETOOLS_FIND_CMD}" "${2}" "$ETOOLS_FIND_ARGS" "${1}" >&2
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# TODO: do this with bash expansion only
|
# TODO: do this with bash variable expansion only
|
||||||
eval '$(echo "${ETOOLS_FIND_COMMAND//\{repo\}/${2}}" | sed -e "s/{package}/${1}/g")'
|
eval '$(echo "${ETOOLS_FIND_COMMAND//\{repo\}/${2}}" | sed -e "s/{package}/${1}/g")'
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -78,15 +78,32 @@ function _get_high() {
|
|||||||
function _most_probable() {
|
function _most_probable() {
|
||||||
(( $# == 2 )) && echo "${2//\"/}" && return 0;
|
(( $# == 2 )) && echo "${2//\"/}" && return 0;
|
||||||
|
|
||||||
# TODO: maybe don't just test trailing match, but rather excact package name first
|
# check for exact name match
|
||||||
# eg.: dev-util/devhelp < example/help
|
|
||||||
for package in "${@:2}"; do
|
for package in "${@:2}"; do
|
||||||
# echo "$package"
|
package=${package//\"/}
|
||||||
if [[ ${package//\"/} == *"$1" ]]; then
|
if [[ ${package#*/} == "$1" ]]; then
|
||||||
echo "${package//\"/}" && return 0;
|
echo "$package" && return 0;
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# check for trailing name match
|
||||||
|
for package in "${@:2}"; do
|
||||||
|
package=${package//\"/}
|
||||||
|
if [[ $package == *"$1" ]]; then
|
||||||
|
echo "$package" && return 0;
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# check for leading name match
|
||||||
|
for package in "${@:2}"; do
|
||||||
|
package=${package//\"/}
|
||||||
|
if [[ $package == "$1"* ]]; then
|
||||||
|
echo "$package" && return 0;
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# TODO: maybe introduce another user function-call hook
|
||||||
|
|
||||||
# INFO: at this point we're lucky guessing
|
# INFO: at this point we're lucky guessing
|
||||||
echo "${2//\"/}"
|
echo "${2//\"/}"
|
||||||
}
|
}
|
||||||
@ -116,7 +133,7 @@ function _debug_time() {
|
|||||||
function _filter() {
|
function _filter() {
|
||||||
# local start_time=$(date +%s%3N) && echo 0
|
# local start_time=$(date +%s%3N) && echo 0
|
||||||
# _debug_time "$start_time"
|
# _debug_time "$start_time"
|
||||||
(( $# <= 1 )) && ewarn "No packages found, review config options" && return 1;
|
(( $# <= 0 )) && ewarn "No packages found, review config options" && return 1;
|
||||||
declare -Ag _etools_packages
|
declare -Ag _etools_packages
|
||||||
for package in "$@"; do
|
for package in "$@"; do
|
||||||
package=${package//\"/}
|
package=${package//\"/}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user