[core]
	autocrlf = input
	editor = nvim
[submodule]
	recurse = true
[rerere]
	enabled = true
# Accelerate packing by automatically determining thread count
[pack]
	threads = 0

[diff]
	tool = nvim
[merge]
	tool = nvim
[mergetool "nvim"]
	cmd = nvim -f -c \"Gdiffsplit!\" \"$MERGED\"
	prompt = false
[difftool "nvim"]
    cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""

# Automatically push to branch with matching name
[push]
	default = current
# Disable pagination for branch commmand by default
[pager]
	branch = false
[grep]
	lineNumber = 1

[color "status"]
	added = green
	changed = yellow
	untracked = magenta

[user]
	email = 27jf@pm.me
	name = xerus2000

[alias]
	st = status -sb
	stv = --paginate status -v
	stvv = --paginate status -vv
	l = !git --no-pager log --pretty=tformat:'%C(auto)%h -%d %s %Cgreen(%cr) %Cblue<%an>%Creset' -5

	unstage = reset HEAD --
	ready = rebase -i @{u}

	curbranch = symbolic-ref --short HEAD
	root = rev-parse --show-toplevel
	dir = !git root | sed 's/$/\\/.git/' | grep --color=never "/" # grep ensures a proper exit status on fail

[filter "lfs"]
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true
[pull]
	ff = only