summaryrefslogtreecommitdiff
path: root/src/minibuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/minibuffer.h')
-rw-r--r--src/minibuffer.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/minibuffer.h b/src/minibuffer.h
new file mode 100644
index 0000000..55eeb7e
--- /dev/null
+++ b/src/minibuffer.h
@@ -0,0 +1,30 @@
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <time.h>
+
+struct minibuffer_update {
+ struct render_cmd *cmds;
+ uint64_t ncmds;
+};
+
+struct minibuffer {
+ uint8_t *buffer;
+ uint32_t capacity;
+ uint32_t nbytes;
+ uint32_t row;
+ bool dirty;
+ struct timespec expires;
+};
+
+typedef void *(alloc_fn)(size_t);
+
+void minibuffer_init(uint32_t row);
+void minibuffer_destroy();
+
+struct minibuffer_update minibuffer_update(alloc_fn frame_alloc);
+
+void minibuffer_echo(const char *fmt, ...);
+void minibuffer_echo_timeout(uint32_t timeout, const char *fmt, ...);
+void minibuffer_clear();
+bool minibuffer_displaying();