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  }