mirror of
https://github.com/monero-project/monero.git
synced 2025-05-06 11:55:03 -04:00
Add various readline related fixes
- Add missing unbind key - Fix colored messages - Add command completion - Preserve last command input - Fix cursor position issues - Fix trailing whitespace in commands - Synchronize set_prompt
This commit is contained in:
parent
605ad09a3e
commit
6955976b2d
4 changed files with 76 additions and 18 deletions
|
@ -3,6 +3,8 @@
|
|||
#include <streambuf>
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
|
||||
namespace rdln
|
||||
{
|
||||
|
@ -19,12 +21,23 @@ namespace rdln
|
|||
}
|
||||
void get_line(std::string& line) const;
|
||||
void set_prompt(const std::string& prompt);
|
||||
static void add_completion(const std::string& command)
|
||||
{
|
||||
if(std::find(completion_commands.begin(), completion_commands.end(), command) != completion_commands.end())
|
||||
return;
|
||||
completion_commands.push_back(command);
|
||||
}
|
||||
static const std::vector<std::string>& get_completions()
|
||||
{
|
||||
return completion_commands;
|
||||
}
|
||||
|
||||
protected:
|
||||
virtual int sync();
|
||||
|
||||
private:
|
||||
std::streambuf* m_cout_buf;
|
||||
static std::vector<std::string> completion_commands;
|
||||
};
|
||||
|
||||
class suspend_readline
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue