# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
bindkey -e
# End of lines configured by zsh-newuser-install
# The following lines were added by compinstall
zstyle :compinstall filename '/home/janis/.zshrc'

autoload -Uz compinit
compinit
autoload -U promptinit
promptinit
# End of lines added by compinstall
ENABLE_CORRECTION=true

# Handy aliases
alias ls='ls -l --color'
alias ll='ls -la --color'
alias v='nvim'
alias c='clear'
alias cv='clear && nvim'
alias fm='thunar .'
alias gl='git ls-files --others --exclude-standard'
alias gm='git ls-files -m'
alias gp='git pull'
alias cfh='nvim ~/projects/system/dotfiles/config/hypr/'
alias cfn='nvim ~/projects/system/nvim/'
alias cff='nvim ~/projects/system/dotfiles/config/fish/'
alias cfa='nvim ~/projects/system/dotfiles/config/astal/'
alias cf='nvim ~/projects/system/dotfiles/'
alias g='lazygit'
alias ff='fastfetch'
alias p='nvimpager -p'
alias latexdocs='zathura ~/projects/latex/docs/docs.pdf &>> /dev/null & disown'
alias gccerr='gcc -Wall -Wextra -Wpedantic -Werror -Wmissing-prototypes -std=c99'
alias linecount='cloc --vcs git .'

# Aliases from ohmyzsh
alias cp='nocorrect cp'
alias man='nocorrect man'
alias mkdir='nocorrect mkdir'
alias mv='nocorrect mv'
alias sudo='nocorrect sudo'
alias su='nocorrect su'
alias rm='nocorrect rm'
alias -g ...='../..'
alias -g ....='../../..'
alias -g .....='../../../..'
alias -g ......='../../../../..'

alias -- -='cd -'
alias 1='cd -1'
alias 2='cd -2'
alias 3='cd -3'
alias 4='cd -4'
alias 5='cd -5'
alias 6='cd -6'
alias 7='cd -7'
alias 8='cd -8'
alias 9='cd -9'

export PATH=$PATH:~/projects/system/dotfiles/scripts/

# Yazi wrapper
function y() {
	local tmp cwd; tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
	command yazi "$@" --cwd-file="$tmp"
	IFS= read -r -d '' cwd < "$tmp"
	[ "$cwd" != "$PWD" ] && [ -d "$cwd" ] && builtin cd -- "$cwd" || builtin true
	command rm -f -- "$tmp"
}

source ~/.config/zsh/theme.zsh
eval "$(zoxide init --cmd j zsh)"

# for file in ~/projects/system/dotfiles/system/completions/*
# do
#     source $file
# done
