Previously, up-arrowing into (or otherwise retrieving) a command from history
that automatically runs on-input would directly run the command again,
preventing the user from up-arrowing past the auto-run command into further
history.
With this change, shoe detects discontinuous inputs (sole's `%set` edit), and
refuses to auto-run the parsed command in those cases.
If the underlying app implements a /x/dbug/state endpoint in +on-peek,
dbug will now use that for %state evaluation. Falls back to the vase
provided by +on-save if the peek fails.
This allows apps and (perhaps more usefully) wrapper agents to provide
customized vases to /lib/dbug.
Updates /lib/shoe to make use of this, properly prepending the wrapped
app's vase to shoe's own, instead of including it as-is.
For rendering a data table or just a single table row respectively.
Table data is a list of header names, a list of width restrictions, and a list
of rows, defined as lists of dimes.
Row contents are rendered as per the aura in the dime. This also determines
their alignment (left/right), and how they break to fit smaller-width columns.
%row was added because %table necessitated implementing it. Whether it's a good
fit for the shoe "protocol" remains to be seen.
Turns out that having these pop up on every tab-press is really annoying,
and you usually only want them when it didn't manage to autocomplete anything.
The +command-parser must now produce both a flag and a command noun.
If the flag is true, instantly runs the command from the noun.
If false, maintains standard behavior and only runs it on-return.
Deals with sole events, deferring to the underlying app only for higher-
level sole-handling logic.
Currently doesn't offer fancy printing logic, but can easily be extended
to do so.
Passes sole-ids on to the underlying app in all arms so that it may run
session-specific logic wherever it desires.