def gitfixremote [ --name: string = "origin", ] { let url = (git remote get-url $name) let parsed = ($url | parse --regex '^(\w+://)?(\w*@)?(?P[^/:]+)(:(?P\d+))?(:|/)(?P\w+)/(?P[\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)" } }