aboutsummarylogtreecommitdiffstats
path: root/haur
diff options
context:
space:
mode:
Diffstat (limited to 'haur')
-rwxr-xr-xhaur29
1 files changed, 25 insertions, 4 deletions
diff --git a/haur b/haur
index 9eb0c5e8d782..8d2d6305b487 100755
--- a/haur
+++ b/haur
@@ -24,13 +24,13 @@ if [ ! "$HAUR_NO_COLORS" == "y" ]; then
ncolors=$(tput colors 2>/dev/null)
if test -n "$ncolors" && test "$ncolors" -ge 8; then
- # bold="$(tput bold 2>/dev/null)"
+ bold="$(tput bold 2>/dev/null)"
# underline="$(tput smul 2>/dev/null)"
# standout="$(tput smso 2>/dev/null)"
normal="$(tput sgr0 2>/dev/null)"
# black="$(tput setaf 0 2>/dev/null)"
red="$(tput setaf 1 2>/dev/null)"
- # green="$(tput setaf 2 2>/dev/null)"
+ green="$(tput setaf 2 2>/dev/null)"
# yellow="$(tput setaf 3 2>/dev/null)"
blue="$(tput setaf 4 2>/dev/null)"
# magenta="$(tput setaf 5 2>/dev/null)"
@@ -40,6 +40,16 @@ if [ ! "$HAUR_NO_COLORS" == "y" ]; then
fi
fi
+search () {
+ search_term=$1
+ mapfile -t name < <(curl -s "https://aur.archlinux.org/rpc/?v=5&type=search&arg=$search_term" | jq -r ".results" | jq -r ".[] | .Name")
+ mapfile -t version < <(curl -s "https://aur.archlinux.org/rpc/?v=5&type=search&arg=$search_term" | jq -r ".results" | jq -r ".[] | .Version")
+ mapfile -t description < <(curl -s "https://aur.archlinux.org/rpc/?v=5&type=search&arg=$search_term" | jq -r ".results" | jq -r ".[] | .Description")
+ for (( i=0; i<${#name[@]}; i++ )); do
+ echo "${bold}${blue}${name[i]} ${green}${version[i]}${normal}: ${description[i]}"
+ done
+}
+
REMOVE=false
CLEAR_CACHE=false
UPDATE=false
@@ -47,6 +57,7 @@ UPDATE=false
for arg in "$@"; do
shift
case "$arg" in
+ "--search") set -- "$@" "-s" ;;
"--update") set -- "$@" "-u" ;;
"--remove") set -- "$@" "-r" ;;
"--clear-cache") set -- "$@" "-c" ;;
@@ -57,8 +68,11 @@ for arg in "$@"; do
done
shift $((OPTIND -1))
-while getopts ":urch" opt; do
+while getopts ":surch" opt; do
case $opt in
+ s )
+ SEARCH=true
+ ;;
u )
UPDATE=true
;;
@@ -69,7 +83,7 @@ while getopts ":urch" opt; do
CLEAR_CACHE=true
;;
h )
- echo "Usage: haur [--remove | -r] | [--clear-cache | -c] [--update | -u] <package names>"
+ echo "Usage: haur [--remove | -r] | [--clear-cache | -c] [--update | -u] [--search | -s]<package names>"
exit 0
;;
\?)
@@ -83,6 +97,13 @@ if [ "$HAUR_ALWAYS_CLEAR_CACHE" == "y" ]; then
CLEAR_CACHE=true
fi
+if [ $SEARCH == true ]; then
+ for PACKAGE_NAME in "$@"; do
+ search "${PACKAGE_NAME}" || die "Something went wrong while searching for that package."
+ done
+ exit 0
+fi
+
if [ $REMOVE == true ]; then
for PACKAGE_NAME in "$@"; do
echo "${blue}Removing $PACKAGE_NAME...${normal}"