Documentation ¶
Index ¶
- func AsJson(i interface{}) string
- func Clamp(x int, min int, max int) int
- func Decolorise(str string) string
- func EscapeSpecialChars(str string) string
- func FilePath(skip int) string
- func FindNamedMatches(regex *regexp.Regexp, str string) map[string]string
- func FindStringSubmatch(str string, regexpStr string) (bool, []string)
- func ForEachLineInFile(path string, f func(string, int)) error
- func FuzzySearch(needle string, haystack []string) []string
- func GetCurrentRepoName() string
- func GetProjectRoot() string
- func IsValidHexValue(v string) bool
- func Limit(values []string, limit int) []string
- func LimitStr(value string, limit int) string
- func Loader() string
- func Max(x, y int) int
- func Min(x, y int) int
- func ModuloWithWrap(n, max int) int
- func MuiltiGroupBy[T any, K comparable](slice []T, f func(T) []K) map[K][]T
- func MustConvertToInt(s string) int
- func NewDummyCommon() *common.Common
- func NewDummyCommonWithUserConfig(userConfig *config.UserConfig) *common.Common
- func NewDummyLog() *logrus.Entry
- func NextIndex(numbers []int, currentNumber int) int
- func NextIntInCycle(sl []int, current int) int
- func NormalizeLinefeeds(str string) string
- func PrevIndex(numbers []int, currentNumber int) int
- func PrevIntInCycle(sl []int, current int) int
- func RenderDisplayStrings(displayStringsArr [][]string) string
- func ResolvePlaceholderString(str string, arguments map[string]string) string
- func ResolveTemplate(templateStr string, object interface{}, funcs template.FuncMap) (string, error)
- func Safe(f func())
- func SafeTruncate(str string, limit int) string
- func SafeWithError(f func() error) error
- func SetCustomColors(customColors map[string]string) map[string]style.TextStyle
- func ShortSha(sha string) string
- func SplitLines(multilineString string) []string
- func SplitNul(str string) []string
- func StackTrace() string
- func StringArraysOverlap(strArrA []string, strArrB []string) bool
- func TruncateWithEllipsis(str string, limit int) string
- func UnixToDate(timestamp int64, timeFormat string) string
- func UnixToTimeAgo(timestamp int64) string
- func WithPadding(str string, padding int) string
- func WrapError(err error) error
- type OnceWriter
- type StringStack
- type ThreadSafeMap
- func (m *ThreadSafeMap[K, V]) Clear()
- func (m *ThreadSafeMap[K, V]) Delete(key K)
- func (m *ThreadSafeMap[K, V]) Get(key K) (V, bool)
- func (m *ThreadSafeMap[K, V]) Has(key K) bool
- func (m *ThreadSafeMap[K, V]) IsEmpty() bool
- func (m *ThreadSafeMap[K, V]) Keys() []K
- func (m *ThreadSafeMap[K, V]) Len() int
- func (m *ThreadSafeMap[K, V]) Set(key K, value V)
- func (m *ThreadSafeMap[K, V]) Values() []V
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Decolorise ¶ added in v0.7.1
Decolorise strips a string of color
func EscapeSpecialChars ¶ added in v0.30.1
EscapeSpecialChars - Replaces all special chars like \n with \\n
func FilePath ¶ added in v0.36.0
returns the path of the file that calls the function. 'skip' is the number of stack frames to skip.
func FindNamedMatches ¶ added in v0.32.1
func FindStringSubmatch ¶ added in v0.20.1
func ForEachLineInFile ¶ added in v0.28.2
func FuzzySearch ¶ added in v0.24.1
func GetCurrentRepoName ¶
func GetCurrentRepoName() string
GetCurrentRepoName gets the repo's base name
func GetProjectRoot ¶ added in v0.1.71
func GetProjectRoot() string
GetProjectRoot returns the path to the root of the project. Only to be used in testing contexts, as with binaries it's unlikely this path will exist on the machine
func IsValidHexValue ¶ added in v0.30.1
func Loader ¶ added in v0.2.0
func Loader() string
Loader dumps a string to be displayed as a loader
func ModuloWithWrap ¶ added in v0.11.1
used to keep a number n between 0 and max, allowing for wraparounds
func MuiltiGroupBy ¶ added in v0.35.0
func MuiltiGroupBy[T any, K comparable](slice []T, f func(T) []K) map[K][]T
Similar to a regular GroupBy, except that each item can be grouped under multiple keys, so the callback returns a slice of keys instead of just one key.
func MustConvertToInt ¶ added in v0.22.0
func NewDummyCommon ¶ added in v0.32.1
func NewDummyCommonWithUserConfig ¶ added in v0.32.1
func NewDummyCommonWithUserConfig(userConfig *config.UserConfig) *common.Common
func NewDummyLog ¶ added in v0.23.1
NewDummyLog creates a new dummy Log for testing
func NextIndex ¶ added in v0.7.1
NextIndex returns the index of the element that comes after the given number
func NextIntInCycle ¶ added in v0.15.1
NextIntInCycle returns the next int in a slice, returning to the first index if we've reached the end
func NormalizeLinefeeds ¶ added in v0.1.79
NormalizeLinefeeds - Removes all Windows and Mac style line feeds
func PrevIndex ¶ added in v0.7.1
PrevIndex returns the index that comes before the given number, cycling if we reach the end
func PrevIntInCycle ¶ added in v0.15.1
PrevIntInCycle returns the prev int in a slice, returning to the first index if we've reached the end
func RenderDisplayStrings ¶ added in v0.14.4
func ResolvePlaceholderString ¶ added in v0.2.2
ResolvePlaceholderString populates a template with values
func ResolveTemplate ¶ added in v0.23.1
func Safe ¶ added in v0.23.1
func Safe(f func())
Safe will close tcell if a panic occurs so that we don't end up in a malformed terminal state
func SafeTruncate ¶ added in v0.30.1
func SafeWithError ¶ added in v0.27.1
func SetCustomColors ¶ added in v0.35.0
func SplitLines ¶
SplitLines takes a multiline string and splits it on newlines currently we are also stripping \r's which may have adverse effects for windows users (but no issues have been raised yet)
func StackTrace ¶ added in v0.27.1
func StackTrace() string
func StringArraysOverlap ¶ added in v0.22.0
func TruncateWithEllipsis ¶ added in v0.15.3
TruncateWithEllipsis returns a string, truncated to a certain length, with an ellipsis
func UnixToDate ¶ added in v0.20.1
func UnixToTimeAgo ¶ added in v0.20.1
func WithPadding ¶
WithPadding pads a string as much as you want
Types ¶
type OnceWriter ¶ added in v0.36.0
type OnceWriter struct {
// contains filtered or unexported fields
}
func NewOnceWriter ¶ added in v0.36.0
func NewOnceWriter(writer io.Writer, f func()) *OnceWriter
type StringStack ¶ added in v0.35.0
type StringStack struct {
// contains filtered or unexported fields
}
func (*StringStack) Clear ¶ added in v0.35.0
func (self *StringStack) Clear()
func (*StringStack) IsEmpty ¶ added in v0.35.0
func (self *StringStack) IsEmpty() bool
func (*StringStack) Pop ¶ added in v0.35.0
func (self *StringStack) Pop() string
func (*StringStack) Push ¶ added in v0.35.0
func (self *StringStack) Push(s string)
type ThreadSafeMap ¶ added in v0.36.0
type ThreadSafeMap[K comparable, V any] struct { // contains filtered or unexported fields }
func NewThreadSafeMap ¶ added in v0.36.0
func NewThreadSafeMap[K comparable, V any]() *ThreadSafeMap[K, V]
func (*ThreadSafeMap[K, V]) Clear ¶ added in v0.36.0
func (m *ThreadSafeMap[K, V]) Clear()
func (*ThreadSafeMap[K, V]) Delete ¶ added in v0.36.0
func (m *ThreadSafeMap[K, V]) Delete(key K)
func (*ThreadSafeMap[K, V]) Get ¶ added in v0.36.0
func (m *ThreadSafeMap[K, V]) Get(key K) (V, bool)
func (*ThreadSafeMap[K, V]) Has ¶ added in v0.36.0
func (m *ThreadSafeMap[K, V]) Has(key K) bool
func (*ThreadSafeMap[K, V]) IsEmpty ¶ added in v0.36.0
func (m *ThreadSafeMap[K, V]) IsEmpty() bool
func (*ThreadSafeMap[K, V]) Keys ¶ added in v0.36.0
func (m *ThreadSafeMap[K, V]) Keys() []K
func (*ThreadSafeMap[K, V]) Len ¶ added in v0.36.0
func (m *ThreadSafeMap[K, V]) Len() int
func (*ThreadSafeMap[K, V]) Set ¶ added in v0.36.0
func (m *ThreadSafeMap[K, V]) Set(key K, value V)
func (*ThreadSafeMap[K, V]) Values ¶ added in v0.36.0
func (m *ThreadSafeMap[K, V]) Values() []V