aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorYash Karandikar2020-03-14 15:31:29 -0500
committerYash Karandikar2020-03-15 19:26:29 -0500
commita865f9e6c5097d81f3c408669493ff11873cba5a (patch)
treea3bc3b69dd1a04ff7d40dd46eab013d5786108b9
parent85c655ae6e5b57a99fe1d5aa7d94d0639a216d8e (diff)
downloadaur-a865f9e6c5097d81f3c408669493ff11873cba5a.tar.gz
Create search functionality
-rwxr-xr-xhaur22
1 files changed, 21 insertions, 1 deletions
diff --git a/haur b/haur
index 9eb0c5e8d782..1acdcc2a842b 100755
--- a/haur
+++ b/haur
@@ -5,6 +5,16 @@ die () {
exit 1
}
+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 "${name[i]} ${version[i]}: ${description[i]}"
+ done
+}
+
if [ -f "$HOME"/.config/haurrc ]; then
# shellcheck source=/dev/null
source "$HOME"/.config/haurrc
@@ -57,8 +67,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
;;
@@ -83,6 +96,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}"