Documentation ¶
Index ¶
- Constants
- Variables
- func AddNewlineToVscodeSettings(key, value, settingsPath string)
- func BatchReplaceAll(str string, oldNew map[string]string) (r string)
- func CheckFile(fpath, cType, cSum string) (r bool)
- func ClearDir(dirPath string)
- func Closeq(v interface{})
- func ContainsCJK(s string) bool
- func ConvertStrToReader(str string) io.Reader
- func CopyDir(srcPath, desPath string) error
- func CopyFile(src, dst string) (written int64, err error)
- func CopyFileOnUnixSudo(from, to string) error
- func DecodeBase64(str string) (res string)
- func EnsureTrailingNewline(s string) string
- func ExecuteSysCommand(collectOutput bool, args ...string) (*bytes.Buffer, error)
- func FindMaxLengthOfStringList(sl []string) (max int)
- func FlushPathEnvForUnix() (err error)
- func GetExt(filename string) (ext string)
- func GetHomeDir() (homeDir string)
- func GetPathForWindows() string
- func GetShell() (shell string)
- func GetShellRcFile() (rc string)
- func GetWinAppdataEnv() string
- func JoinUnixFilePath(pathList ...string) (r string)
- func MakeDirs(dirs ...string)
- func MapArchAndOS(ArchOrOS string) (result string)
- func MkSymLink(target, newfile string) (err error)
- func ParseArch(name string) string
- func ParsePlatform(name string) string
- func PathIsExist(path string) (bool, error)
- func ReadVersion(dir string) (v string)
- func RecordVersion(version, dir string)
- func ReplaceFileContent(filePath, old, new string, perm fs.FileMode)
- func RunCommand(args ...string)
- func VerifyUrls(rawUrl string) (r bool)
- func WinIsAdmin() bool
- type DirFinder
- type EnvsHandler
- func (that *EnvsHandler) DoesEnvExist(subname string) bool
- func (that *EnvsHandler) RemoveSub(subname string)
- func (that *EnvsHandler) RemoveSubs()
- func (that *EnvsHandler) SetEnvForWin(envList map[string]string)
- func (that *EnvsHandler) SetWinWorkDir(dirPath string)
- func (that *EnvsHandler) UpdateSub(subname, value string)
- type JSON
- type WinPathEnvTemp
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 ContainsCJK ¶
func ConvertStrToReader ¶
func CopyFileOnUnixSudo ¶
func DecodeBase64 ¶
func EnsureTrailingNewline ¶
func ExecuteSysCommand ¶
func FlushPathEnvForUnix ¶
func FlushPathEnvForUnix() (err error)
func GetHomeDir ¶
func GetHomeDir() (homeDir string)
func GetPathForWindows ¶
func GetPathForWindows() string
func GetShellRcFile ¶
func GetShellRcFile() (rc string)
func GetWinAppdataEnv ¶
func GetWinAppdataEnv() string
func JoinUnixFilePath ¶
func MapArchAndOS ¶
func ParsePlatform ¶
func PathIsExist ¶
func ReadVersion ¶
func RecordVersion ¶
func RecordVersion(version, dir string)
func ReplaceFileContent ¶
func RunCommand ¶
func RunCommand(args ...string)
func VerifyUrls ¶
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 (*DirFinder) SetParentDirName ¶
func (*DirFinder) SetStartDir ¶
func (*DirFinder) SetUniqueFileName ¶
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
type WinPathEnvTemp ¶
type WinPathEnvTemp struct {
PathList []string `koanf,json:"path_list"`
}
Source Files ¶
Click to show internal directories.
Click to hide internal directories.