github.com/QuantumGhost/awgo@v0.15.0/util/formatting.go (about) 1 // 2 // Copyright (c) 2018 Dean Jackson <deanishe@deanishe.net> 3 // 4 // MIT Licence. See http://opensource.org/licenses/MIT 5 // 6 // Created on 2018-02-10 7 // 8 9 package util 10 11 import ( 12 "os" 13 "strings" 14 ) 15 16 // PrettyPath replaces $HOME with ~ in path 17 func PrettyPath(path string) string { 18 return strings.Replace(path, os.Getenv("HOME"), "~", -1) 19 } 20 21 // PadLeft pads str to length n by adding pad to its left. 22 func PadLeft(str, pad string, n int) string { 23 if len(str) >= n { 24 return str 25 } 26 for { 27 str = pad + str 28 if len(str) >= n { 29 return str[len(str)-n:] 30 } 31 } 32 } 33 34 // PadRight pads str to length n by adding pad to its right. 35 func PadRight(str, pad string, n int) string { 36 if len(str) >= n { 37 return str 38 } 39 for { 40 str = str + pad 41 if len(str) >= n { 42 return str[len(str)-n:] 43 } 44 } 45 } 46 47 // Pad pads str to length n by adding pad to both ends. 48 func Pad(str, pad string, n int) string { 49 if len(str) >= n { 50 return str 51 } 52 for { 53 str = pad + str + pad 54 if len(str) >= n { 55 return str[len(str)-n:] 56 } 57 } 58 }