#ifndef RAVA_REPL_H #define RAVA_REPL_H #include "repl_types.h" #include "repl_session.h" #include "repl_input.h" #include "repl_executor.h" #include "repl_commands.h" #include "repl_output.h" #include "repl_history.h" typedef struct { RavaREPLSession_t *session; RavaREPLInput_t *input; RavaREPLExecutor_t *executor; bool running; bool interactive; } RavaREPL_t; RavaREPL_t* rava_repl_create(void); void rava_repl_destroy(RavaREPL_t *repl); int rava_repl_run(void); bool rava_repl_process_line(RavaREPL_t *repl, const char *line); void rava_repl_print_banner(void); void rava_repl_print_prompt(RavaREPL_t *repl, bool continuation); #endif