#ifndef LUAMAIN_H
#define LUAMAIN_H
#include <string>
using std::string;




#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"


#include "lune.h"
#include "luaxx.hpp"

namespace lua
{
    //global lua state singleton
    class glua
    {
    public:
        static state &Get();
    private:
        glua();
        static glua *ptr;
        state mystate;
    };
    //registers basic lua commands
    void RegBasics(lua::state &L);
    //dumps lua function trace, useless unless called from lua.
    string DebugDump(lua::state &L);
    //register functions, first registers into global scope, second into current table
    void RegFunctions(lua::state &L,luaL_Reg const *arr);
    void RegFunctionsLocal(lua::state &L,luaL_Reg const *arr);
}



#endif // LUAMAIN_H