@@ -20,26 +20,29 @@ public static List<CommitLink> Get(List<Remote> remotes)
2020
2121 foreach ( var remote in remotes )
2222 {
23- if ( remote . TryGetVisitURL ( out var url ) )
23+ if ( remote . TryGetVisitURL ( out var link ) )
2424 {
25- var trimmedUrl = url . AsSpan ( ) ;
26- if ( url . EndsWith ( ".git" ) )
27- trimmedUrl = url . AsSpan ( 0 , url . Length - 4 ) ;
25+ if ( link . EndsWith ( ".git" ) )
26+ link = link . Substring ( 0 , link . Length - 4 ) ;
2827
29- if ( url . StartsWith ( "https://github.com/" , StringComparison . Ordinal ) )
30- outs . Add ( new ( $ "GitHub ({ trimmedUrl [ 19 ..] } )", $ "{ url } /commit/") ) ;
31- else if ( url . StartsWith ( "https://gitlab." , StringComparison . Ordinal ) )
32- outs . Add ( new ( $ "GitLab ({ trimmedUrl [ ( trimmedUrl [ 15 ..] . IndexOf ( '/' ) + 16 ) ..] } )", $ "{ url } /-/commit/") ) ;
33- else if ( url . StartsWith ( "https://gitee.com/" , StringComparison . Ordinal ) )
34- outs . Add ( new ( $ "Gitee ({ trimmedUrl [ 18 ..] } )", $ "{ url } /commit/") ) ;
35- else if ( url . StartsWith ( "https://bitbucket.org/" , StringComparison . Ordinal ) )
36- outs . Add ( new ( $ "BitBucket ({ trimmedUrl [ 22 ..] } )", $ "{ url } /commits/") ) ;
37- else if ( url . StartsWith ( "https://codeberg.org/" , StringComparison . Ordinal ) )
38- outs . Add ( new ( $ "Codeberg ({ trimmedUrl [ 21 ..] } )", $ "{ url } /commit/") ) ;
39- else if ( url . StartsWith ( "https://gitea.org/" , StringComparison . Ordinal ) )
40- outs . Add ( new ( $ "Gitea ({ trimmedUrl [ 18 ..] } )", $ "{ url } /commit/") ) ;
41- else if ( url . StartsWith ( "https://git.sr.ht/" , StringComparison . Ordinal ) )
42- outs . Add ( new ( $ "sourcehut ({ trimmedUrl [ 18 ..] } )", $ "{ url } /commit/") ) ;
28+ var uri = new Uri ( link , UriKind . Absolute ) ;
29+ var host = uri . Host ;
30+ var route = uri . AbsolutePath . TrimStart ( '/' ) ;
31+
32+ if ( host . Equals ( "github.com" , StringComparison . Ordinal ) )
33+ outs . Add ( new ( $ "GitHub ({ route } )", $ "{ link } /commit/") ) ;
34+ else if ( host . Contains ( "gitlab" , StringComparison . Ordinal ) )
35+ outs . Add ( new ( $ "GitLab ({ route } )", $ "{ link } /-/commit/") ) ;
36+ else if ( host . Equals ( "gitee.com" , StringComparison . Ordinal ) )
37+ outs . Add ( new ( $ "Gitee ({ route } )", $ "{ link } /commit/") ) ;
38+ else if ( host . Equals ( "bitbucket.org" , StringComparison . Ordinal ) )
39+ outs . Add ( new ( $ "BitBucket ({ route } )", $ "{ link } /commits/") ) ;
40+ else if ( host . Equals ( "codeberg.org" , StringComparison . Ordinal ) )
41+ outs . Add ( new ( $ "Codeberg ({ route } )", $ "{ link } /commit/") ) ;
42+ else if ( host . Equals ( "gitea.org" , StringComparison . Ordinal ) )
43+ outs . Add ( new ( $ "Gitea ({ route } )", $ "{ link } /commit/") ) ;
44+ else if ( host . Equals ( "git.sr.ht" , StringComparison . Ordinal ) )
45+ outs . Add ( new ( $ "sourcehut ({ route } )", $ "{ link } /commit/") ) ;
4346 }
4447 }
4548
0 commit comments