-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
RFC: new REPL #6270
RFC: new REPL #6270
Conversation
A symptom of this is if ext(c)<left><left><left><tab><enter> is entered into a fresh session, the output is extrema (generic function with 2 methods) instead of the expected ERROR: c not defined
This is such a satisfying branch. |
I think we should merge this as soon as possible. Thanks, @nolta, for putting in the work to merge @loladiro's REPL stuff and thanks @loladiro for writing it in the first place. This really brings our REPL to the next level – and it was already good. |
Is this spawning anything posixy? This branch builds (some warnings during bootstrap,
Or from an MSYS2 prompt I get (this is probably because of #4589)
|
I think I found it. Changing
in
fixes it. |
I think we should rename |
That's a good idea. Of course, then we need a good name. How about |
Is this going to be 0.3 stuff? I find the idea kind of appealing although it is a quite major change. Having tested REPL.jl I did not have problems so far (on OS X). |
if !isdefined(:put!) | ||
const put! = put | ||
const take! = take | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0.2 compatibility is not required for a module in base.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hah. Good catch :-)
Hello, I'm on linux. My del button does not work with this repl. See Keno/LineEdit.jl#2. One more thing is that when you enter shell or help mode, there's no way to go out from it if you entered some text, unless you delete all the text. On the original readline, you could just delete the In fact, the specular action now is possible: type some text in julia mode, go to the first position and type |
Yes, I would love this feature too. Not sure if @loladiro has the time right now, but I suspect for anyone who understands the new REPL, this wouldn't be too hard to do. |
One thing that's a little surprising with this REPL is if I hit tab before typing anything, I get a list of every single visible keyword. Intended or not? Suppressing tab completion if the line is empty would be more consistent with the old readline REPL. |
That's a more general change in tab-completion behavior with REPL.jl @tkelman. Readline performs completions with one tab press and lists the possibilities with two. The behavior here is to either complete or list possibilities if no completion is available on each tab press. There was also a custom hook on hitting tab after a function call ( I'd also like to start working on getting movement-by-word ( But all this can be added more easily after merging. |
Also, hoist all the using/imports to the top.
Having all of this implemented cleanly in Julia – as opposed to hacked to death in C with readline – really opens up the possibilities for fancy behaviors. |
Is this now working on Windows? If so, should we merge it? I think that as long as it works on all platforms, it's fair to merge it and then continue to fix bugs on master. |
Yes, and regarding the filename completion: when I did it it was really a quick hack, it should be redone properly in julia (using |
Builds, passes tests (with the exception of a known Windows failure in test/file.jl), and basic functionality appears to work.
|
Looks good. Binary here if anyone wants to test: https://julialang.s3.amazonaws.com/bin/winnt/x64/0.3/julia-0.3.0-prerelease-x86_64-newrepl.exe |
Confirming that this windows binary works without issues on windows. |
- fix cmove_* fallbacks - remove unused Colors & Attributes code - get rid of submodules - deindent
Awesome. :) |
I'm contemplating backporting these to the REPL.jl packages, but it seems like a bad idea to maintain it in two places. |
I am getting:
|
@loladiro's REPL.jl code, plus the path completion behavior from #5343, and a few minor bugfixes.