mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2025-03-05 20:49:04 -08:00
parent
2604d02a37
commit
3c438218bd
|
@ -14,6 +14,7 @@ import (
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -293,6 +294,14 @@ func (env *ShellEnvironment) log(lt logType, function, message string) {
|
||||||
log.Println(trace)
|
log.Println(trace)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (env *ShellEnvironment) debugF(function string, fn func() string) {
|
||||||
|
if !env.debug {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
trace := fmt.Sprintf("%s: %s\n%s", Debug, function, fn())
|
||||||
|
log.Println(trace)
|
||||||
|
}
|
||||||
|
|
||||||
func (env *ShellEnvironment) Getenv(key string) string {
|
func (env *ShellEnvironment) Getenv(key string) string {
|
||||||
defer env.trace(time.Now(), "Getenv", key)
|
defer env.trace(time.Now(), "Getenv", key)
|
||||||
val := os.Getenv(key)
|
val := os.Getenv(key)
|
||||||
|
@ -335,7 +344,9 @@ func (env *ShellEnvironment) HasFiles(pattern string) bool {
|
||||||
env.log(Error, "HasFiles", err.Error())
|
env.log(Error, "HasFiles", err.Error())
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return len(matches) > 0
|
hasFiles := len(matches) > 0
|
||||||
|
env.debugF("HasFiles", func() string { return strconv.FormatBool(hasFiles) })
|
||||||
|
return hasFiles
|
||||||
}
|
}
|
||||||
|
|
||||||
func (env *ShellEnvironment) HasFilesInDir(dir, pattern string) bool {
|
func (env *ShellEnvironment) HasFilesInDir(dir, pattern string) bool {
|
||||||
|
@ -346,7 +357,9 @@ func (env *ShellEnvironment) HasFilesInDir(dir, pattern string) bool {
|
||||||
env.log(Error, "HasFilesInDir", err.Error())
|
env.log(Error, "HasFilesInDir", err.Error())
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return len(matches) > 0
|
hasFilesInDir := len(matches) > 0
|
||||||
|
env.debugF("HasFilesInDir", func() string { return strconv.FormatBool(hasFilesInDir) })
|
||||||
|
return hasFilesInDir
|
||||||
}
|
}
|
||||||
|
|
||||||
func (env *ShellEnvironment) HasFileInParentDirs(pattern string, depth uint) bool {
|
func (env *ShellEnvironment) HasFileInParentDirs(pattern string, depth uint) bool {
|
||||||
|
@ -355,23 +368,27 @@ func (env *ShellEnvironment) HasFileInParentDirs(pattern string, depth uint) boo
|
||||||
|
|
||||||
for c := 0; c < int(depth); c++ {
|
for c := 0; c < int(depth); c++ {
|
||||||
if env.HasFilesInDir(currentFolder, pattern) {
|
if env.HasFilesInDir(currentFolder, pattern) {
|
||||||
|
env.log(Debug, "HasFileInParentDirs", "true")
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
if dir := filepath.Dir(currentFolder); dir != currentFolder {
|
if dir := filepath.Dir(currentFolder); dir != currentFolder {
|
||||||
currentFolder = dir
|
currentFolder = dir
|
||||||
} else {
|
} else {
|
||||||
|
env.log(Debug, "HasFileInParentDirs", "false")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
env.log(Debug, "HasFileInParentDirs", "false")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
func (env *ShellEnvironment) HasFolder(folder string) bool {
|
func (env *ShellEnvironment) HasFolder(folder string) bool {
|
||||||
defer env.trace(time.Now(), "HasFolder", folder)
|
defer env.trace(time.Now(), "HasFolder", folder)
|
||||||
_, err := os.Stat(folder)
|
_, err := os.Stat(folder)
|
||||||
return !os.IsNotExist(err)
|
hasFolder := !os.IsNotExist(err)
|
||||||
|
env.debugF("HasFolder", func() string { return strconv.FormatBool(hasFolder) })
|
||||||
|
return hasFolder
|
||||||
}
|
}
|
||||||
|
|
||||||
func (env *ShellEnvironment) FileContent(file string) string {
|
func (env *ShellEnvironment) FileContent(file string) string {
|
||||||
|
@ -381,7 +398,9 @@ func (env *ShellEnvironment) FileContent(file string) string {
|
||||||
env.log(Error, "FileContent", err.Error())
|
env.log(Error, "FileContent", err.Error())
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
return string(content)
|
fileContent := string(content)
|
||||||
|
env.log(Debug, "FileContent", fileContent)
|
||||||
|
return fileContent
|
||||||
}
|
}
|
||||||
|
|
||||||
func (env *ShellEnvironment) FolderList(path string) []string {
|
func (env *ShellEnvironment) FolderList(path string) []string {
|
||||||
|
@ -397,6 +416,7 @@ func (env *ShellEnvironment) FolderList(path string) []string {
|
||||||
folderNames = append(folderNames, s.Name())
|
folderNames = append(folderNames, s.Name())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
env.debugF("FolderList", func() string { return strings.Join(folderNames, ",") })
|
||||||
return folderNames
|
return folderNames
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -411,6 +431,7 @@ func (env *ShellEnvironment) User() string {
|
||||||
if user == "" {
|
if user == "" {
|
||||||
user = os.Getenv("USERNAME")
|
user = os.Getenv("USERNAME")
|
||||||
}
|
}
|
||||||
|
env.log(Debug, "User", user)
|
||||||
return user
|
return user
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -421,7 +442,9 @@ func (env *ShellEnvironment) Host() (string, error) {
|
||||||
env.log(Error, "Host", err.Error())
|
env.log(Error, "Host", err.Error())
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
return cleanHostName(hostName), nil
|
hostName = cleanHostName(hostName)
|
||||||
|
env.log(Debug, "Host", hostName)
|
||||||
|
return hostName, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (env *ShellEnvironment) GOOS() string {
|
func (env *ShellEnvironment) GOOS() string {
|
||||||
|
|
Loading…
Reference in a new issue