diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fafe8c..877c41d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,16 @@ # 🎀 Changelog ## Unreleased -### Fixed -- Skip over file and prevent panic if info cannot be retrieved during file completion (due to permission error or anything else) +### Added +- Forward/Right arrow key will fill in hint text (#327) ### Changed - Documentation for Lunacolors has been improved, with more information added. +## [2.3.4] - 2024-12-28 +### Fixed +- Skip over file and prevent panic if info cannot be retrieved during file completion (due to permission error or anything else) +- Apply environment variables properly after 2.3 shell interpreter changes + ## [2.3.3] - 2024-11-04 ### Fixed - Heredocs having issues @@ -786,6 +791,7 @@ This input for example will prompt for more input to complete: First "stable" release of Hilbish. +[2.3.4]: https://github.com/Rosettea/Hilbish/compare/v2.3.3...v2.3.4 [2.3.3]: https://github.com/Rosettea/Hilbish/compare/v2.3.2...v2.3.3 [2.3.2]: https://github.com/Rosettea/Hilbish/compare/v2.3.1...v2.3.2 [2.3.1]: https://github.com/Rosettea/Hilbish/compare/v2.3.0...v2.3.1 diff --git a/exec.go b/exec.go index 357c143..7f8e37b 100644 --- a/exec.go +++ b/exec.go @@ -434,26 +434,8 @@ func execHandle(bg bool) interp.ExecHandlerFunc { // sh/interp but with our job handling env := hc.Env - envList := make([]string, 0, 64) + envList := os.Environ() env.Each(func(name string, vr expand.Variable) bool { - if name == "PATH" { - pathEnv := os.Getenv("PATH") - envList = append(envList, "PATH="+pathEnv) - return true - } - - if !vr.IsSet() { - // If a variable is set globally but unset in the - // runner, we need to ensure it's not part of the final - // list. Seems like zeroing the element is enough. - // This is a linear search, but this scenario should be - // rare, and the number of variables shouldn't be large. - for i, kv := range envList { - if strings.HasPrefix(kv, name+"=") { - envList[i] = "" - } - } - } if vr.Exported && vr.Kind == expand.String { envList = append(envList, name+"="+vr.String()) } diff --git a/readline/hint.go b/readline/hint.go index 6c6a67c..d0c54fe 100644 --- a/readline/hint.go +++ b/readline/hint.go @@ -56,3 +56,10 @@ func (rl *Instance) resetHintText() { //rl.hintY = 0 rl.hintText = []rune{} } + +func (rl *Instance) insertHintText() { + if len(rl.hintText) != 0 { + // fill in hint text + rl.insert(rl.hintText) + } +} diff --git a/readline/readline.go b/readline/readline.go index 627bff4..7282071 100644 --- a/readline/readline.go +++ b/readline/readline.go @@ -707,6 +707,9 @@ func (rl *Instance) escapeSeq(r []rune) { rl.renderHelpers() return } + + rl.insertHintText() + if (rl.modeViMode == VimInsert && rl.pos < len(rl.line)) || (rl.modeViMode != VimInsert && rl.pos < len(rl.line)-1) { rl.moveCursorByAdjust(1) diff --git a/vars.go b/vars.go index 55d71a7..c93e2b6 100644 --- a/vars.go +++ b/vars.go @@ -11,7 +11,7 @@ var ( // Version info var ( - ver = "v2.3.3" + ver = "v2.3.4" releaseName = "Alyssum" gitCommit string