lib/core: remove ropes intrude import in stream
[nit.git] / lib / readline.nit
index 783e4e4..6532cb4 100644 (file)
 # GNU readline library wrapper
 module readline is ldflags "-lreadline"
 
+import prompt
+
 in "C" `{
        #include <readline/readline.h>
        #include <readline/history.h>
 `}
 
-private fun native_readline(prompt: NativeString): NativeString `{
+private fun native_readline(prompt: CString): CString `{
        return readline(prompt);
 `}
 
-private fun native_add_history(data: NativeString) `{
+private fun native_add_history(data: CString) `{
        if (data == NULL) return;
        add_history(data);
 `}
@@ -56,3 +58,7 @@ end
 
 # Adds the data String to the history no matter what it contains
 fun add_history(data: String) do native_add_history data.to_cstring
+
+redef fun prompt(prompt, add_history) do return readline(prompt.to_s, add_history)
+
+redef fun prompt_add_history(line) do native_add_history(line.to_cstring)