gitow 1.0.0

Open Git remotes and repository pages in your browser from the CLI
Documentation
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum RepoPage {
    PullRequests,
    Commits,
    Releases,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ProviderUrlParts {
    pub base_url: String,
    pub branch_ref: String,
}

#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(super) enum ProviderKind {
    GitHub,
    Gist,
    GitLab,
    Gitea,
    BitbucketCloud,
    BitbucketServer,
    AzureDevOps,
    AwsCodeCommit,
    Generic,
}

pub(super) fn provider_name(provider: ProviderKind) -> &'static str {
    match provider {
        ProviderKind::GitHub => "GitHub",
        ProviderKind::Gist => "GitHub Gist",
        ProviderKind::GitLab => "GitLab",
        ProviderKind::Gitea => "Gitea/Forgejo",
        ProviderKind::BitbucketCloud => "Bitbucket Cloud",
        ProviderKind::BitbucketServer => "Bitbucket Server",
        ProviderKind::AzureDevOps => "Azure DevOps",
        ProviderKind::AwsCodeCommit => "AWS CodeCommit",
        ProviderKind::Generic => "generic git hosting",
    }
}