AnotherTest
977aa3968c
LibLine: Reset inline_search_cursor along with cursor
...
This fixes the issue where the editor would only scroll up one command
and then 'search' for it
2020-04-30 22:14:59 +02:00
AnotherTest
a80ddf584f
Shell+LibLine: Handle escaped characters correctly
...
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.
2020-04-30 09:07:38 +02:00
AnotherTest
9473733d7a
LibLine: Handle initialize() internally
...
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)
2020-04-28 23:29:07 +02:00
AnotherTest
7ecf29f206
LibLine: Ignore interrupts unless actively editing
...
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.
2020-04-28 23:29:07 +02:00
AnotherTest
e578b7884b
LibLine: Properly handle ^C and do not return after being interrupted
...
this commit fixes a...surprisingly long-standing ^C bug, where it would
return the buffer instead of voiding it and starting over :^)
2020-04-20 17:27:30 +02:00
AnotherTest
42f06fc305
LibLine: Implement searching via up/down arrow keys
2020-04-20 17:27:30 +02:00
AnotherTest
58912994ab
LibLine: Implement ^R searching
...
This commit adds searching in the editor history with ^R.
It does so by instantiating...another Line::Editor inside the current
Line::Editor :^)
2020-04-20 17:27:30 +02:00
AnotherTest
cb3cf589ed
LibLine: Allow suggestions to have trailing trivia strings
...
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
2020-04-19 17:21:55 +02:00
AnotherTest
7ef48171ce
LibLine: Complete only common prefixes, and tweak suggestion logic
...
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.
2020-04-19 17:21:55 +02:00
AnotherTest
32276cba7a
LibLine: Properly handle multiline suggestions
2020-04-15 08:46:42 +02:00
AnotherTest
364dbe28d6
LibLine: Remove unused cut_mismatching_chars() function
...
This is superceded by the suggest() mechanism
2020-04-13 00:49:24 +02:00
Linus Groh
c106451daf
LibLine: Cycle backward through suggestions using Shift+Tab
2020-04-11 20:42:17 +02:00
AnotherTest
2fdce695d6
LibLine: Display suggestions and cycle between them
...
With extra color (tm)
This commit also patches the users of LibLine to properly use the new
API
2020-04-11 17:15:19 +02:00
AnotherTest
f946d6ce79
LibLine: Properly handle window resize by not spamming DSRs
...
We have all the information necessary to find our new origin when a
window size change occurs.
2020-04-11 14:29:25 +02:00
AnotherTest
173c65660a
LibLine: Properly show and cleanup suggestions
...
Prior to this, we would display them and never clean then up.
2020-04-11 14:29:25 +02:00
AnotherTest
da9335dbec
LibLine: Implement multiline editing
...
This commit also adds the ability to change the prompt mid-edit :^)
2020-04-10 00:58:59 +02:00
AnotherTest
c2f8a5fffa
LibLine: Add live styling support
...
This patchset adds an stylization interface to LibLine, and breaks
multiline editing.
With the most adorable Style constructor I've ever seen :^)
2020-04-05 16:11:13 +02:00
Andreas Kling
c7257ed827
LibLine: Rename on_char_input() => register_character_input_callback()
...
The "on_foo" format is our convention for public callback members.
2020-03-31 13:37:01 +02:00
Andreas Kling
8ab576308f
LibLine: Rename LineEditor.{cpp,h} => Editor.{cpp,h}
2020-03-31 13:34:57 +02:00