Files
mini_projects/scryfall_deser/scripts/search_with_rofi_with_args.sh
Arthur Roberts 6b5034c544 Fixed when you a disambiguated name in first
Still should probably clean up the return values.

Also should look into how to exit early from the script
2025-08-21 03:09:17 +01:00

75 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
# Note to self in this... The whitespace seemed to fuck the ifs up. Not sure why.
# This is why it's all flat and ugly
CARDS=$(/home/arthurr/code/mini_projects/scryfall_deser/target/debug/scryfall_deser $@)
RETURN=$?
echo $RETURN
#######################
## Exact card found - just print the card
#######################
if [ $RETURN -eq 200 ]; then
rofi -e "$CARDS"
fi
#######################
## Cards to select from
#######################
if [ $RETURN -eq 0 ]; then
SELECTION=$(rofi -dmenu -i << EOF
$CARDS
EOF
)
CARD_OUTPUT=$(/home/arthurr/code/mini_projects/scryfall_deser/target/debug/scryfall_deser --exact $SELECTION)
# If you double check the first rofi selection it seems to prevent the error window from popping up
# I think this is because it registers the second click as a click outside the window which exits
# the rofi -e message
sleep 0.05
rofi -e "$CARD_OUTPUT"
fi
##########################
## Not even one card that matched - try a close string
##########################
if [ $RETURN -eq 105 ]; then
# TODO do something different with no matching string at all - perhaps even a different ExitCode?
SELECTION=$(rofi -dmenu -p "Did you mean?" -i << EOF
$CARDS
EOF
)
CARDS=$(/home/arthurr/code/mini_projects/scryfall_deser/target/debug/scryfall_deser $SELECTION)
SELECTION=$(rofi -dmenu -i << EOF
$CARDS
EOF
)
CARD_OUTPUT=$(/home/arthurr/code/mini_projects/scryfall_deser/target/debug/scryfall_deser --exact $SELECTION)
sleep 0.05
rofi -e "$CARD_OUTPUT"
fi
###############################
## No seach string input at all
###############################
if [ $RETURN -eq 101 ]; then
rofi -e "No search string found"
fi