JShell tool feedback modes -- predefined and default
Robert Field
robert.field at oracle.com
Sat Mar 12 00:09:55 UTC 2016
[hmmm..., For some reason kulla-dev seems to have removed all the text
from my message. Trying again using a link rather than an attachment...]
I recently added an output configuration mechanism to the jshell tool,
allowing users to specify how they would like feedback from the tool to
look. And, importantly, allowing us to experiment with what we want the
default mode to look like.
Using this, Brian and I have been discussing what we want. Some of the
conclusions are:
* Some of the output is essential and should be highlighted and
always displayed: results and errors (and possible temp var name)
* Some of the output is informative but can be garnered in other
ways: type
* Some of the output is confirmation, which is reassuring to new
users and annoying to frequent users
* We decided that it would help making design choices (and give
easy options to users) if there were three predefined levels of output:
verbose, concise, and default
* If we can come up with a consistent layout for concise and
verbose, the more challenging choice of layout for default would be a
matter of picking between the two.
* result is essential and needs a special form.
* Other information is optional and would not show in more concise
modes
* temp variables are generated for expressions to allow access to
these values, without displaying what the temp variable name it is of
little use, thus this name cannot be displayed only in the optional
information
* so, rather than create an asymmetry, the variable name should be
displayed in the result
* the length of the regular and continuation prompts must be the
same, else indenting is confusing
* there needs to be easy ways to set the mode (say by an instructor
or and experienced user) so a command-line option is needed
* /help should (in default mode) offer the /set feedback verbose
Based on these discussions and some of our earlier prototypes, I have
created the (version 0) feedback modes: verbose0, default0, and concise0
as progressive filters on the corresponding more verbose mode.
Download:
http://cr.openjdk.java.net/~rfield/proto.modes
Starting with a current build of jdk9/dev, start jshell and type:
/open proto.modes
It sets to default0, you can change this with:
/set feedback verbose0
which you can abbreviate to:
/se fe v
What do you think?
What would you change?
New mode definitions welcome.
Thanks,
Robert
More information about the kulla-dev
mailing list