Files
fish-config/functions/parur.fish
T
rootiest 00f70e8558 docs(functions): merge remaining manual-only facts into headers
Word-level diff of every manual entry against its generated counterpart
surfaced 546 tokens present in the manual and absent from the header —
losses reconcile.py missed, because it compared description length and
these headers are longer overall thanks to ARGUMENTS/RETURNS.

Merged the substantive ones (546 -> 202 residual tokens, the remainder
being synonym drift). Notable real fixes:

- git-clean: -f/--force was missing from ARGUMENTS entirely
- pkg: per-package-manager query table
- qc: cli-role rationale, role paths, --role passthrough
- config-help: site URL, xdg-open, man page path, case-insensitivity
- agents-init: idempotency, .gitignore paths, upstream pull, wrapper callers
- smart_exit: exit-builtin wiring note, $SCROLLBACK_HISTORY_DIR

The manual's claim that claude/agy pass `agents-init --agents` is stale;
both pass `--quiet` (full setup). Header wins, manual dropped.
2026-07-26 04:02:57 -04:00

43 lines
968 B
Fish

# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CATEGORY
# 05-package-management
#
# SYNOPSIS
# parur
#
# DESCRIPTION
# Presents an fzf picker of all installed packages (via pacman -Qqs) with
# pacman -Qi previews, then removes the selected packages using paru or yay.
# Arch Linux only.
#
# RETURNS
# 0 Packages removed or none selected
# 1 No AUR helper (paru or yay) found
#
# EXAMPLE
# parur
function parur --description 'Interactively search and remove an installed package using fzf'
set -l aur ""
if type -q paru
set aur paru
else if type -q yay
set aur yay
else
echo "No AUR helper found (install paru or yay)" >&2
return 1
end
set -l pkg_list (
pacman -Qqs \
| fzf --preview 'pacman -Qi {}' --multi
)
if test (count $pkg_list) -gt 0
$aur -R $pkg_list
else
echo "No packages selected for removal."
end
end