github.com/blend/go-sdk@v1.20220411.3/diff/pretty_text.go (about) 1 /* 2 3 Copyright (c) 2022 - Present. Blend Labs, Inc. All rights reserved 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file. 5 6 */ 7 8 package diff 9 10 import ( 11 "bytes" 12 ) 13 14 // PrettyText converts a []Diff into a colored text report. 15 func PrettyText(diffs []Diff) string { 16 var buff bytes.Buffer 17 for _, diff := range diffs { 18 text := diff.Text 19 20 switch diff.Type { 21 case DiffInsert: 22 _, _ = buff.WriteString("\x1b[32m") 23 _, _ = buff.WriteString(text) 24 _, _ = buff.WriteString("\x1b[0m") 25 case DiffDelete: 26 _, _ = buff.WriteString("\x1b[31m") 27 _, _ = buff.WriteString(text) 28 _, _ = buff.WriteString("\x1b[0m") 29 case DiffEqual: 30 _, _ = buff.WriteString(text) 31 } 32 } 33 34 return buff.String() 35 }