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  }