Rebugger.jl
Rebugger.jl copied to clipboard
Loading OhMyREPL before Rebugger
Loading OhMyREPL.jl before Rebugger in the startup.jl file hinders Rebuggers keybindings from working. This happens on Julia 1.0 (tested on two different systems).
Example startup.jl file:
try
@eval using OhMyREPL
catch err
@warn "Could not load OhMyREPL"
end
try
@eval using Revise
# Turn on Revise's automatic-evaluation behavior
Revise.async_steal_repl_backend()
catch err
@warn "Could not load Revise."
end
try
@eval using Rebugger
# Activate Rebugger's key bindings
atreplinit(Rebugger.repl_init)
catch err
@warn "Could not turn on Rebugger key bindings."
end
This problem does not appear to happen if I start a clean Julia session and load the packages from the REPL one by one.
Putting OhMyREPL last in the sequence of the startup.jl file fixes the problem.
In my setup, putting OhMyREPL in the last place also fixes the problem, but at the cost of broken bracket completion. @MrUrq do you experience the same problem?
In my setup, putting OhMyREPL in the last place also fixes the problem, but at the cost of broken bracket completion. @MrUrq do you experience the same problem?
Yes, both @MrUrq and myself (we are officemates) experience that OhMyREPL breaks as you describe. We haven't found any solution apart from living with it.
Presumably the solution would be to have a general framework for intercepting the REPL, for example by inserting callbacks. That would involve some changes to the REPL stdlib, presumably.
OhMyREPL is basically a hack and overwrites loads of REPL methods because there's no other way to implement things like that, so yes, an actually extensible REPL interface would be great to have.