dots/.config/bash/functions

93 lines
2.2 KiB
Bash

# vim: ft=sh
pf() {
# project finder
root_dir="$HOME/docs/src"
selected_dir=$(find "$root_dir" -maxdepth 1 -type d | sed "s:$root_dir::;s:/::;/^$/ d" | BEMENU_BACKEND=curses bemenu -p "Choose directory") && cd "$root_dir"/"$selected_dir" || return
}
xb() {
# function for handling xbps in a nicer way
case $1 in
install | i)
sudo xbps-install "${@:2}"
;;
remove | r)
sudo xbps-remove -R "${@:2}"
;;
query | q)
xbps-query "${@:2}"
;;
search | s)
xbps-query -Rs "${@:2}"
;;
upgrade | u)
sudo xbps-install -Su
;;
locate | l)
xlocate "${@:2}"
;;
*)
printf "Usage:\n"
printf "xb i: xbps-install\n"
printf "xb r: xbps-remove -R\n"
printf "xb q: xbps-query\n"
printf "xb s: xbps-query -Rs\n"
printf "xb u: xbps-install -Su\n"
printf "xb l: xlocate\n"
;;
esac
}
p() {
# function for handling pacman in a nicer way too
case $1 in
install | i)
sudo pacman -S "${@:2}"
;;
remove | r)
sudo pacman -Rns "${@:2}"
;;
query | q)
pacman -Q "${@:2}"
;;
search | s)
pacman -Ss "${@:2}"
;;
upgrade | u)
sudo pacman -Syu
;;
locate | l)
pacman -F "${@:2}"
;;
*)
printf "Usage:\n"
printf "p i: pacman -S\n"
printf "p r: pacman -Rns\n"
printf "p q: pacman -Qs\n"
printf "p s: pacman -Ss\n"
printf "p u: pacman -Syu\n"
printf "p l: pacman -F\n"
;;
esac
}
ap() {
# function to make aurutils a bit more friendly
case $1 in
i)
aur sync ${@:2}
sudo pacman -S ${@:2}
;;
u)
aur sync -u
sudo pacman -Syu
;;
*)
printf "Usage:\n"
printf "ap i: aur sync && pacman -S\n"
printf "ap u: aur sync -u && pacman -Syu\n"
;;
esac
}