|
#!/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"
|
|
declare -A mappings
|
|
|
|
items=$(cd ~/.config; git ls-files | grep -Ev $blacklist | sed -n "s|^|config/|p")
|
|
scripts=$(cd ~/.local/bin ; git ls-files | grep -Ev $blacklist | sed -n "s|^|scripts/|p")
|
|
suckless=$(cd ~/.dotfiles/suckless ; git ls-files | grep -Ev $blacklist | grep -E $whitelist | sed -n "s|^|suckless/|p")
|
|
|
|
selection=$(echo -e "$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
|