dotfiles/scripts/snip
2023-09-28 21:14:30 -06:00

24 lines
662 B
Bash
Executable file

#!/bin/sh
# Snippets directory
snippets=~/Documents/snippets
# Navigate using fzf
fzf_nav() {
[ -d "$1" ] && cd "$1"
while true ; do
opt=$(/usr/bin/ls -AF1 --group-directories-first)
opt=$(printf "../\n$opt" | fzf --cycle --reverse --padding 2% --preview 'batcat --decorations never --color always {}')
[ -d "$opt" ] && cd "$opt" > /dev/null 2>&1 || break
done
[ -n "$opt" ] && echo "$opt"
}
# Select using menu
snippet=$(fzf_nav "$snippets")
# Exit if empty
[ -z "$snippet" ] && exit
# Copy to clipboard and notify
cat "$snippets"/"$snippet" | xsel -ib && notify-send "Snippet" "'$snippet' copied to clipboard!"
"$EDITOR" "$snippets"/"$snippet"