Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Loading OhMyREPL before Rebugger #30

Open
MrUrq opened this issue Aug 22, 2018 · 4 comments
Open

Loading OhMyREPL before Rebugger #30

MrUrq opened this issue Aug 22, 2018 · 4 comments

Comments

@MrUrq
Copy link

MrUrq commented Aug 22, 2018

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.

@adamryczkowski
Copy link

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?

@eljungsk
Copy link

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.

@timholy
Copy link
Owner

timholy commented Oct 30, 2018

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.

@pfitzseb
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants