mirror of
https://git.wownero.com/wownero/wownero.git
synced 2024-08-15 01:03:23 +00:00
Merge pull request #2159
6955976b
Add various readline related fixes (Jethro Grassie)
This commit is contained in:
commit
ab594cfee9
4 changed files with 76 additions and 18 deletions
|
@ -374,6 +374,9 @@ namespace epee
|
|||
}
|
||||
else
|
||||
{
|
||||
#ifdef HAVE_READLINE
|
||||
rdln::suspend_readline pause_readline;
|
||||
#endif
|
||||
std::cout << "unknown command: " << command << std::endl;
|
||||
std::cout << usage;
|
||||
}
|
||||
|
@ -477,6 +480,9 @@ namespace epee
|
|||
lookup::mapped_type & vt = m_command_handlers[cmd];
|
||||
vt.first = hndlr;
|
||||
vt.second = usage;
|
||||
#ifdef HAVE_READLINE
|
||||
rdln::readline_buffer::add_completion(cmd);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool process_command_vec(const std::vector<std::string>& cmd)
|
||||
|
|
|
@ -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