1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 22:27:35 +00:00

LibLine: Correctly display suggestions on multiline prompts

This commit is contained in:
AnotherTest 2020-06-29 20:08:02 +04:30 committed by Andreas Kling
parent 0fc8931d5f
commit f20becf71b
5 changed files with 86 additions and 27 deletions

View file

@ -28,6 +28,7 @@
#include <AK/Forward.h>
#include <AK/String.h>
#include <LibLine/StringMetrics.h>
#include <LibLine/SuggestionManager.h>
#include <stdlib.h>
@ -61,9 +62,10 @@ protected:
class XtermSuggestionDisplay : public SuggestionDisplay {
public:
XtermSuggestionDisplay(size_t lines, size_t columns)
XtermSuggestionDisplay(size_t lines, size_t columns, const StringMetrics& prompt_metrics)
: m_num_lines(lines)
, m_num_columns(columns)
, m_prompt_metrics(prompt_metrics)
{
}
virtual ~XtermSuggestionDisplay() override { }
@ -92,7 +94,7 @@ private:
size_t m_num_lines { 0 };
size_t m_num_columns { 0 };
size_t m_prompt_lines_at_suggestion_initiation { 0 };
size_t m_prompt_length { 0 };
const StringMetrics& m_prompt_metrics;
struct PageRange {
size_t start;