#!/bin/sh

F=$(find * \
    -type f \
    \(     -name "*.c" \
        -o -name "*.cc" \
        -o -name "*.cpp" \
        -o -name "*.diff" \
        -o -name "*.gmk" \
        -o -name "*.h" \
        -o -name "*.hh" \
        -o -name "*.hpp" \
        -o -name "*.js" \
        -o -name "*.lua" \
        -o -name "*.orig" \
        -o -name "*.pl" \
        -o -name "*.py" \
        -o -name "*.rb" \
        -o -name "*.rej" \
        -o -name "*.sh" \
        -o -name "*.txt" \
        -o -name "Makefile" \
    \) | fzf \
            --exact \
            --no-sort \
            --preview-window=right:65% \
            --preview='highlight -O ansi -O xterm256 --force {}' \
);

test -z "$F" \
    || vim "$F";
