mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 03:47:35 +00:00
Shell: Move line editing to a separate class.
To be clear, there isn't really any line editing yet. But there is going to be, so let's have it in its own class.
This commit is contained in:
parent
fe73543d41
commit
ba7364b43b
6 changed files with 167 additions and 100 deletions
23
Shell/LineEditor.h
Normal file
23
Shell/LineEditor.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
#pragma once
|
||||
|
||||
#include <AK/AKString.h>
|
||||
#include <AK/Vector.h>
|
||||
|
||||
class LineEditor {
|
||||
public:
|
||||
LineEditor();
|
||||
~LineEditor();
|
||||
|
||||
String get_line();
|
||||
|
||||
void add_to_history(const String&);
|
||||
const Vector<String>& history() const { return m_history; }
|
||||
|
||||
private:
|
||||
Vector<char, 1024> m_buffer;
|
||||
int m_cursor { 0 };
|
||||
|
||||
// FIXME: This should be something more take_first()-friendly.
|
||||
Vector<String> m_history;
|
||||
int m_history_capacity { 100 };
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue