-
Notifications
You must be signed in to change notification settings - Fork 6
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
Interactive REPL Interface #5
Comments
I want to move all stream processing out of |
So here's an idea (does lalrpop support it?), we return a parse error on incomplete syntax, and that's the input to the function that drives highlighting, completion, history selection, etc. As such it'll need to be an AST of the syntax so far, and some expected set. The parser must be somewhat performant to do this on each action in raw mode, we may need to buffer by token or some larger piece of grammar. This should be easy-ish by using one of the composite grammars from the LALRPOP generated parsers. |
The initial |
What would the mouse features be? Asking just out of curiosity :p |
@dread-uo I've been so busy writing all this POSIX stuff I haven't thought much about it. I spent a good part of tonight working on making the raw terminal mode a cargo feature... mouse actions could go on top of that. Looking at
Basically who knows at this point. Thanks for the question. Let me know if you end up using the shell at all, or want to help 😉 |
In order to support current and future needs for completion, here is a more complete design.
enum Completion {
None,
Partial(String, HashSet<String>),
Complete(String),
} Still need to figure out the best place to put the completion for the fish style last history completion. |
A good list of features to support to be inline with |
In addition to the basic support for reading programs from a non-interactive input, we need to have the ability to run in interactive mode, with prompts, and the full suite of features.
\
line continuations, and incomplete syntax)sh
-style tab completion #29sh
-like completionsModern
Open Questions
The text was updated successfully, but these errors were encountered: