#!/bin/sh

ignore='-not -path "*/.*/*"'

root="."
while test $# != 0
do
	case "$1" in
		-h) unset ignore; shift ;;
		-r) root="$2"; shift 2;;
		--) shift; break ;;
		*) break ;;
	esac
done

if [ -f "$1" ]
then
	$EDITOR $1
else
	file=$(sh -c "find $root $ignore -type f" | fzf -i -m -1 -q "$*")
	if [ "$?" -eq 0 ]
	then
		echo "$file" | xargs -d '\n' $EDITOR
	fi
fi