# hashed directories are usually independent and standalone
# so they can stay at the top
-hash -d diary=~/Data/henksfiles/workinprogress/Dokumente/diary
-hash -d lifedocs=~/Data/henksfiles/workinprogress/Dokumente/Leben
+hash -d diary=~/Data/personal/henk/workinprogress/Dokumente/diary
+hash -d lifedocs=~/Data/personal/henk/workinprogress/Dokumente/Leben
hash -d bewerbung=~/Data/personal/henk/workinprogress/Dokumente/Arbeit/bewerbung
-hash -d rezepte=~/Data/henksfiles/workinprogress/Dokumente/rezepte/cuisine
-hash -d templates=~/Data/henksfiles/workinprogress/templates
+hash -d rezepte=~/Data/personal/henk/workinprogress/Dokumente/rezepte/cuisine
+hash -d templates=~/Data/personal/henk/workinprogress/templates
hash -d gitignore=~/Data/public/software/gitignore
hash -d doc=/usr/share/doc
-hash -d TODO=~/Data/henksfiles/TODO/
-hash -d fortunes=~/Data/henksfiles/workinprogress/Dokumente/fortunes/
+hash -d TODO=~/Data/personal/henk/TODO/
+hash -d fortunes=~/Data/personal/henk/workinprogress/Dokumente/fortunes/
# aliases are usually independent and standalone
setopt AUTO_CD
setopt CHASE_LINKS
+# switch +/- when referring to the dirstack
+setopt PUSHD_MINUS
+
+# Make cd push the old directory onto the directory stack
+setopt AUTO_PUSHD
+
setopt AUTO_NAME_DIRS
-setopt BRACE_CCL
+# this should not be needed ever
+# unclear why it is even implemented
+# all relevant functionality should be possible without this anyway
+# see #zsh@libera on 2024-04-14
+# setopt BRACE_CCL
setopt EXTENDED_GLOB
setopt MARK_DIRS
setopt NUMERIC_GLOB_SORT
#setopt WARN_CREATE_GLOBAL
setopt GLOB_DOTS
-# remove previous entries from history
-setopt HIST_IGNORE_ALL_DUPS
-# do not write lines starting with a space to history file
+# Ignore a duplicate of the previous command
+setopt HIST_IGNORE_DUPS
+# Do not save commands starting with a space to history
setopt HIST_IGNORE_SPACE
# Remove superfluous blanks
setopt HIST_REDUCE_BLANKS
# write line to history file when finished, not when started, to have correct runtime
setopt INC_APPEND_HISTORY_TIME
+# Recognize comments on the command line
+setopt INTERACTIVE_COMMENTS
+
+# Error on a redirections which would overwrite an existing file
setopt NO_CLOBBER
setopt CORRECT
setopt CORRECT_ALL
# see https://github.com/zsh-users/zsh-syntax-highlighting
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+eval "$(zoxide init zsh)"
+
+FZF_TMUX=1
+FZF_CTRL_T_COMMAND='command fdfind --hidden'
+FZF_ALT_C_COMMAND='command fdfind --hidden --type d'
source /usr/share/doc/fzf/examples/key-bindings.zsh
source /usr/share/doc/fzf/examples/completion.zsh