def gitfixremote [
	--name: string = "origin",
] {
	let url = (git remote get-url $name)
	let parsed = ($url | parse --regex '^(\w+://)?(\w*@)?(?P<host>[^/:]+)(:(?P<port>\d+))?(:|/)(?P<owner>\w+)/(?P<repo>[\w_-]+)')

	if ($parsed | is-empty) {
		print "Unparseable remote"
		return
	}

	let parsed = ($parsed | get 0)

	if ($parsed.host in ["github.com" "git.nubo.sh"]) {
		git remote set-url $name $"https://($parsed.host)/($parsed.owner)/($parsed.repo).git"
		git remote set-url --push $name $"ssh://($parsed.host)/($parsed.owner)/($parsed.repo).git"
	} else {
		print $"Unknown host: ($parsed.host)"
	}
}
