mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 23:17:45 +00:00
LibLine: Do a whole bunch of internal error propagation
This commit is contained in:
parent
f9f1e1dd49
commit
40cb41a16c
8 changed files with 212 additions and 187 deletions
|
@ -18,20 +18,22 @@ class Editor;
|
|||
class SuggestionDisplay {
|
||||
public:
|
||||
virtual ~SuggestionDisplay() = default;
|
||||
virtual void display(SuggestionManager const&) = 0;
|
||||
virtual bool cleanup() = 0;
|
||||
virtual ErrorOr<void> display(SuggestionManager const&) = 0;
|
||||
virtual ErrorOr<bool> cleanup() = 0;
|
||||
virtual void finish() = 0;
|
||||
virtual void set_initial_prompt_lines(size_t) = 0;
|
||||
|
||||
void redisplay(SuggestionManager const& manager, size_t lines, size_t columns)
|
||||
ErrorOr<void> redisplay(SuggestionManager const& manager, size_t lines, size_t columns)
|
||||
{
|
||||
if (m_is_showing_suggestions) {
|
||||
cleanup();
|
||||
TRY(cleanup());
|
||||
set_vt_size(lines, columns);
|
||||
display(manager);
|
||||
TRY(display(manager));
|
||||
} else {
|
||||
set_vt_size(lines, columns);
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual void set_vt_size(size_t lines, size_t columns) = 0;
|
||||
|
@ -62,8 +64,8 @@ public:
|
|||
{
|
||||
}
|
||||
virtual ~XtermSuggestionDisplay() override = default;
|
||||
virtual void display(SuggestionManager const&) override;
|
||||
virtual bool cleanup() override;
|
||||
virtual ErrorOr<void> display(SuggestionManager const&) override;
|
||||
virtual ErrorOr<bool> cleanup() override;
|
||||
virtual void finish() override
|
||||
{
|
||||
m_pages.clear();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue