misc scripts & programs
1#!/bin/bash
2#
3# quick and easy directory bookmarks. pure bash
4
5MARK_FILE="$HOME/.marksh"
6
7# create bm file if it doesn't exist
8mark_file_create() {
9 if [[ -z $MARK_FILE ]]; then
10 touch $MARK_FILE
11 else
12 echo "MARK_FILE already exists"
13 fi
14}
15
16# add bookmark to file
17mark_create() {
18 printf "$(pwd)\n" >> $MARK_FILE
19}
20
21# search bookmarks
22mark_search() {
23 choice="$(cat $MARK_FILE | fzf)"
24 printf '%s' "$choice" | tee >(xclip -sel clip)
25}
26
27# clear bookmark file
28mark_clear() {
29 read -p "clear bookmarks; are you sure? y/n/c" choice
30
31 case $choice in
32 [yY]* ) echo -n "" > $MARK_FILE ;;
33 [nN]* ) echo "nothing cleared :)" ;;
34 [cC]* ) echo "canceled!" ;;
35 *) exit ;;
36 esac
37}
38
39# whole thing
40case "$1" in
41 "")
42 printf "usage: mark add | mark search | mark clear"
43 exit 0
44 ;;
45 "add")
46 mark_create
47 exit 0
48 ;;
49 "search" | "list")
50 mark_search
51 exit 0
52 ;;
53 "clear")
54 mark_clear
55 exit 0
56 ;;
57esac