如何从 运行 会话中恢复 Julia 历史文件?

How to restore Julia history file from a running session?

晕!我不小心删除了我的 ~/.julia/logs 文件夹。

但好消息是我有几个 运行 julia 会话,这似乎对 julia REPL 历史有一些记忆。

有谁知道是否有办法以某种方式从 运行 julia 进程的状态中反向转储历史文件?非常感谢!

这应该将其存储回一个文件,然后可以将其放入 .julia/logs/repl_history.jl:

function restore_repl_history()
    hist = Base.active_repl.interface.modes[1].hist
    open("restored_history.jl", "w") do io
        for (mode, cont) in zip(hist.modes, hist.history)
            println(io, "# time: $(Libc.strftime("%Y-%m-%d %H:%M:%S %Z", time()))")
            println(io, "# mode: $mode")
            s = join(split(cont, '\n'), "\n\t")
            println(io, "\t", s)
        end
    end
end