Description
Some feedback we received about the REPL:
Autocomplete uses TAB instead of ENTER, this UX causes users to frequently submit partially typed queries.
The only way to quit the REPL is to send EOF (Ctrl-D), this was confusing to most users, perhaps using SIGINT (Ctrl-C) when the input line is empty should quit. We want to preserve SIGINT for canceling running queries so making it also quit will require understanding that state.
There is no way to input multiple lines. Since the Flux language naturally prefers multiple lines we need a convenient way to input multiple lines. Perhaps a SHIFT-ENTER submits the query, and a normal ENTER just adds a new line? This should also play nice with yield
.
The hidden behavior of run
was confusing, some feedback was to change the behavior of the REPL and execute queries if there was no variable assignment. This way yield
remains implicit in most cases. This would remove the need to have a run
method as simply entering the identifier of a saved query would run it. If you are building up a query then use variable assignment or multi-line input methods.
We should probably use a real readline backend for the REPL so both vim and emacs bindings can exist as is expected by users.