Files
integration/luprex/cpp/luaconsole.hpp

46 lines
1.0 KiB
C++
Raw Normal View History

2021-01-23 16:10:29 -05:00
//////////////////////////////////////////////////////
//
// LuaConsole:
//
// Parses lines of text, and tells you if you have a valid
// lua expression.
//
//////////////////////////////////////////////////////
#ifndef LUACONSOLE_HPP
#define LUACONSOLE_HPP
#include <string>
#include "luastack.hpp"
class LuaConsole {
public:
enum {
STATE_INCOMPLETE, // We need more input text.
STATE_COMPLETE, // We have a valid lua expression.
STATE_SLASHCOMMAND, // We have a slash-command.
STATE_SYNTAX, // We have a syntax error.
};
private:
lua_State *lua_state_;
int state_;
int lines_;
std::string expression_;
std::string syntax_;
public:
LuaConsole();
~LuaConsole();
int state() const { return state_; }
int lines() const { return lines_; }
const std::string &expression() const { return expression_; }
const std::string &syntax() const { return syntax_; }
void add(std::string line);
void add_stdin();
void clear();
};
#endif //LUACONSOLE_HPP