fco () { local tags branches target branches=$( git --no-pager branch --all \ --format="%(if)%(HEAD)%(then)%(else)%(if:equals=HEAD)%(refname:strip=3)%(then)%(else)%1B[0;34;1mbranch%09%1B[m%(refname:short)%(end)%(end)" \ | sed '/^$/d' ) || return tags=$( git --no-pager tag | awk '{print "\x1b[35;1mtag\x1b[m\t" $1}' ) || return target=$( (echo $branches; echo $tags) \ | fzf --no-hscroll --no-multi -n 2 --ansi ) || return git checkout $(awk '{print $2}' <<<$target) }