diff --git a/readline/codes.go b/readline/codes.go index 7037e45..28a9e60 100644 --- a/readline/codes.go +++ b/readline/codes.go @@ -76,6 +76,8 @@ const ( seqCursorTopLeft = "\x1b[H" // Clears screen and places cursor on top-left seqGetCursorPos = "\x1b6n" // response: "\x1b{Line};{Column}R" + seqHideCursor = "\x1b[?25l" + seqUnhideCursor = "\x1b[?25h" seqCtrlLeftArrow = "\x1b[1;5D" seqCtrlRightArrow = "\x1b[1;5C" diff --git a/readline/update.go b/readline/update.go index 8f85c6d..7c1ebe9 100644 --- a/readline/update.go +++ b/readline/update.go @@ -10,7 +10,7 @@ import ( // it should coordinate reprinting the input line, any Infos and completions // and manage to get back to the current (computed) cursor coordinates func (rl *Instance) updateHelpers() { - + print(seqHideCursor) // Load all Infos & completions before anything. // Thus overwrites anything having been dirtily added/forced/modified, like rl.SetInfoText() rl.getInfoText() @@ -27,6 +27,7 @@ func (rl *Instance) updateHelpers() { // We are at the prompt line (with the latter // not printed yet), then reprint everything rl.renderHelpers() + print(seqUnhideCursor) } const tabWidth = 4