KristofferC / OhMyREPL.jl

Syntax highlighting and other enhancements for the Julia REPL
https://kristofferc.github.io/OhMyREPL.jl/latest/
Other
749 stars 56 forks source link

Allow to not override output_prompt (bug, arguably) #267

Closed ylvain closed 1 year ago

ylvain commented 2 years ago

Please either remove OhMyREPL\src\output_prompt_overwrite.jl or provide a way to prevent inclusion of this file.

Reason: this override function display(d::REPLDisplay, mime::MIME"text/plain", x). Now when you look at the original implementation in Julia-1.7.2\share\julia\stdlib\v1.7\REPL\src\REPL.jl, 257 you find that they are quite different.

Notably the version from OhMyREPL does not handle with_repl_linfo. Which means that Base.last_shown_line_infos is not updated. Which implies that the fast-edit shortcut ^Q cannot work. (to edit a method from e.g. the last output of methods or methodswith).

I far as I can tell the feature provided by this file (updating the text and color of the input/output prompt) are not used.

... I took 3 hours this morning loosing my mind with the shortcut-key pass-through configuration in VsCode. I was pretty sure that I understood the settings and that ^Q should be passed to the julia process. But no way to trigger an edit... This was followed by one hour of debug to get to the root cause.

KristofferC commented 1 year ago

Sorry, for the trouble. Indeed this package does quite a bit of method overwriting in those cases where it isn't really possible to hook into the REPL in an official way. I'll try add this to the REPL stdlib so the method overload is not required anymore and also update the current method overwriting.