add mark

Changed files
+57
+57
mark
···
+
#!/bin/bash
+
#
+
# quick and easy directory bookmarks. pure bash
+
+
MARK_FILE="$HOME/.marksh"
+
+
# create bm file if it doesn't exist
+
mark_file_create() {
+
if [[ -z $MARK_FILE ]]; then
+
touch $MARK_FILE
+
else
+
echo "MARK_FILE already exists"
+
fi
+
}
+
+
# add bookmark to file
+
mark_create() {
+
printf "$(pwd)\n" >> $MARK_FILE
+
}
+
+
# search bookmarks
+
mark_search() {
+
choice="$(cat $MARK_FILE | fzf)"
+
printf '%s' "$choice" | tee >(xclip -sel clip)
+
}
+
+
# clear bookmark file
+
mark_clear() {
+
read -p "clear bookmarks; are you sure? y/n/c" choice
+
+
case $choice in
+
[yY]* ) echo -n "" > $MARK_FILE ;;
+
[nN]* ) echo "nothing cleared :)" ;;
+
[cC]* ) echo "canceled!" ;;
+
*) exit ;;
+
esac
+
}
+
+
# whole thing
+
case "$1" in
+
"")
+
printf "usage: mark add | mark search | mark clear"
+
exit 0
+
;;
+
"add")
+
mark_create
+
exit 0
+
;;
+
"search" | "list")
+
mark_search
+
exit 0
+
;;
+
"clear")
+
mark_clear
+
exit 0
+
;;
+
esac