utils

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2025 License: MIT Imports: 24 Imported by: 0

README

utils package

Independent utilities with zero dependencies with other packages

Documentation

Index

Constants

View Source
const (
	TrueString  = "true"
	FalseString = "false"
	// These are used while comparing with runtime.GOOS
	// OsWindows represents the Windows operating system identifier
	OsWindows = "windows"
	// OsDarwin represents the macOS (Darwin) operating system identifier
	OsDarwin = "darwin"
	OsLinux  = "linux"
)

Variables

View Source
var SampleDataBytes = []byte("This is sample") //nolint: gochecknoglobals // Effectively const

Functions

func CreateDirectories added in v1.4.0

func CreateDirectories(dirs ...string) error

Helper functions Create all dirs that does not already exists

func CreateFiles added in v1.4.0

func CreateFiles(files ...string) error

Create all files if they do not exists yet

func DetachFromTerminal added in v1.4.0

func DetachFromTerminal(cmd *exec.Cmd)

func DirSize added in v1.3.3

func DirSize(path string) int64

Get directory total size TODO: Uni test this

func ExecuteCommand

func ExecuteCommand(timeLimit time.Duration, cmdDir string, baseCmd string, args ...string) (int, string, error)

func ExecuteCommandInShell

func ExecuteCommandInShell(timeLimit time.Duration, cmdDir string, shellCommand string) (int, string, error)

Choose correct shell as per OS

func FooterWidth

func FooterWidth(fullWidth int) int

We have three panels, so 6 characters for border <---><---><---> Hence we have (fullWidth - 6) / 3 = fullWidth/3 - 2

func FullFooterHeight

func FullFooterHeight(footerHeight int, toggleFooter bool) int

Including borders

func FzfSearch

func FzfSearch(query string, source []string) []fzf.MatchResult

Returning a string slice causes inefficiency in current usage

func LoadTomlFile

func LoadTomlFile(filePath string, defaultData string, target interface{},
	fixFlag bool, ignoreMissingFields bool) error

Helper function to load and validate TOML files with field checking errorPrefix is appended before every error message

func PrintfAndExit

func PrintfAndExit(format string, args ...any)

Print formatted output line to stderr and exit with status 1 Cannot use log.Fataln() as slog.SetDefault() causes those lines to go into log file

func PrintlnAndExit

func PrintlnAndExit(args ...any)

Print line to stderr and exit with status 1 Cannot use log.Fataln() as slog.SetDefault() causes those lines to go into log file

func ReadBoolFile

func ReadBoolFile(path string, defaultValue bool) bool

Read file with "true" / "false" as content. In case of issues, return defaultValue

func ReadFileContent added in v1.4.0

func ReadFileContent(filepath string, maxLineLength int, previewLine int) (string, error)

func ResolveAbsPath

func ResolveAbsPath(currentDir string, path string) string

If path is not absolute, then append to currentDir and get absolute path Resolve paths starting with "~" currentDir should be an absolute path

func SetRootLoggerToDiscarded

func SetRootLoggerToDiscarded()

Used in unit test

func SetRootLoggerToStdout

func SetRootLoggerToStdout(debug bool)

Used in unit test

func SetupDirectories added in v1.4.0

func SetupDirectories(t *testing.T, dirs ...string)

func SetupFiles added in v1.4.0

func SetupFiles(t *testing.T, files ...string)

func SetupFilesWithData added in v1.4.0

func SetupFilesWithData(t *testing.T, data []byte, files ...string)

func TeaRuneKeyMsg

func TeaRuneKeyMsg(msg string) tea.KeyMsg

func WriteBoolFile

func WriteBoolFile(path string, value bool) error

func WriteTomlData

func WriteTomlData(filePath string, data interface{}) error

Types

type MissingFieldIgnorer added in v1.3.2

type MissingFieldIgnorer interface {
	GetIgnoreMissingFields() bool
}

MissingFieldIgnorer defines the interface for configuration types that can ignore missing fields during TOML file loading. Types implementing this interface can control whether missing field warnings are suppressed when parsing configuration files.

type TestTOMLMissingIgnorerType added in v1.3.2

type TestTOMLMissingIgnorerType struct {
	SampleBool    bool     `toml:"sample_bool"`
	SampleInt     int      `toml:"sample_int"`
	SampleStr     string   `toml:"sample_str"`
	SampleSlice   []string `toml:"sample_slice"`
	IgnoreMissing bool     `toml:"ignore_missing"`
}

func (TestTOMLMissingIgnorerType) GetIgnoreMissingFields added in v1.3.2

func (t TestTOMLMissingIgnorerType) GetIgnoreMissingFields() bool

func (TestTOMLMissingIgnorerType) WithIgnoreMissing added in v1.3.2

type TestTOMLType added in v1.3.2

type TestTOMLType struct {
	SampleBool  bool     `toml:"sample_bool"`
	SampleInt   int      `toml:"sample_int"`
	SampleStr   string   `toml:"sample_str"`
	SampleSlice []string `toml:"sample_slice"`
}

type TomlLoadError added in v1.3.2

type TomlLoadError struct {
	// contains filtered or unexported fields
}

func NewTomlLoadError added in v1.3.2

func NewTomlLoadError(msg string, wrapped error, fatal bool, missing bool) *TomlLoadError

func (*TomlLoadError) AddMessageAndError added in v1.3.2

func (t *TomlLoadError) AddMessageAndError(msg string, err error)

Include another msg. For now we dont need to have this as wrapped error.

func (*TomlLoadError) Error added in v1.3.2

func (t *TomlLoadError) Error() string

func (*TomlLoadError) IsFatal added in v1.3.2

func (t *TomlLoadError) IsFatal() bool

func (*TomlLoadError) MissingFields added in v1.3.2

func (t *TomlLoadError) MissingFields() bool

func (*TomlLoadError) Unwrap added in v1.3.2

func (t *TomlLoadError) Unwrap() error

func (*TomlLoadError) UpdateMessageAndError added in v1.3.2

func (t *TomlLoadError) UpdateMessageAndError(msg string, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL