summaryrefslogtreecommitdiff
path: root/src/minibuffer.h
diff options
context:
space:
mode:
authorAlbert Cervin <albert@acervin.com>2022-12-06 12:58:51 +0100
committerAlbert Cervin <albert@acervin.com>2022-12-06 12:58:51 +0100
commit66d50bd7b04922a91fbe3e4d49c68070ec1a7b14 (patch)
tree87600e117f4262555bcc875b09e050536cbee492 /src/minibuffer.h
parent78410b18e5d4d117b714eb9f34c689920c32a985 (diff)
downloaddged-66d50bd7b04922a91fbe3e4d49c68070ec1a7b14.tar.gz
dged-66d50bd7b04922a91fbe3e4d49c68070ec1a7b14.tar.xz
dged-66d50bd7b04922a91fbe3e4d49c68070ec1a7b14.zip
Add minibuffer
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();