From 81d45afcf3058d878e71d1f2d31f94be70661ca2 Mon Sep 17 00:00:00 2001 From: Mark Huang Date: Sat, 29 Jun 2024 15:34:04 +0800 Subject: [PATCH] Fix moving up and down in REPL (#350) --- src/repl.jl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/repl.jl b/src/repl.jl index 0233e88..8b926e7 100644 --- a/src/repl.jl +++ b/src/repl.jl @@ -286,10 +286,13 @@ end NEW_KEYBINDINGS = create_keybindings() function insert_keybindings(repl = Base.active_repl) - mirepl = isdefined(repl,:mi) ? repl.mi : repl - main_mode = mirepl.interface.modes[1] - p = mirepl.interface.modes[5] + mirepl = isdefined(repl,:mistate) ? repl.mistate : repl + interface_modes = mirepl.interface.modes + main_mode = interface_modes[1] + php_idx = findfirst(Base.Fix2(isa, LineEdit.PrefixHistoryPrompt), interface_modes) + p = interface_modes[php_idx] + # Up Arrow NEW_KEYBINDINGS["\e[A"] = (s,o...)-> begin LineEdit.edit_move_up(buffer(s)) || LineEdit.enter_prefix_search(s, p, true) Prompt.rewrite_with_ANSI(s)