utils

package
v1.6.7 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2024 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Windows string = "windows"
	MacOS   string = "darwin"
	Linux   string = "linux"
	X64     string = "amd64"
)
View Source
const (
	Win        string = "win"
	Zsh        string = "zsh"
	Bash       string = "bash"
	PowerShell string = "powershell"
)
View Source
const (
	GVC_BLOCK_START = "# ==GVC== block start\n"
	GVC_BLOCK_END   = "# ==GVC== block end"
	SUB_BLOCK_START = "# sub block @%s start\n"
	SUB_BLOCK_END   = "# sub block @%s end"
)

Environment consts

View Source
const (
	SUB_GVC     = "gvc"
	SUB_GO      = "go"
	SUB_JDK     = "jdk"
	SUB_GRADLE  = "gradle"
	SUB_MAVEN   = "maven"
	SUB_PY      = "python"
	SUB_NODE    = "nodejs"
	SUB_RUST    = "rust"
	SUB_CODE    = "vscode"
	SUB_NVIM    = "neovim"
	SUB_BREW    = "homebrew"
	SUB_VLANG   = "vlang"
	SUB_ZIG     = "zig"
	SUB_FLUTTER = "flutter"
	SUB_ANDROID = "android"
	SUB_LUA     = "lua"
	SUB_JULIA   = "julia"
	SUB_TYPST   = "typst"
	SUB_VCPKG   = "vcpkg"
	SUB_PROTOC  = "protoc"
)

Sub block name

View Source
const (
	BLOCK_PATTERN = "%s%s\n%s"
)

Block Patterns

View Source
const (
	TempName string = "windows_env_temp.json"
)

Windows PowerShell Environment Settings

Variables

View Source
var (
	PwSetPathEnv  string = `[Environment]::SetEnvironmentVariable("PATH", $Env:Path + ";%s", "User")`
	PwSetOtherEnv string = `[Environment]::SetEnvironmentVariable("%s", "%s", "User")`
)
View Source
var AndroidEnv string = `export ANDROID_HOME="%s"
export PATH="%s:$PATH"`

Android cmdline tools Envs

View Source
var ArchMap = map[string]string{
	"x86-64":  "amd64",
	"x86_64":  "amd64",
	"x64":     "amd64",
	"x86":     "386",
	"i586":    "386",
	"i686":    "386",
	"arm64":   "arm64",
	"aarch64": "arm64",
	"arm32":   "arm",
	"armv6":   "arm",
	"ppc64le": "ppc64le",
}
View Source
var ArchOSs map[string]string = map[string]string{
	"x86-64":     "amd64",
	"x86":        "386",
	"arm64":      "arm64",
	"armv6":      "arm",
	"ppc64le":    "ppc64le",
	"macos":      "darwin",
	"os x 10.8+": "darwin",
	"os x 10.6+": "darwin",
	"linux":      "linux",
	"windows":    "windows",
	"freebsd":    "freebsd",
}
View Source
var FlutterEnv string = `` /* 148-byte string literal not displayed */

Flutter Envs

View Source
var GoEnv string = `export GOROOT="%s"
export GOPATH="%s"
export GOBIN="%s"
export GOPROXY="%s"
export PATH="%s"`

Go Envs

View Source
var GradleEnv string = `export GRADLE_HOME="%s"
export PATH=$GRADLE_HOME/bin:$PATH
export GRADLE_USER_HOME=%s`

Gradle Envs

View Source
var GvcEnv string = `export  PATH="$PATH:%s"`

gvc Envs

View Source
var HOMEbrewEnv string = `` /* 175-byte string literal not displayed */

Homebrew Envs

View Source
var JavaEnv string = `` /* 138-byte string literal not displayed */

Java Envs

View Source
var JuliaEnv string = `export JULIA_ROOT="%s"
export JULIA_PKG_SERVER="%s"
export PATH="$JULIA_ROOT/bin:$PATH"`

Julia Envs

View Source
var MavenEnv string = `export MAVEN_HOME="%s"
export PATH=$MAVEN_HOME/bin:$PATH`

Maven Envs

View Source
var NVimEnv string = `export PATH="%s:$PATH"`

Neovim Envs

View Source
var NodeEnv string = `export NODE_HOME="%s"
export PATH="$NODE_HOME/bin:$PATH"`

Nodejs Envs

View Source
var PlatformMap = map[string]string{
	"macos":   MacOS,
	"mac":     MacOS,
	"winnt":   Windows,
	"osx":     MacOS,
	"linux":   Linux,
	"windows": Windows,
	"freebsd": "freebsd",
}
View Source
var ProtoEnv string = `export PATH="%s:$PATH"`

Protobuf Envs

View Source
var PyEnv string = `# pyenv root
export %s=%s
# pyenv & python executable path
export PATH=%s:%s:$PATH`

Python & Pyenv Envs

View Source
var RustEnv string = `export %s=%s
export %s=%s`

