#!/bin/bash

function voicesed() { sed 's/\([^ ]*\) .*/\1/;'; }
function voicelist() { say -v ? | voicesed; }
function voicelistenglish() { say -v ? | grep 'en_' | voicesed; }
function voicerandom() { voicelistenglish | shuf -n 1; }

function voicelistnormal() {
	voicelistenglish |
		sed '/Trinoids/d;/Zarvox/d;/Deranged/d;/Hysterical/d;/Bahh/d;/Bubbles/d'
}
function voicerandomnormal() { voicelistnormal | shuf -n 1; }

function sayvoices() {
	for voice in $(voicelist); do
		say -v "$voice" $(say -v ? | grep $voice | sed 's/[^#]*# //');
	done
}

function sayone() {
	local voice=$(voicerandom);
	say -v "$voice" $(say -v ? | grep $voice | sed 's/[^#]*# //');
}


function meme {
	local DIRECTORY="$HOME/Pictures/jest";

	[ ! -d $DIRECTORY ] && echo "No meme directory found :c";

	echo;
	imgcat $DIRECTORY/$1
	echo;
}
_meme () { # autocompletion
    # Set
	local cur=${COMP_WORDS[COMP_CWORD]}
	COMPREPLY=( $(compgen -W "$(ls $HOME/Pictures/jest)" -- $cur) )
}
complete -F _meme meme;

function pika {
	local DIRECTORY="$HOME/Pictures/pika";

	[ ! -d $DIRECTORY ] && echo "Pikachu directory required." && exit 1;

	# count the pikas
	IMAGE_COUNT=$(ls -l $DIRECTORY | wc -l);
	let "IMAGE_COUNT=IMAGE_COUNT-1";

	# pick a random gif from the pikachu directory
	IMAGE="$DIRECTORY/$((RANDOM % $IMAGE_COUNT)).gif";

	echo;
	imgcat $IMAGE
	echo;
}

alias pikabox='while true; do reset; pika; sleep 120; done'