#!/bin/sh

DMENU='dmenu  -z 1900 -x 10 -y 10 -i'
blacklist="powerlevel10k|secret|gitignore|log|plugins|patches|config/surf|BetterDiscord"
whitelist="config.h|keybind.h|colors.h|color.h|rules.h"

files="$(git --git-dir=$HOME/.dotfiles.git/ --work-tree=$HOME ls-files)"

items=$(echo "$files" | grep -Ev $blacklist | sed -n "s|^|config/|p")
scripts=$(echo "$files" | grep -Ev $blacklist | sed -n "s|^|scripts/|p")
suckless=$(echo "$files" | grep -Ev $blacklist | grep -E $whitelist | sed -n "s|^|suckless/|p")

selection=$(printf "$items\n$scripts\n$suckless" | $DMENU)

if [ ! "$selection" = "" ]; then
  if [ $(echo $selection | cut -d"/" -f 1) = "scripts" ]; then
    st -c vim -n vim -e $EDITOR "$(echo $selection | sed -n "s|scripts/|$HOME/.dotfiles/local/bin/|p")"
  elif [ $(echo $selection | cut -d"/" -f 1) = "suckless" ]; then
    st -c vim -n vim -e $EDITOR "$(echo $selection | sed -n "s|suckless/|$HOME/.dotfiles/suckless/|p")"
  else
    st -c vim -n vim -e $EDITOR "$(echo $selection | sed -n "s|config/|$HOME/.dotfiles/config/|p")"
  fi
fi
