fix: dont refresh prompt at startup

windows-fixes
TorchedSammy 2022-03-06 17:20:41 -04:00
parent ba67278fad
commit ec886e17fa
Signed by: sammyette
GPG Key ID: 904FC49417B44DCD
4 changed files with 7 additions and 5 deletions

View File

@ -5,7 +5,7 @@ local ansikit = require 'ansikit'
local function doPrompt(fail, mode) local function doPrompt(fail, mode)
hilbish.prompt(lunacolors.format( hilbish.prompt(lunacolors.format(
'{blue}%u {cyan}%d ' .. (fail and '{red}' or '{green}') .. '' '{blue}%u {cyan}%d\n' .. (fail and '{red}' or '{green}') .. ''
)) ))
end end

View File

@ -163,6 +163,7 @@ func main() {
os.Exit(0) os.Exit(0)
} }
initialized = true
input: input:
for interactive { for interactive {
running = false running = false

8
rl.go
View File

@ -188,17 +188,17 @@ func (lr *lineReader) Read() (string, error) {
return s, err // might get another error return s, err // might get another error
} }
func (lr *lineReader) SetPrompt(prompt string) { func (lr *lineReader) SetPrompt(p string) {
halfPrompt := strings.Split(prompt, "\n") halfPrompt := strings.Split(p, "\n")
if len(halfPrompt) > 1 { if len(halfPrompt) > 1 {
lr.rl.Multiline = true lr.rl.Multiline = true
lr.rl.SetPrompt(strings.Join(halfPrompt[:len(halfPrompt) - 1], "\n")) lr.rl.SetPrompt(strings.Join(halfPrompt[:len(halfPrompt) - 1], "\n"))
lr.rl.MultilinePrompt = halfPrompt[len(halfPrompt) - 1:][0] lr.rl.MultilinePrompt = halfPrompt[len(halfPrompt) - 1:][0]
} else { } else {
lr.rl.Multiline = false lr.rl.Multiline = false
lr.rl.SetPrompt(prompt) lr.rl.SetPrompt(p)
} }
if !running { if initialized && !running {
lr.rl.RefreshPromptInPlace("") lr.rl.RefreshPromptInPlace("")
} }
} }

View File

@ -17,5 +17,6 @@ var (
interactive bool interactive bool
login bool // Are we the login shell? login bool // Are we the login shell?
noexecute bool // Should we run Lua or only report syntax errors noexecute bool // Should we run Lua or only report syntax errors
initialized bool
) )