#pragma once

struct lua_State;

namespace mini
{
    namespace lua
    {
        namespace debug
        {
            #if defined(DEBUG) && defined(__linux__)
            bool call_and_handle_exceptions(lua_State* L);
            void init(lua_State* L);
            void kill_thread();
            void process_commands(lua_State* L);
            void toggle(lua_State* L);
            void enable(lua_State* L);
            void disable(lua_State* L);
            bool is_enabled();
            #else
            bool call_and_handle_exceptions(lua_State* L) { return true; };
            void init(lua_State* L) {};
            void kill_thread() {};
            void process_commands(lua_State* L) {};
            void toggle(lua_State* L) {};
            void enable(lua_State* L) {};
            void disable(lua_State* L) {};
            bool is_enabled() { return false; };
            #endif
        }

    }
}
