@@ -12,6 +12,8 @@ import (
1212 "time"
1313
1414 "github.com/cloudflare/pint/internal/checks"
15+ "github.com/cloudflare/pint/internal/diags"
16+ "github.com/cloudflare/pint/internal/output"
1517)
1618
1719type BitBucketReport struct {
@@ -591,12 +593,21 @@ func (bb bitBucketAPI) getPullRequestComments(pr *bitBucketPR) ([]bitBucketComme
591593
592594func (bb bitBucketAPI ) makeComments (summary Summary , changes * bitBucketPRChanges ) []BitBucketPendingComment {
593595 var buf strings.Builder
596+ var content string
597+ var err error
594598 comments := []BitBucketPendingComment {}
595599 for _ , reports := range dedupReports (summary .reports ) {
596600 if _ , ok := changes .pathModifiedLines [reports [0 ].Path .SymlinkTarget ]; ! ok {
597601 continue
598602 }
599603
604+ if reports [0 ].Problem .Anchor == checks .AnchorAfter {
605+ content , err = readFile (reports [0 ].Path .Name )
606+ if err != nil {
607+ content = ""
608+ }
609+ }
610+
600611 mergeDetails := identicalDetails (reports )
601612
602613 buf .Reset ()
@@ -611,6 +622,17 @@ func (bb bitBucketAPI) makeComments(summary Summary, changes *bitBucketPRChanges
611622 buf .WriteString ("------\n \n " )
612623 buf .WriteString (report .Problem .Summary )
613624 buf .WriteString ("\n \n " )
625+
626+ if len (report .Problem .Diagnostics ) > 0 && content != "" {
627+ buf .WriteString ("```yaml\n " )
628+ buf .WriteString (diags .InjectDiagnostics (
629+ content ,
630+ report .Problem .Diagnostics ,
631+ output .None ,
632+ report .Rule .Lines .First , report .Rule .Lines .Last ))
633+ buf .WriteString ("```\n \n " )
634+ }
635+
614636 if ! mergeDetails && report .Problem .Details != "" {
615637 buf .WriteString (report .Problem .Details )
616638 buf .WriteString ("\n \n " )
0 commit comments