fix(show): star marker, aligned gutter and smarter AUR merge

N?? / show marks the upstream candidate with "*" instead of ">" (the
prompt, which read as a command in logs), and every line but the note
gets a two-character gutter: "  " for the installed record, "* " for the
candidate, so keys and colons line up. The plain native fallback (zypper,
unmergeable records) and the not-installed candidate use the same gutter.

pacman records (-Qi with -Si or the AUR helper's -Sia) are now compared
the way they are meant:
- values unwrapped (continuation lines joined, runs of blanks as one):
  yay wraps Depends On / Optional Deps at 80 columns even without a
  terminal unless COLUMNS=0, which the helper now gets for -Qua and -Sia
- Depends On, Provides, Conflicts With, Make/Check Deps and the other
  lists as sets of exact tokens in any order (a constraint is a change)
- Optional Deps by package names ("name: description [installed]" in
  -Qi, bare names from the AUR)
- a differing value is one line like -Qi, Optional Deps one entry per
  line; candidate-only fields sit next to their counterpart (Repository
  after Version, AUR URL after URL, Maintainer after Packager, ...)

Verified on recorded claude-desktop records (paru 2.1.0, yay 13.0.1, the
installed 2.9939.4-1 from the AUR's own .SRCINFO); discovery/pacman.md
section 15.2.
This commit is contained in:
bryanpedini committed 2026-10-10 16:01:51 +02:00
1 parent def537af58
commit 3af159e09a
16 files changed
+680 -288

No files matched your search

+26
View File
@@ -332,3 +332,29 @@ Install Date : Fri Oct 9 08:00:00 2026
Install Reason : Explicitly installed
Install Script : No
Validated By : None
Name : claude-desktop
Version : 2.9939.4-1
Description : Official Claude AI desktop app from Anthropic — Chat, Cowork, and Claude Code
Architecture : x86_64
URL : https://claude.com/download
Licenses : LicenseRef-Proprietary
Groups : None
Provides : None
Depends On : alsa-lib at-spi2-core cairo dbus expat gcc-libs glib2 glibc gtk3 hicolor-icon-theme libcap-ng libcups libdrm libnotify libseccomp libsecret libx11 libxcb libxcomposite libxdamage libxext libxfixes libxkbcommon libxrandr libxtst mesa nspr nss pango socat systemd-libs util-linux-libs virtiofsd xdg-desktop-portal xdg-utils
Optional Deps : gnome-keyring: credential storage via Secret Service (GNOME)
kwallet: credential storage (KDE Plasma) [installed]
libayatana-appindicator: system tray icon
xdg-desktop-portal-gtk: portal backend for GTK desktops
xdg-desktop-portal-kde: portal backend for KDE Plasma
Required By : None
Optional For : None
Conflicts With : claude claude-desktop-bin
Replaces : None
Installed Size : 117.74 MiB
Packager : Unknown Packager
Build Date : Sat Oct 3 04:00:00 2026
Install Date : Sat Oct 10 13:49:52 2026
Install Reason : Explicitly installed
Install Script : No
Validated By : None