summaryrefslogtreecommitdiff
path: root/llama.cpp/common/console.h
diff options
context:
space:
mode:
Diffstat (limited to 'llama.cpp/common/console.h')
-rw-r--r--llama.cpp/common/console.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/llama.cpp/common/console.h b/llama.cpp/common/console.h
new file mode 100644
index 0000000..fad6d39
--- /dev/null
+++ b/llama.cpp/common/console.h
@@ -0,0 +1,41 @@
+// Console functions
+
+#pragma once
+
+#include "common.h"
+
+#include <string>
+
+enum display_type {
+ DISPLAY_TYPE_RESET = 0,
+ DISPLAY_TYPE_INFO,
+ DISPLAY_TYPE_PROMPT,
+ DISPLAY_TYPE_REASONING,
+ DISPLAY_TYPE_USER_INPUT,
+ DISPLAY_TYPE_ERROR
+};
+
+namespace console {
+ void init(bool use_simple_io, bool use_advanced_display);
+ void cleanup();
+ void set_display(display_type display);
+ bool readline(std::string & line, bool multiline_input);
+
+ namespace spinner {
+ void start();
+ void stop();
+ }
+
+ // note: the logging API below output directly to stdout
+ // it can negatively impact performance if used on inference thread
+ // only use in in a dedicated CLI thread
+ // for logging in inference thread, use log.h instead
+
+ LLAMA_COMMON_ATTRIBUTE_FORMAT(1, 2)
+ void log(const char * fmt, ...);
+
+ LLAMA_COMMON_ATTRIBUTE_FORMAT(1, 2)
+ void error(const char * fmt, ...);
+
+ void flush();
+}