Compare commits

..

2 Commits

Author SHA1 Message Date
TorchedSammy f7e725b5b9
docs: make note on task 2022-12-09 21:49:58 -04:00
sammyette 4ee160fb66
fix: provide correct command when navigating history (#214)
fixes an issue of going up and down in history results in the incorrect order of commands being inserted (nothing happens to the order in the history itself, just when navigating via arrow keys)

* fix: provide correct command when navigating history

previously, the order while navigating history
with the arrow keys would be incorrect
meaning the command you expect if you go u
then go back down would not be there

* chore: update changelog
2022-12-09 21:45:52 -04:00
5 changed files with 12 additions and 13 deletions

View File

@ -163,6 +163,7 @@ will result in the files being completed.
- Fix completion search menu disappearing - Fix completion search menu disappearing
- Completion paths having duplicated characters if it's escaped - Completion paths having duplicated characters if it's escaped
- Get custom completion command properly to call from Lua - Get custom completion command properly to call from Lua
- Put proper command on the line when using up and down arrow keys to go through command history
## [2.0.0-rc1] - 2022-09-14 ## [2.0.0-rc1] - 2022-09-14
This is a pre-release version of Hilbish for testing. To see the changelog, This is a pre-release version of Hilbish for testing. To see the changelog,

View File

@ -70,6 +70,7 @@ If you're new to nix you should probably read up on how to do that [here](https:
### Prerequisites ### Prerequisites
- [Go 1.17+](https://go.dev) - [Go 1.17+](https://go.dev)
- [Task](https://taskfile.dev/#/) - [Task](https://taskfile.dev/#/)
- **Do go to the link here for the installation of Task. Too much people install taskwarrior, which is the wrong program**
### Build ### Build
First, clone Hilbish. The recursive is required, as some Lua libraries First, clone Hilbish. The recursive is required, as some Lua libraries

View File

@ -123,23 +123,20 @@ func (rl *Instance) walkHistory(i int) {
// When we are exiting the current line buffer to move around // When we are exiting the current line buffer to move around
// the history, we make buffer the current line // the history, we make buffer the current line
if rl.histPos == 0 && (rl.histPos+i) == 1 { if rl.histOffset == 0 && rl.histOffset + i == 1 {
rl.lineBuf = string(rl.line) rl.lineBuf = string(rl.line)
} }
switch rl.histPos + i { rl.histOffset += i
case 0, history.Len() + 1: if rl.histOffset == 0 {
rl.histPos = 0
rl.line = []rune(rl.lineBuf) rl.line = []rune(rl.lineBuf)
rl.pos = len(rl.lineBuf) rl.pos = len(rl.lineBuf)
return } else if rl.histOffset <= -1 {
case -1: rl.histOffset = 0
rl.histPos = 0 } else {
rl.lineBuf = string(rl.line)
default:
dedup = true dedup = true
old = string(rl.line) old = string(rl.line)
new, err = history.GetLine(history.Len() - rl.histPos - 1) new, err = history.GetLine(history.Len() - rl.histOffset)
if err != nil { if err != nil {
rl.resetHelpers() rl.resetHelpers()
print("\r\n" + err.Error() + "\r\n") print("\r\n" + err.Error() + "\r\n")
@ -148,7 +145,6 @@ func (rl *Instance) walkHistory(i int) {
} }
rl.clearLine() rl.clearLine()
rl.histPos += i
rl.line = []rune(new) rl.line = []rune(new)
rl.pos = len(rl.line) rl.pos = len(rl.line)
if rl.pos > 0 { if rl.pos > 0 {

View File

@ -134,6 +134,7 @@ type Instance struct {
// history operating params // history operating params
lineBuf string lineBuf string
histPos int histPos int
histOffset int
histNavIdx int // Used for quick history navigation. histNavIdx int // Used for quick history navigation.
// //

View File

@ -49,7 +49,7 @@ func (rl *Instance) Readline() (string, error) {
// History Init // History Init
// We need this set to the last command, so that we can access it quickly // We need this set to the last command, so that we can access it quickly
rl.histPos = 0 rl.histOffset = 0
rl.viUndoHistory = []undoItem{{line: "", pos: 0}} rl.viUndoHistory = []undoItem{{line: "", pos: 0}}
// Multisplit // Multisplit