JunoLab / Juno.jl

MIT License
144 stars 23 forks source link

New REPL console has a few shortcomings compared to Legacy terminal #102

Open jebej opened 6 years ago

jebej commented 6 years ago
  1. It seems history is not saved in the new console (it is, but you need to restart Atom, or have basic boot mode enabled to see it after restarting a Julia session)
  2. "links" to Julia files (e.g. when using @which) are no longer clickable, this was a pretty useful feature
  3. you can't click to move the cursor, this was useful when entering multiple lines at a time
  4. you can't collapse or expand results
  5. types that don't have a dedicated print method still printed nicely in the old terminal, as it just showed a list of fields, which you could expand or collapse (in the REPL, all the field contents are printed inline, which is much less useful)
  6. issues with font printing with some Unicode characters, where the character width is not computed properly, making some characters overlap or the cursor be in the wrong place
  7. no more autocomplete suggestions
xximranxx commented 6 years ago

May I add: A restart of the julia session does not seem to load .juliarc To me it would make sense to reload .juliarc e.g. when changing git branches (and .juliarc containing include code)

pfitzseb commented 6 years ago

It seems history is not saved in the new console

It is for me. Can you check Base.REPL.find_hist_file() in Juno and in a plain REPL?

"links" to julia file when using @which are no longer clickable, this was a pretty useful feature

Yeah, that's unfortunate. You can usually click on links, but IIRC they need to start with ./ or similar (like in error messages). For that specific thing you can also just call @edit sin(2) or similar which will take you straight to the right file.

A restart of the julia session does not seem to load .juliarc

It does for me ;)

To me it would make sense to reload .juliarc e.g. when changing git branches (and .juliarc containing include code)

That seems like a bad idea to me. You can just manually kill Julia when doing that if you really need to.

MikeInnes commented 6 years ago

Some of these are probably due to our cycler booting a process before you ask for it (and therefore before the changes you made to history or .juliarc).

jebej commented 6 years ago

Some of these are probably due to our cycler booting a process before you ask for it (and therefore before the changes you made to history or .juliarc).

Yes, this is what is happening. If I restart Atom, the "recent" history is there.

pfitzseb commented 6 years ago

If you don't mind waiting longer for new processes you could just switch to the Basic boot mode, which should alleviate those issues.

jebej commented 6 years ago

I've reverted back to the legacy console. There are other issues with the regular REPL I have noticed:

What were the shortcomings of the original console? I feel like using a regular Julia REPL will be very limiting...

jullit31 commented 6 years ago

Are these features going to be reimplemented? Other than 1. and 6., which are obviously bugs. I guess we can't use the Legacy Console forever, can we?

pfitzseb commented 6 years ago

Yes, they will be (and I'd heavily recommend not using the legacy console).

      1. are basically implemented on the dev branches, 7. will work fine with a few Base patches and I'll look into 1. soon(ish). 6. is an upstream issues, but that should get better with time too.

See http://people.physik.hu-berlin.de/~pfitzseb/blogposts/juno-on-07/ for some progress on the next Juno update.