#ifndef RAVA_REPL_INPUT_H
#define RAVA_REPL_INPUT_H
#include "repl_types.h"
typedef struct {
char *buffer;
size_t size;
size_t capacity;
int brace_depth;
int bracket_depth;
int paren_depth;
bool in_string;
char string_delimiter;
int line_count;
} RavaREPLInput_t;
RavaREPLInput_t* rava_repl_input_create(void);
void rava_repl_input_destroy(RavaREPLInput_t *input);
void rava_repl_input_reset(RavaREPLInput_t *input);
RavaREPLInputState_e rava_repl_input_append(RavaREPLInput_t *input, const char *line);
const char* rava_repl_input_get(RavaREPLInput_t *input);
bool rava_repl_input_is_empty(RavaREPLInput_t *input);
RavaREPLCodeType_e rava_repl_input_detect_type(const char *code);
#endif