bugfix: leave empty list
This commit is contained in:
79
src/main.sh
79
src/main.sh
@@ -213,7 +213,7 @@ case "${1:-}" in
|
||||
cnt=$(echo "$j" | $JQ 'length')
|
||||
[ "$cnt" -eq 1 ] && aid="$(echo "$j" | $JQ '.[0].artist.id')"
|
||||
fi
|
||||
[ "${aid:-}" ] && $0 --action-draw "$mode" "$VIEW_ARTIST" "$aid" || printf "print(%s)+print(%s)+print(%s)+print(%s)+accept" "$VIEW_SELECT_ARTIST" "$j" "$view" "$mbid_cur"
|
||||
[ "${aid:-}" ] && $0 --action-draw "$mode" "$VIEW_ARTIST" "0" "$aid" || printf "print(%s)+print(%s)+print(%s)+print(%s)+accept" "$VIEW_SELECT_ARTIST" "$j" "$view" "$mbid_cur"
|
||||
exit 0
|
||||
;;
|
||||
"--action-draw")
|
||||
@@ -221,8 +221,8 @@ case "${1:-}" in
|
||||
#
|
||||
# @argument $2: mode (default `normal`)
|
||||
# @argument $3: view (default list artists)
|
||||
# @argument $4: MusicBrainz ID (optional)
|
||||
# @argument $5: level (optional)
|
||||
# @argument $4: level
|
||||
# @argument $5: MusicBrainz ID (optional)
|
||||
#
|
||||
# The argument `level` specifies the view relative to `view`: If `level` is
|
||||
# set to +1, then the specified MusicBrainz ID is an ID of an object one level
|
||||
@@ -256,25 +256,31 @@ case "${1:-}" in
|
||||
# - VIEW_RELEASE: Divert view to VIEW_LIST_RELEASEGROUP.
|
||||
mode="${2:-"$MODE_NORMAL"}"
|
||||
view="${3:-"$VIEW_LIST_ARTISTS"}"
|
||||
mbid="${4:-}"
|
||||
level="${5:-}"
|
||||
level="${4:-}"
|
||||
mbid="${5:-}"
|
||||
info "mode=$mode; view=$view; mbid=$mbid; level=$level"
|
||||
# Change state, if we are being diverted.
|
||||
case "$level" in
|
||||
"-1")
|
||||
case "$view" in
|
||||
"$VIEW_ARTIST")
|
||||
if [ "$mbid" ]; then
|
||||
case "$view" in
|
||||
"$VIEW_ARTIST")
|
||||
view="$VIEW_LIST_ARTISTS"
|
||||
mbid=""
|
||||
;;
|
||||
"$VIEW_RELEASEGROUP")
|
||||
view="$VIEW_ARTIST"
|
||||
mbid="$(mb_releasegroup "$mbid" | $JQ '."artist-credit"[0].artist.id')"
|
||||
;;
|
||||
"$VIEW_RELEASE")
|
||||
view="$VIEW_RELEASEGROUP"
|
||||
mbid="$(mb_release "$mbid" | $JQ '."release-group".id')"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
view="$VIEW_LIST_ARTISTS"
|
||||
mbid=""
|
||||
;;
|
||||
"$VIEW_RELEASEGROUP")
|
||||
view="$VIEW_ARTIST"
|
||||
mbid="$(mb_releasegroup "$mbid" | $JQ '."artist-credit"[0].artist.id')"
|
||||
;;
|
||||
"$VIEW_RELEASE")
|
||||
view="$VIEW_RELEASEGROUP"
|
||||
mbid="$(mb_release "$mbid" | $JQ '."release-group".id')"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
"+1")
|
||||
case "$view" in
|
||||
@@ -285,6 +291,7 @@ case "${1:-}" in
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
info "setting view to $view"
|
||||
# Set initial query
|
||||
q="$(default_query "$view")"
|
||||
[ "$q" ] && q="$q "
|
||||
@@ -659,7 +666,7 @@ while true; do
|
||||
--info="inline-right" \
|
||||
--header-first \
|
||||
--header-border="bottom" \
|
||||
--bind="start:transform:$0 --action-draw $MODE $VIEW $MBID" \
|
||||
--bind="start:transform:$0 --action-draw $MODE $VIEW "0" $MBID" \
|
||||
--bind="$KEYS_I_NORMAL:transform:$IN_NORMAL_MODE || echo hide-input" \
|
||||
--bind="$KEYS_N_INSERT:transform:$IN_NORMAL_MODE && echo show-input || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_DOWN:down" \
|
||||
@@ -670,26 +677,26 @@ while true; do
|
||||
--bind="$KEYS_N_UP:transform:$IN_NORMAL_MODE && echo up || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_N_BOT:transform:$IN_NORMAL_MODE && echo last || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_N_TOP:transform:$IN_NORMAL_MODE && echo first || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_IN:transform:[ {4} ] && $0 --action-draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW {4} \"+1\"" \
|
||||
--bind="$KEYS_OUT:transform:[ {3} ] && $0 --action-draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW {3} \"-1\"" \
|
||||
--bind="$KEYS_N_IN:transform:$IN_NORMAL_MODE && ([ {4} ] && $0 --action-draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW {4} \"+1\") || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_N_OUT:transform:$IN_NORMAL_MODE && ([ {3} ] && $0 --action-draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW {3} \"-1\") || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_IN:transform:[ {4} ] && $0 --action-draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW \"+1\" {4}" \
|
||||
--bind="$KEYS_OUT:transform:$0 --action-draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW \"-1\" {3}" \
|
||||
--bind="$KEYS_N_IN:transform:$IN_NORMAL_MODE && ([ {4} ] && $0 --action-draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW \"+1\" {4}) || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_N_OUT:transform:$IN_NORMAL_MODE && ( $0 --action-draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW \"-1\" {3}) || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_SELECT_ARTIST:transform:$0 --action-gotoartist $FZF_CURRENT_MODE $FZF_CURRENT_VIEW {3} {4}" \
|
||||
--bind="$KEYS_LIST_ARTISTS:transform:$0 --action-draw \$FZF_INPUT_STATE $VIEW_LIST_ARTISTS" \
|
||||
--bind="$KEYS_LIST_ALBUMS:transform:$0 --action-draw \$FZF_INPUT_STATE $VIEW_LIST_ALBUMS" \
|
||||
--bind="$KEYS_SEARCH_ARTIST:transform:$0 --action-draw $MODE_INSERT $VIEW_SEARCH_ARTIST" \
|
||||
--bind="$KEYS_SEARCH_ALBUM:transform:$0 --action-draw $MODE_INSERT $VIEW_SEARCH_ALBUM" \
|
||||
--bind="$KEYS_LIST_ARTISTS:transform:$0 --action-draw \$FZF_INPUT_STATE $VIEW_LIST_ARTISTS \"0\"" \
|
||||
--bind="$KEYS_LIST_ALBUMS:transform:$0 --action-draw \$FZF_INPUT_STATE $VIEW_LIST_ALBUMS \"0\"" \
|
||||
--bind="$KEYS_SEARCH_ARTIST:transform:$0 --action-draw $MODE_INSERT $VIEW_SEARCH_ARTIST \"0\"" \
|
||||
--bind="$KEYS_SEARCH_ALBUM:transform:$0 --action-draw $MODE_INSERT $VIEW_SEARCH_ALBUM \"0\"" \
|
||||
--bind="$KEYS_SWITCH_ARTIST_ALBUM:transform:case $FZF_CURRENT_VIEW in
|
||||
$VIEW_LIST_ARTISTS) $0 --action-draw $FZF_CURRENT_MODE $VIEW_LIST_ALBUMS ;;
|
||||
$VIEW_LIST_ALBUMS) $0 --action-draw $FZF_CURRENT_MODE $VIEW_LIST_ARTISTS ;;
|
||||
$VIEW_SEARCH_ARTIST) $0 --action-draw $MODE_INSERT $VIEW_SEARCH_ALBUM ;;
|
||||
$VIEW_SEARCH_ALBUM) $0 --action-draw $MODE_INSERT $VIEW_SEARCH_ARTIST ;;
|
||||
$VIEW_LIST_ARTISTS) $0 --action-draw $FZF_CURRENT_MODE $VIEW_LIST_ALBUMS \"0\" ;;
|
||||
$VIEW_LIST_ALBUMS) $0 --action-draw $FZF_CURRENT_MODE $VIEW_LIST_ARTISTS \"0\";;
|
||||
$VIEW_SEARCH_ARTIST) $0 --action-draw $MODE_INSERT $VIEW_SEARCH_ALBUM \"0\" ;;
|
||||
$VIEW_SEARCH_ALBUM) $0 --action-draw $MODE_INSERT $VIEW_SEARCH_ARTIST \"0\" ;;
|
||||
esac" \
|
||||
--bind="$KEYS_SWITCH_LOCAL_REMOTE:transform:case $FZF_CURRENT_VIEW in
|
||||
$VIEW_LIST_ARTISTS) $0 --action-draw $MODE_INSERT $VIEW_SEARCH_ARTIST ;;
|
||||
$VIEW_LIST_ALBUMS) $0 --action-draw $MODE_INSERT $VIEW_SEARCH_ALBUM ;;
|
||||
$VIEW_SEARCH_ARTIST) $0 --action-draw $MODE_NORMAL $VIEW_LIST_ARTISTS ;;
|
||||
$VIEW_SEARCH_ALBUM) $0 --action-draw $MODE_NORMAL $VIEW_LIST_ALBUMS ;;
|
||||
$VIEW_LIST_ARTISTS) $0 --action-draw $MODE_INSERT $VIEW_SEARCH_ARTIST \"0\" ;;
|
||||
$VIEW_LIST_ALBUMS) $0 --action-draw $MODE_INSERT $VIEW_SEARCH_ALBUM \"0\" ;;
|
||||
$VIEW_SEARCH_ARTIST) $0 --action-draw $MODE_NORMAL $VIEW_LIST_ARTISTS \"0\" ;;
|
||||
$VIEW_SEARCH_ALBUM) $0 --action-draw $MODE_NORMAL $VIEW_LIST_ALBUMS \"0\" ;;
|
||||
esac" \
|
||||
--bind="$KEYS_FILTER:transform:$0 --action-filter $FZF_CURRENT_MODE $FZF_CURRENT_VIEW" \
|
||||
--bind="$KEYS_BROWSE:execute-silent:
|
||||
@@ -708,9 +715,9 @@ open \"\$(dirname {5})\"" \
|
||||
--bind="$KEYS_YANK_CURRENT:execute-silent:printf {3} | $CLIP" \
|
||||
--bind="$KEYS_SHOW_PLAYLIST:transform:echo \"print($VIEW_PLAYLIST)+print()+print($FZF_CURRENT_VIEW)+print({3})+accept\"" \
|
||||
--bind="$KEYS_KEYBINDINGS:preview:$0 --show-keybindings $FZF_CURRENT_VIEW" \
|
||||
--bind="$KEYS_REFRESH:execute-silent($0 --remove-from-cache $FZF_CURRENT_VIEW {3} {4})+transform:$0 --action-draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW {3}" \
|
||||
--bind="$KEYS_REFRESH:execute-silent($0 --remove-from-cache $FZF_CURRENT_VIEW {3} {4})+transform:$0 --action-draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW \"0\" {3}" \
|
||||
--bind="$KEYS_QUIT:print($VIEW_QUIT)+accept" \
|
||||
--bind="$KEYS_N_QUIT:transform:$IN_NORMAL_MODE && ($IN_LIST_ARTISTS_VIEW && echo \"print($VIEW_QUIT)+accept\" || $0 --action-draw $MODE_NORMAL $VIEW_LIST_ARTISTS) || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_N_QUIT:transform:$IN_NORMAL_MODE && ($IN_LIST_ARTISTS_VIEW && echo \"print($VIEW_QUIT)+accept\" || $0 --action-draw $MODE_NORMAL $VIEW_LIST_ARTISTS \"0\") || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_SCROLL_PREVIEW_DOWN:preview-down" \
|
||||
--bind="$KEYS_SCROLL_PREVIEW_UP:preview-up" \
|
||||
--bind="$KEYS_PREVIEW_OPEN:show-preview" \
|
||||
|
||||
Reference in New Issue
Block a user