# Source alias
-. $XDG_CONFIG_HOME/shell/aliasrc
+[ -f $XDG_CONFIG_HOME/shell/aliasrc ] && . $XDG_CONFIG_HOME/shell/aliasrc
# Enable colors and change prompt:
autoload -U colors && colors # Load colors
_comp_options+=(globdots) # Include hidden files.
# vi mode
-bindkey -v
-export KEYTIMEOUT=1
+# bindkey -v
+# export KEYTIMEOUT=1
# Use vim keys in tab complete menu:
-bindkey -M menuselect 'h' vi-backward-char
-bindkey -M menuselect 'k' vi-up-line-or-history
-bindkey -M menuselect 'l' vi-forward-char
-bindkey -M menuselect 'j' vi-down-line-or-history
-bindkey -v '^?' backward-delete-char
+# bindkey -M menuselect 'h' vi-backward-char
+# bindkey -M menuselect 'k' vi-up-line-or-history
+# bindkey -M menuselect 'l' vi-forward-char
+# bindkey -M menuselect 'j' vi-down-line-or-history
+# bindkey -v '^?' backward-delete-char
# Change cursor shape for different vi modes.
-function zle-keymap-select {
- if [[ ${KEYMAP} == vicmd ]] ||
- [[ $1 = 'block' ]]; then
- echo -ne '\e[1 q'
- elif [[ ${KEYMAP} == main ]] ||
- [[ ${KEYMAP} == viins ]] ||
- [[ ${KEYMAP} = '' ]] ||
- [[ $1 = 'beam' ]]; then
- echo -ne '\e[5 q'
- fi
-}
-zle -N zle-keymap-select
-zle-line-init() {
- zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
- echo -ne "\e[5 q"
-}
-zle -N zle-line-init
-echo -ne '\e[5 q' # Use beam shape cursor on startup.
-preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
+# function zle-keymap-select {
+# if [[ ${KEYMAP} == vicmd ]] ||
+# [[ $1 = 'block' ]]; then
+# echo -ne '\e[1 q'
+# elif [[ ${KEYMAP} == main ]] ||
+# [[ ${KEYMAP} == viins ]] ||
+# [[ ${KEYMAP} = '' ]] ||
+# [[ $1 = 'beam' ]]; then
+# echo -ne '\e[5 q'
+# fi
+# }
+# zle -N zle-keymap-select
+# zle-line-init() {
+# zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
+# echo -ne "\e[5 q"
+# }
+# zle -N zle-line-init
+# echo -ne '\e[5 q' # Use beam shape cursor on startup.
+# preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
# Git prompt
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT=\$vcs_info_msg_0_
-zstyle ':vcs_info:git:*' formats '%F{240}(%b)%r%f'
-zstyle ':vcs_info:*' enable git
-
-# # Start of lines added by zsh init
-# zstyle :compinstall filename '/home/ma/.config/zsh/.zshrc'
-#
-# autoload -Uz compinit
-# compinit
-# # End of lines added by compinstall
-
+zstyle ':vcs_info:git:*' formats '%b'
+# zstyle ':vcs_info:*' enable git
# https://github.com/softmoth/zsh-vim-mode
# . $ZDOTDIR/plugins/zsh-vim-mode.plugin.zsh
gpgconf --launch gpg-agent
# Should be last
+. $ZDOTDIR/zsh-vi-mode/zsh-vi-mode.plugin.zsh
. /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh
+fpath=($ZDOTDIR/zsh-completions/src $fpath)
+
# eval "$(starship init zsh)"
URL_FILE_NAME=urls
show_usage() {
- printf "bmks: unix bookmark management that sucks less
+ printf "bmks: unix bookmark management that sucks less
usage:
bmks help
}
bmks_add() {
- [ -z "$url" ] && printf "Error: url must be provided\n\n" && show_usage && exit 0
- printf "Description: "
- read -r description
- [ -z "$description" ] && echo "$url" >> "$URL_FILE_PATH"/$URL_FILE_NAME
- [ -n "$description" ] && echo "$description - $url" >> "$URL_FILE_PATH"/$URL_FILE_NAME
+ [ -z "$url" ] && printf "Error: url must be provided\n\n" && show_usage && exit 0
+ printf "Description: "
+ read -r description
+ [ -z "$description" ] && echo "$url" >>"$URL_FILE_PATH"/$URL_FILE_NAME
+ [ -n "$description" ] && echo "$description - $url" >>"$URL_FILE_PATH"/$URL_FILE_NAME
}
bmks_ls() {
- bmks_check
- sort "$URL_FILE_PATH"/$URL_FILE_NAME
+ bmks_check
+ sort "$URL_FILE_PATH"/$URL_FILE_NAME
}
bmks_del() {
- bmks_check
- case $PREFERED_LAUNCHER in
- dmenu) sed -i "/$(sort "$URL_FILE_PATH"/$URL_FILE_NAME | dmenu -l "$(wc -l "$URL_FILE_PATH"/$URL_FILE_NAME)")/d" "$URL_FILE_PATH"/$URL_FILE_NAME ;;
- fzf) sed -i "/$(sort "$URL_FILE_PATH"/$URL_FILE_NAME | fzf)/d" "$URL_FILE_PATH"/$URL_FILE_NAME ;;
- esac
+ bmks_check
+ case $PREFERED_LAUNCHER in
+ dmenu) sed -i "/$(sort "$URL_FILE_PATH"/$URL_FILE_NAME | dmenu -l "$(wc -l "$URL_FILE_PATH"/$URL_FILE_NAME)")/d" "$URL_FILE_PATH"/$URL_FILE_NAME ;;
+ fzf) sed -i "/$(sort "$URL_FILE_PATH"/$URL_FILE_NAME | fzf)/d" "$URL_FILE_PATH"/$URL_FILE_NAME ;;
+ esac
}
bmks_display() {
- bmks_check
- case $PREFERED_LAUNCHER in
- # dmenu) sort "$URL_FILE_PATH"/$URL_FILE_NAME | dmenu -l "$(wc -l "$URL_FILE_PATH"/$URL_FILE_NAME)" | awk '{print $(NF)}' | xargs -I '{}' "$BROWSER" {} ;;
- dmenu) sort "$URL_FILE_PATH"/$URL_FILE_NAME | dmenu -l "$(wc -l "$URL_FILE_PATH"/$URL_FILE_NAME)" | awk '{print $1}' | xargs -I '{}' "$BROWSER" {} ;;
- fzf) sort "$URL_FILE_PATH"/$URL_FILE_NAME | fzf | awk '{print $(NF)}' | xargs -I '{}' "$BROWSER" {} ;;
- esac
+ bmks_check
+ case $PREFERED_LAUNCHER in
+ # dmenu) sort "$URL_FILE_PATH"/$URL_FILE_NAME | dmenu -l "$(wc -l "$URL_FILE_PATH"/$URL_FILE_NAME)" | awk '{print $(NF)}' | xargs -I '{}' "$BROWSER" {} ;;
+ dmenu) sort "$URL_FILE_PATH"/$URL_FILE_NAME | dmenu -l "$(wc -l "$URL_FILE_PATH"/$URL_FILE_NAME)" | awk '{print $1}' | xargs -I '{}' "$BROWSER" {} ;;
+ fzf) sort "$URL_FILE_PATH"/$URL_FILE_NAME | fzf | awk '{print $(NF)}' | xargs -I '{}' "$BROWSER" {} ;;
+ esac
}
bmks_check() {
- [ ! -s "$URL_FILE_PATH"/$URL_FILE_NAME ] && printf "Error: No bookmarks found to display. Try adding some!\n\n" && show_usage && exit 0
+ [ ! -s "$URL_FILE_PATH"/$URL_FILE_NAME ] && printf "Error: No bookmarks found to display. Try adding some!\n\n" && show_usage && exit 0
}
[ ! -d "$URL_FILE_PATH" ] && mkdir "$URL_FILE_PATH"
[ ! -f "$URL_FILE_PATH"/$URL_FILE_NAME ] && touch "$URL_FILE_PATH"/$URL_FILE_NAME
case "$1" in
- "help") show_usage ;;
- "add") url=$2; bmks_add ;;
- "del") bmks_del ;;
- "ls") bmks_ls ;;
- "dmenu") PREFERED_LAUNCHER=$1; bmks_display ;;
- "fzf") PREFERED_LAUNCHER=$1; bmks_display ;;
- *) bmks_display ;;
+ "help") show_usage ;;
+ "add")
+ url=$2
+ bmks_add
+ ;;
+ "del") bmks_del ;;
+ "ls") bmks_ls ;;
+ "dmenu")
+ PREFERED_LAUNCHER=$1
+ bmks_display
+ ;;
+ "fzf")
+ PREFERED_LAUNCHER=$1
+ bmks_display
+ ;;
+ *) bmks_display ;;
esac