From 8c9b6358b5d7b0983186174adf2228c0d96e73ab Mon Sep 17 00:00:00 2001 From: Jan De Dobbeleer Date: Thu, 12 May 2022 07:51:42 +0200 Subject: [PATCH] fix(bash): replace all single occurances of \ --- src/engine/segment.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/engine/segment.go b/src/engine/segment.go index 1bc86ee6..c8e12317 100644 --- a/src/engine/segment.go +++ b/src/engine/segment.go @@ -7,6 +7,7 @@ import ( "oh-my-posh/environment" "oh-my-posh/properties" "oh-my-posh/segments" + "oh-my-posh/shell" "oh-my-posh/template" "runtime/debug" "strings" @@ -352,5 +353,11 @@ func (segment *Segment) SetText() { return } segment.text = segment.string() + // see https://github.com/JanDeDobbeleer/oh-my-posh/discussions/2255 + // this can't happen where we do regular text replacement in ansi.go + // as that would also replace valid \[\] sequences and break the prompt + if segment.env.Shell() == shell.BASH { + segment.text = strings.ReplaceAll(segment.text, `\`, `\\`) + } segment.Enabled = len(strings.ReplaceAll(segment.text, " ", "")) > 0 }