github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/ospath/display.go (about) 1 package ospath 2 3 import "fmt" 4 5 // Calculate a display name for a file by figuring it out what basedir it's relative 6 // to and trimming the basedir prefix off the front 7 func FileDisplayName(baseDirs []string, f string) string { 8 ret := f 9 for _, baseDir := range baseDirs { 10 short, isChild := Child(baseDir, f) 11 if isChild && len(short) < len(ret) { 12 ret = short 13 } 14 } 15 return ret 16 } 17 18 // Calculate display name for list of files. 19 func FileListDisplayNames(baseDirs []string, files []string) []string { 20 var ret []string 21 for _, f := range files { 22 ret = append(ret, FileDisplayName(baseDirs, f)) 23 } 24 return ret 25 } 26 27 // When we kick off a build because some files changed, only print the first `maxChangedFilesToPrint` 28 const maxChangedFilesToPrint = 5 29 30 func FormatFileChangeList(changedFiles []string) string { 31 var changedPathsToPrint []string 32 if len(changedFiles) > maxChangedFilesToPrint { 33 changedPathsToPrint = append(changedPathsToPrint, changedFiles[:maxChangedFilesToPrint]...) 34 changedPathsToPrint = append(changedPathsToPrint, "...") 35 } else { 36 changedPathsToPrint = changedFiles 37 } 38 39 return fmt.Sprintf("%v", TryAsCwdChildren(changedPathsToPrint)) 40 }