「REPL Search History not Working with Julia 1.10.4」のイシューにあるように, 1.10.4ではCtrl+Rで実行される履歴検索がうまく動かなくなっている。
「fix disappearing fzf matches」というプルリクも出ているので,修正されるのは目の前だが,一足先にパッチを当ててみる。
using OhMyREPL @eval OhMyREPL.Prompt begin NEW_KEYBINDINGS["^R"] = function (s, data, c) if VERSION >= v"1.3" && OhMyREPL.ENABLE_FZF[] withenv("FZF_DEFAULT_OPTS" => nothing) do current_line = LineEdit.input_string(s) if !isempty(current_line) line = JLFzf.inter_fzf(JLFzf.read_repl_hist(), "-m", "--read0", "--tiebreak=index", "--height=80%", "--query=$current_line") else line = JLFzf.inter_fzf(JLFzf.read_repl_hist(), "-m", "--read0", "--tiebreak=index", "--height=80%") end if isempty(line) line = current_line end JLFzf.insert_history_to_repl(s, line) end rewrite_with_ANSI(s) else p = Base.active_repl.interface.modes[4] LineEdit.enter_search(s, p, true) end end end
元のパッチがCTRL+r
に割り当てられた関数を書き換えているので,同様に書き換えただけである。
なお,履歴検索の機能の有効・無効は
OhMyREPL.enable_fzf(true)
,OhMyREPL.enable_fzf(false)
で切り替えられる。
追記
少し前にv0.5.28が出て,特に何もすることなく問題は解消されました。