Age | Commit message (Collapse) | Author |
|
This commit fixes the following misbehaviour:
```
> <- search prompt moves here
>
> ^R^L <- actual prompt stays here
```
|
|
This fixes the issue where the editor would only scroll up one command
and then 'search' for it
|
|
This patchset fixes incorrect handling of escaped tokens (`a\ b`) in
Shell autocompletion and LibLine.
The users of LibLine can now choose between two token splitting modes,
either taking into account escapes, or ignoring them.
|
|
|
|
Unbreaks the build.
|
|
This patch fixes the issue where some data would be buffered while the
editor is not editing, and vt_dsr would read them, resulting in the
cursor to jump to (1,1)
|
|
This patch makes initialize() transparent to the users, but exposes it
publicly, as the users might need a copy of the default termios (i.e.
Shell)
|
|
It does not make much sense to receive an interrupt and process it
*much later*.
Also patches Userland/js to only create exceptions while some code is
actually running.
|
|
|
|
|
|
Suggesting whatever the user has input is not quite sane :^)
|
|
Words are delimited by spaces.
Perhaps this should be a configurable behaviour?
|
|
this commit fixes a...surprisingly long-standing ^C bug, where it would
return the buffer instead of voiding it and starting over :^)
|
|
|
|
This commit adds searching in the editor history with ^R.
It does so by instantiating...another Line::Editor inside the current
Line::Editor :^)
|
|
|
|
These strings would be applied when inserted into the buffer, but are
not shown as part of the suggestion.
This commit also patches up Userland/js and Shell to use this
functionality
|
|
On the first tab, only complete the token without suggesting extra
stuff, and on further tabs, show suggestions.
Except in one case where the completion is all in the buffer, then
we show the suggestions, but do no completion.
|
|
|
|
|
|
|
|
This is superceded by the suggest() mechanism
|
|
`cd /h<tab>` -> `cd /home/`, pressing tab after that would
descend into `/home/' and show `/home/anon/`
|
|
|
|
With extra color (tm)
This commit also patches the users of LibLine to properly use the new
API
|
|
Prior to this, writing to stdin while a display refresh was happening
corrupted the input and displayed garbage.
|
|
We have all the information necessary to find our new origin when a
window size change occurs.
|
|
Prior to this, we would display them and never clean then up.
|
|
There's no official ESUCCESS==0 errno code, and it keeps breaking the
Lagom build when we use it, so let's just say 0 instead.
|
|
|
|
This commit fixes a regression where the prompt would not be cleared
upon substitution of lines from the history
|
|
This commit also adds the ability to change the prompt mid-edit :^)
|
|
This patchset adds an stylization interface to LibLine, and breaks
multiline editing.
With the most adorable Style constructor I've ever seen :^)
|
|
This makes the library safe to construct/destruct without actually using
it.
|
|
Use a StringBuilder instead of blindly passing a bunch of potentially
empty/null strings to the kernel. StringBuilder is more lenient and
generally more pleasant to use anyway.
|
|
My host compiler was complaining about "%b" in format strings and about
ignoring the return value from a bunch of write() calls.
|
|
The "on_foo" format is our convention for public callback members.
|
|
|
|
|
|
|