[user]
	name = raylu
	email = 90059+raylu@users.noreply.github.com
	signingkey = ~/.ssh/id_ed25519.pub

[gpg]
	format = ssh
[gpg "ssh"]
	allowedSignersFile = ~/.ssh/allowed_signers
[commit]
	gpgsign = true
[tag]
	gpgsign = true

[color]
	ui = true
	interactive = true

[color "status"]
	added = green bold
	changed = red bold
	untracked = cyan

[color "diff"]
	meta = cyan bold
	old = red bold
	new = green bold
	frag = blue
	commit = yellow bold

[color "branch"]
	current = green bold
	local = bold
	remote = red bold

[color "grep"]
	match = cyan

[pager]
	color = true

[core]
	editor = nvim
	pager = delta
	precomposeUnicode = true

[feature]
	manyFiles = true
	experimental = true

[interactive]
	diffFilter = delta --color-only

[delta]
	features = zebra-dark
	# https://dandavison.github.io/delta/color-moved-support.html
	map-styles = bold purple => "#777777 #330022", bold cyan => "syntax #004a4a"
	true-color = always
	line-numbers = true
	hyperlinks = true
	hyperlinks-file-link-format = "vscode://file/{path}:{line}"
	navigate = true
	tabs = 4
	syntaxh-theme = Coldark-Dark
	plus-style = "syntax #114433"

[merge]
	defaultToUpstream = true
	conflictstyle = diff3

[rebase]
	autosquash = true

[rerere]
	enabled = true

[fetch]
	prune = true

[pull]
	ff = true

[push]
	default = upstream
	autoSetupRemote = true

[diff]
	tool = kitty
	guitool = kitty.gui
	colorMoved = plain
[diff "lockb"]
	textconv = bun
	binary = true
[difftool]
	prompt = false
	trustExitCode = true
[difftool "kitty"]
	cmd = kitty +kitten diff $LOCAL $REMOTE
[difftool "kitty.gui"]
	cmd = kitty kitty +kitten diff $LOCAL $REMOTE

[log]
	decorate = true

[alias]
	l = log --graph --abbrev-commit --stat --summary -C --decorate --date=local
	short = log --graph --pretty=format:'%C(yellow)%h%Creset %Cgreen(%cd) %C(bold blue)%aN%Creset %C(red)%d%Creset%n\t%s' --abbrev-commit --patience --date=local
	ff = merge --ff-only
	amend = commit --amend
	pushf = push --force-with-lease

[protocol]
	version = 2

[init]
	defaultBranch = main

[diff-so-fancy]
	markEmptyLines = false
