merged remove from official and AUR repo functions

This commit is contained in:
Eric Lay 2020-06-28 08:54:12 -05:00
parent afb0986c54
commit a0dfd9146c
1 changed files with 13 additions and 18 deletions

21
fpf
View File

@ -6,7 +6,7 @@ Help() {
echo "Use fzf to search and install with Pacman and Yay" echo "Use fzf to search and install with Pacman and Yay"
echo "Defaults to Pacman if no options passed" echo "Defaults to Pacman if no options passed"
echo echo
echo "Syntax: fpf -[a|l|la|R|Ra|h]" echo "Syntax: fpf -[a|l|la|R|h]"
echo echo
echo "options:" echo "options:"
echo echo
@ -16,16 +16,14 @@ Help() {
echo echo
echo "la Search/List installed packages from AUR repo" echo "la Search/List installed packages from AUR repo"
echo echo
echo "R Search/List installed packages from official repos for removal" echo "R Search/List installed packages for removal"
echo
echo "Ra Search/List installed packages from AUR repo for removal"
echo echo
echo "h Print this help screen." echo "h Print this help screen."
echo echo
} }
### Manjaro Repo ### Manjaro Repo
#Double check things are up to date # Check things are up to date
UpdateInfos() { UpdateInfos() {
[ -f /var/lib/pacman/sync/core.files ] || { echo -e "Syncing files database"; sudo pacman -Fy; } [ -f /var/lib/pacman/sync/core.files ] || { echo -e "Syncing files database"; sudo pacman -Fy; }
d1=$(stat -c %y /var/lib/pacman/sync/core.files) d1=$(stat -c %y /var/lib/pacman/sync/core.files)
@ -35,8 +33,8 @@ UpdateInfos() {
[[ "${d2///-/}" > "${d1//-/}" ]] && { echo -e "Files database is out of date\nSyncing now..."; sudo pacman -Fy; } [[ "${d2///-/}" > "${d1//-/}" ]] && { echo -e "Files database is out of date\nSyncing now..."; sudo pacman -Fy; }
} }
#Get Manjaro package list, sort, mark installed, preview infos and finally hand off to pacman for install # Get Official package list, sort, mark installed, preview infos and finally hand off to pacman for install
Mrepo() { Orepo() {
echo "Setting things up..." echo "Setting things up..."
sort <(comm -23 <(pacman -Slq | sort) <(pacman -Qq | sort)) <(comm -12 <(pacman -Slq | sort) <(pacman -Qq | sort) | awk '{print $0" \033[32m*\033[0m"}') > /tmp/packages sort <(comm -23 <(pacman -Slq | sort) <(pacman -Qq | sort)) <(comm -12 <(pacman -Slq | sort) <(pacman -Qq | sort) | awk '{print $0" \033[32m*\033[0m"}') > /tmp/packages
echo "$(echo -e ' Select packages to install\n (use TAB to toggle selection)'; cat /tmp/packages)" > /tmp/packages echo "$(echo -e ' Select packages to install\n (use TAB to toggle selection)'; cat /tmp/packages)" > /tmp/packages
@ -54,7 +52,7 @@ Installed() {
Remove() { Remove() {
sort <(pacman -Qqs) > /tmp/installed_packages sort <(pacman -Qqs) > /tmp/installed_packages
echo "$(echo -e ' Select packages to remove\n (use TAB to toggle selection)'; cat /tmp/installed_packages)" > /tmp/installed_packages echo "$(echo -e ' Select packages to remove\n (use TAB to toggle selection)'; cat /tmp/installed_packages)" > /tmp/installed_packages
cat /tmp/installed_packages |fzf -q "$1" -e -m --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")' --preview-window=65%:wrap --layout=reverse --marker='>>' --header-lines=2 --info=hidden --ansi --margin="2%,1%,2%,1%" --cycle | xargs -ro sudo pacman -Rsn cat /tmp/installed_packages |fzf -q "$1" -e -m --preview 'cat <(pacman -Si {1} 2>/dev/null || yay -Qi {1}) <(pacman -Ql {1} | awk "{print \$2}")' --preview-window=65%:wrap --layout=reverse --marker='>>' --header-lines=2 --info=hidden --ansi --margin="2%,1%,2%,1%" --cycle | xargs -ro sudo pacman -Rsn
} }
### AUR Repo ### AUR Repo
@ -87,11 +85,11 @@ AurRemove() {
### MAIN ### MAIN
# First we update the files database # Update the files database
UpdateInfos UpdateInfos
# Test for AUR option, if not run with pacman # Test for AUR option, if not run with pacman
if [[ ! "$1" =~ "-" ]]; then if [[ ! "$1" =~ "-" ]]; then
Mrepo "$1" Orepo "$1"
else else
for opt in "$@"; do for opt in "$@"; do
case $opt in case $opt in
@ -111,9 +109,6 @@ else
-R|--remove) -R|--remove)
Remove "$2" Remove "$2"
;; ;;
-Ra|--remove-aur)
AurRemove "$2"
;;
-h|--help) #Usage // Help -h|--help) #Usage // Help
Help Help
;; ;;