Add (read), improve error reporting
diff --git a/src/lisp/plat/linux.c b/src/lisp/plat/linux.c
index b71f342..b24b3f7 100644
--- a/src/lisp/plat/linux.c
+++ b/src/lisp/plat/linux.c
@@ -3,6 +3,8 @@
#include <string.h>
#include <sys/mman.h>
#include <unistd.h>
+#include <readline/readline.h>
+#include <readline/history.h>
void *malloc_aligned(size_t size)
{
@@ -39,3 +41,13 @@
{
return access(path, F_OK) == 0;
}
+
+char *read_input_line(char *prompt)
+{
+ return readline(prompt);
+}
+
+void add_line_to_history(char *line)
+{
+ add_history(line);
+}
diff --git a/src/lisp/plat/plat.h b/src/lisp/plat/plat.h
index 1c4216a..bcd5b1a 100644
--- a/src/lisp/plat/plat.h
+++ b/src/lisp/plat/plat.h
@@ -18,4 +18,7 @@
extern ssize_t readlink(const char *pathname, char *buf, size_t buf_size);
bool file_exists(const char *path);
+char *read_input_line(char *prompt);
+void add_line_to_history(char *line);
+
#define THREAD_LOCAL