@@ -116,13 +116,19 @@ public CommitDetail(Repository repo)
116116 if ( remote . TryGetVisitURL ( out var url ) )
117117 {
118118 if ( url . StartsWith ( "https://github.com/" , StringComparison . Ordinal ) )
119- WebLinks . Add ( new Models . CommitLink ( ) { Name = "Github" , URLPrefix = $ "{ url } /commit/" } ) ;
120- else if ( url . StartsWith ( "https://gitlab.com/ " , StringComparison . Ordinal ) )
121- WebLinks . Add ( new Models . CommitLink ( ) { Name = "GitLab" , URLPrefix = $ "{ url } /-/commit/" } ) ;
119+ WebLinks . Add ( new Models . CommitLink ( ) { Name = CommitUrlTitle ( "Github" , url ) , URLPrefix = $ "{ url } /commit/" } ) ;
120+ else if ( url . StartsWith ( "https://gitlab." , StringComparison . Ordinal ) )
121+ WebLinks . Add ( new Models . CommitLink ( ) { Name = CommitUrlTitle ( "GitLab" , url ) , URLPrefix = $ "{ url } /-/commit/" } ) ;
122122 else if ( url . StartsWith ( "https://gitee.com/" , StringComparison . Ordinal ) )
123- WebLinks . Add ( new Models . CommitLink ( ) { Name = "Gitee" , URLPrefix = $ "{ url } /commit/" } ) ;
123+ WebLinks . Add ( new Models . CommitLink ( ) { Name = CommitUrlTitle ( "Gitee" , url ) , URLPrefix = $ "{ url } /commit/" } ) ;
124124 else if ( url . StartsWith ( "https://bitbucket.org/" , StringComparison . Ordinal ) )
125- WebLinks . Add ( new Models . CommitLink ( ) { Name = "Bitbucket" , URLPrefix = $ "{ url } /commits/" } ) ;
125+ WebLinks . Add ( new Models . CommitLink ( ) { Name = CommitUrlTitle ( "Bitbucket" , url ) , URLPrefix = $ "{ url } /commits/" } ) ;
126+ else if ( url . StartsWith ( "https://codeberg.org/" , StringComparison . Ordinal ) )
127+ WebLinks . Add ( new Models . CommitLink ( ) { Name = CommitUrlTitle ( "Codeberg" , url ) , URLPrefix = $ "{ url } /commit/" } ) ;
128+ else if ( url . StartsWith ( "https://gitea.org/" , StringComparison . Ordinal ) )
129+ WebLinks . Add ( new Models . CommitLink ( ) { Name = CommitUrlTitle ( "Gitea" , url ) , URLPrefix = $ "{ url } /commit/" } ) ;
130+ else if ( url . StartsWith ( "https://git.sr.ht/" , StringComparison . Ordinal ) )
131+ WebLinks . Add ( new Models . CommitLink ( ) { Name = CommitUrlTitle ( "sourcehut" , url ) , URLPrefix = $ "{ url } /commit/" } ) ;
126132 }
127133 }
128134 }
@@ -639,6 +645,18 @@ private void TryToAddContextMenuItemsForGitLFS(ContextMenu menu, string path)
639645 menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
640646 }
641647
648+ private string CommitUrlTitle ( string provider , string url )
649+ {
650+ try
651+ {
652+ return string . Format ( "{0} ({1})" , provider , string . Join ( '/' , url . Split ( '/' ) [ 3 ..5 ] ) ) ;
653+ }
654+ catch
655+ {
656+ return provider ;
657+ }
658+ }
659+
642660 [ GeneratedRegex ( @"^version https://git-lfs.github.com/spec/v\d+\r?\noid sha256:([0-9a-f]+)\r?\nsize (\d+)[\r\n]*$" ) ]
643661 private static partial Regex REG_LFS_FORMAT ( ) ;
644662
0 commit comments