56 lines
1.2 KiB
Bash
Executable File
56 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env zsh
|
|
|
|
function () {
|
|
# Bookmarks
|
|
local -A bookmarks=(
|
|
'nvim' '~/.config/nvim/init.vim'
|
|
'gtk2' '~/.config/gtk-2.0/gtkrc-2.0'
|
|
'gtk3' '~/.config/gtk-3.0/settings.ini'
|
|
'lf' '~/.config/lf/lfrc'
|
|
'preview' '~/.local/bin/lfview'
|
|
'mpv' '~/.config/mpv/mpv.conf'
|
|
'xres' '~/.config/X11/xresources'
|
|
'wm' '~/.config/bspwm/bspwmrc'
|
|
'keys' '~/.config/sxhkd/sxhkdrc'
|
|
'shell' '~/.config/zsh/.zshrc'
|
|
'dunst' '~/.config/dunst/dunstrc'
|
|
'music' '~/.config/ncmpcpp/config'
|
|
'tmux' '~/.config/tmux/tmux.conf'
|
|
'xinit' '~/.xinitrc'
|
|
'alias' '~/.config/zsh/aliases.zsh'
|
|
'term' '~/.config/alacritty.yml'
|
|
'env' '~/.zshenv'
|
|
)
|
|
|
|
local selected_bookmark
|
|
|
|
if [[ "$1" != '' ]] {
|
|
selected_bookmark="${bookmarks[$1]}"
|
|
} else {
|
|
local bookmarks_table
|
|
|
|
local key
|
|
foreach key (${(k)bookmarks}) {
|
|
bookmarks_table+="$key ${bookmarks[$key]}\n"
|
|
}
|
|
|
|
if (! hash fzf &>/dev/null) {
|
|
return 1
|
|
} else {
|
|
selected_bookmark=$(
|
|
printf "$bookmarks_table" \
|
|
| fzf \
|
|
--height='45%' \
|
|
)
|
|
|
|
selected_bookmark="${selected_bookmark[(ws: :)2]}"
|
|
}
|
|
}
|
|
|
|
if [[ "$selected_bookmark" != '' ]] {
|
|
eval $EDITOR "$selected_bookmark"
|
|
} else {
|
|
exit 0
|
|
}
|
|
}
|