rg support

This commit is contained in:
2025-07-29 22:07:54 +02:00
parent 8bbc57ffb2
commit 3e3622b5be
4 changed files with 121 additions and 71 deletions

View File

@@ -76,11 +76,6 @@ if [ "${1:-}" = "--internal-search" ]; then
exit 0
fi
if [ "${1:-}" = "--internal-list-releases" ]; then
print "NOT IMPLEMENTED"
exit 0
fi
if [ "${1:-}" = "--internal-list-releasegroups-fresh" ]; then
artistid="$2"
cache_delete_artist "$artistid"
@@ -133,6 +128,47 @@ if [ "${1:-}" = "--internal-list-releasegroups" ]; then
exit 0
fi
if [ "${1:-}" = "--internal-list-releases" ]; then
title="$(mb_releasegroup "$2" |
$JQ -r '.title')"
artist="$(mb_releasegroup "$2" |
$JQ -r '."artist-credit" | map(([.name, .joinphrase]|join(""))) | join("")')"
mb_releasegroup_releases "$2" |
$JQ -r '."releases"[] | [
.id,
.status,
.date,
."cover-art-archive".count,
(."label-info" | map(.label.name) | unique | join(", ")),
(.media | map(."track-count") | add),
(.media | map(.format) | unique | join(", ")),
.country,
.title,
(."artist-credit" | map(([.name, .joinphrase]|join(""))) | join(""))
] | join("\t")' |
awk \
-F "\t" \
-v release_official="$RELEASE_OFFICIAL" \
-v release_promotion="$RELEASE_PROMOTION" \
-v release_bootleg="$RELEASE_BOOTLEG" \
-v release_pseudo="$RELEASE_PSEUDO" \
-v release_withdrawn="$RELEASE_WITHDRAWN" \
-v release_expunged="$RELEASE_EXPUNGED" \
-v release_cancelled="$RELEASE_CANCELLED" \
-v release_format="$RELEASE_FORMAT" \
-v release_format_title_artist="$RELEASE_TITLE_ARTIST" \
-v release_format_title="$RELEASE_TITLE" \
-v release_format_artist="$RELEASE_ARTIST" \
-v rg_artist="$artist" \
-v rg_title="$title" \
"$AWK_RELEASES" |
sort -n -r |
cut -d "$(printf '\t')" -f 2- |
column -t -s "$(printf '\t')" |
sed 's| \+\([0-9a-f-]\+\)$|\t\1|'
exit 0
fi
if [ "${1:-}" = "--help" ]; then
cat <<EOF
Usage: $0 [ --help | --show-artist <mbid> ]
@@ -180,17 +216,29 @@ while true; do
--bind="ctrl-d:half-page-down,ctrl-u:half-page-up" \
--bind="ctrl-r:reload:$0 --internal-list-releasegroups-fresh \"$2\""
)
[ "$sel" ] && set -- "--show-release" "$sel"
[ "$sel" ] && set -- "--show-releasegroup" "$sel"
;;
"--show-release-group")
"--show-releasegroup")
title="$(mb_releasegroup "$2" |
$JQ -r '.title')"
artist="$(mb_releasegroup "$2" |
$JQ -r '."artist-credit" | map(([.name, .joinphrase]|join(""))) | join("")')"
echo "$title"
echo "$artist"
sel=$(
$0 --internal-list-releases "$2" |
$FZF \
--ansi \
--reverse \
--cycle \
--no-sort \
--query="$RELEASE_OFFICIAL " \
--delimiter="\t" \
--prompt="$(printf "$FULL_PROMPT" "$artist" "$title")" \
--accept-nth="{2}" \
--with-nth="{1}" \
--bind="ctrl-d:half-page-down,ctrl-u:half-page-up"
)
exit 0
set -- ""
[ "$sel" ] && set -- "--show-release" "$sel"
;;
*)
sel=$(