From 829a50f62f26d84b0b1e42968e709b576c678b18 Mon Sep 17 00:00:00 2001 From: Scott Lowe Date: Mon, 18 Apr 2022 18:39:10 -0600 Subject: [PATCH] Expose DOCKER_CONTEXT variable Update segment-docker_context.go to look for DOCKER_CONTEXT environment variable, and use that when setting the value of the segment. Signed-off-by: Scott Lowe --- segment-docker_context.go | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/segment-docker_context.go b/segment-docker_context.go index 63f640e8..be0ef7e8 100644 --- a/segment-docker_context.go +++ b/segment-docker_context.go @@ -17,15 +17,20 @@ func segmentDockerContext(p *powerline) []pwl.Segment { home, _ := os.LookupEnv("HOME") contextFolder := filepath.Join(home, ".docker", "contexts") configFile := filepath.Join(home, ".docker", "config.json") + contextEnvVar := os.Getenv("DOCKER_CONTEXT") - stat, err := os.Stat(contextFolder) - if err == nil && stat.IsDir() { - dockerConfigFile, err := ioutil.ReadFile(configFile) - if err == nil { - var dockerConfig DockerContextConfig - err = json.Unmarshal(dockerConfigFile, &dockerConfig) - if err == nil && dockerConfig.CurrentContext != "" { - context = dockerConfig.CurrentContext + if contextEnvVar != "" { + context = contextEnvVar + } else { + stat, err := os.Stat(contextFolder) + if err == nil && stat.IsDir() { + dockerConfigFile, err := ioutil.ReadFile(configFile) + if err == nil { + var dockerConfig DockerContextConfig + err = json.Unmarshal(dockerConfigFile, &dockerConfig) + if err == nil && dockerConfig.CurrentContext != "" { + context = dockerConfig.CurrentContext + } } } } @@ -37,7 +42,7 @@ func segmentDockerContext(p *powerline) []pwl.Segment { return []pwl.Segment{{ Name: "docker-context", - Content: "🐳" + context, + Content: context, Foreground: p.theme.PlEnvFg, Background: p.theme.PlEnvBg, }}