@@ -115,6 +115,9 @@ func (i Issue) String() string {
115115 if len (i .Data .Fields .IssueLinks ) > 0 {
116116 s .WriteString (fmt .Sprintf ("\n \n %s\n \n %s\n " , i .separator ("Linked Issues" ), i .linkedIssues ()))
117117 }
118+ if len (i .Data .Fields .RemoteLinks ) > 0 {
119+ s .WriteString (fmt .Sprintf ("\n \n %s\n \n %s\n " , i .separator ("External Links" ), i .remoteLinks ()))
120+ }
118121 total := i .Data .Fields .Comment .Total
119122 if total > 0 && i .Options .NumComments > 0 {
120123 sep := fmt .Sprintf ("%d Comments" , total )
@@ -172,6 +175,17 @@ func (i Issue) fragments() []fragment {
172175 )
173176 }
174177
178+ if len (i .Data .Fields .RemoteLinks ) > 0 {
179+ scraps = append (
180+ scraps ,
181+ newBlankFragment (singleLineSpacing ),
182+ fragment {Body : i .separator ("External Links" )},
183+ newBlankFragment (sectionSpacing ),
184+ fragment {Body : i .remoteLinks ()},
185+ newBlankFragment (singleLineSpacing ),
186+ )
187+ }
188+
175189 if i .Data .Fields .Comment .Total > 0 && i .Options .NumComments > 0 {
176190 scraps = append (
177191 scraps ,
@@ -392,6 +406,40 @@ func (i Issue) linkedIssues() string {
392406 return linked .String ()
393407}
394408
409+ func (i Issue ) remoteLinks () string {
410+ if len (i .Data .Fields .RemoteLinks ) == 0 {
411+ return ""
412+ }
413+
414+ var (
415+ remote strings.Builder
416+ maxTitleLen int
417+ summaryLen = defaultSummaryLength
418+ )
419+
420+ // Calculate max lengths for formatting
421+ for _ , link := range i .Data .Fields .RemoteLinks {
422+ maxTitleLen = max (len (link .Object .Title ), maxTitleLen )
423+ }
424+
425+ if maxTitleLen < summaryLen {
426+ summaryLen = maxTitleLen
427+ }
428+
429+ remote .WriteString ("\n " )
430+ for _ , link := range i .Data .Fields .RemoteLinks {
431+ remote .WriteString (
432+ fmt .Sprintf (
433+ " %s\n %s\n \n " ,
434+ coloredOut (shortenAndPad (link .Object .Title , summaryLen ), color .FgCyan , color .Bold ),
435+ coloredOut (link .Object .URL , color .FgBlue , color .Underline ),
436+ ),
437+ )
438+ }
439+
440+ return remote .String ()
441+ }
442+
395443func (i Issue ) comments () []issueComment {
396444 total := i .Data .Fields .Comment .Total
397445 comments := make ([]issueComment , 0 , total )
0 commit comments