Rust Envs for acceleration

View Source
var TypstEnv string = `export PATH="%s:$PATH"`

Typst Envs

View Source
var VSCodeEnv string = `export PATH="%s:$PATH"`

VSCode Envs

View Source
var VcpkgEnv string = `export PATH="%s:$PATH"`

VCPKG Envs

View Source
var VlangEnv string = `export PATH="%s:$PATH"`

Vlang Envs

View Source
var ZigEnv string = `export PATH="%s:$PATH"`

Zig Envs

Functions

func AddNewlineToVscodeSettings

func AddNewlineToVscodeSettings(key, value, settingsPath string)

func BatchReplaceAll

func BatchReplaceAll(str string, oldNew map[string]string) (r string)

func CheckFile

func CheckFile(fpath, cType, cSum string) (r bool)

func ClearDir

func ClearDir(dirPath string)

func Closeq

func Closeq(v interface{})

func ContainsCJK

func ContainsCJK(s string) bool

func ConvertStrToReader

func ConvertStrToReader(str string) io.Reader

func CopyDir

func CopyDir(srcPath, desPath string) error

func CopyFile

func CopyFile(src, dst string) (written int64, err error)

func CopyFileOnUnixSudo

func CopyFileOnUnixSudo(from, to string) error

func DecodeBase64

func DecodeBase64(str string) (res string)

func EnsureTrailingNewline

func EnsureTrailingNewline(s string) string

func ExecuteSysCommand

func ExecuteSysCommand(collectOutput bool, args ...string) (*bytes.Buffer, error)

func FindMaxLengthOfStringList

func FindMaxLengthOfStringList(sl []string) (max int)

func FlushPathEnvForUnix

func FlushPathEnvForUnix() (err error)

func GetExt

func GetExt(filename string) (ext string)

func GetHomeDir

func GetHomeDir() (homeDir string)

func GetPathForWindows

func GetPathForWindows() string

func GetShell

func GetShell() (shell string)

func GetShellRcFile

func GetShellRcFile() (rc string)

func GetWinAppdataEnv

func GetWinAppdataEnv() string

func JoinUnixFilePath

func JoinUnixFilePath(pathList ...string) (r string)

func MakeDirs

func MakeDirs(dirs ...string)

func MapArchAndOS

func MapArchAndOS(ArchOrOS string) (result string)
func MkSymLink(target, newfile string) (err error)

func ParseArch

func ParseArch(name string) string

func ParsePlatform

func ParsePlatform(name string) string

func PathIsExist

func PathIsExist(path string) (bool, error)

func ReadVersion

func ReadVersion(dir string) (v string)

func RecordVersion

func RecordVersion(version, dir string)

func ReplaceFileContent

func ReplaceFileContent(filePath, old, new string, perm fs.FileMode)

func RunCommand

func RunCommand(args ...string)

func VerifyUrls

func VerifyUrls(rawUrl string) (r bool)

func WinIsAdmin

func WinIsAdmin() bool

Types

type DirFinder

type DirFinder struct {
	StartDir       string
	ParentDirName  string
	UniqueFileName string
	// contains filtered or unexported fields
}

func NewBinaryFinder

func NewBinaryFinder(dir ...string) (bf *DirFinder)

func (*DirFinder) SetParentDirName

func (that *DirFinder) SetParentDirName(name string)

func (*DirFinder) SetStartDir

func (that *DirFinder) SetStartDir(dir string)

func (*DirFinder) SetUniqueFileName

func (that *DirFinder) SetUniqueFileName(name string)

func (*DirFinder) String

func (that *DirFinder) String() string

type EnvsHandler

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

func NewEnvsHandler

func NewEnvsHandler() (e *EnvsHandler)

func (*EnvsHandler) DoesEnvExist

func (that *EnvsHandler) DoesEnvExist(subname string) bool

func (*EnvsHandler) RemoveSub

func (that *EnvsHandler) RemoveSub(subname string)

func (*EnvsHandler) RemoveSubs

func (that *EnvsHandler) RemoveSubs()

func (*EnvsHandler) SetEnvForWin

func (that *EnvsHandler) SetEnvForWin(envList map[string]string)

func (*EnvsHandler) SetWinWorkDir

func (that *EnvsHandler) SetWinWorkDir(dirPath string)

func (*EnvsHandler) UpdateSub

func (that *EnvsHandler) UpdateSub(subname, value string)

type JSON

type JSON struct{}

Parser for koanf

func NewJsonParser

func NewJsonParser() *JSON

func (*JSON) Marshal

func (p *JSON) Marshal(o map[string]interface{}) ([]byte, error)

Marshal marshals the given config map to JSON bytes.

func (*JSON) Unmarshal

func (p *JSON) Unmarshal(b []byte) (map[string]interface{}, error)

Unmarshal parses the given JSON bytes.

type WinPathEnvTemp

type WinPathEnvTemp struct {
	PathList []string `koanf,json:"path_list"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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