about summary refs log tree commit diff stats
path: root/shell/gap-buffer.mu
diff options
context:
space:
mode:
Diffstat (limited to 'shell/gap-buffer.mu')
-rw-r--r--shell/gap-buffer.mu8
1 files changed, 8 insertions, 0 deletions
diff --git a/shell/gap-buffer.mu b/shell/gap-buffer.mu
index f4ddc7dd..030bf837 100644
--- a/shell/gap-buffer.mu
+++ b/shell/gap-buffer.mu
@@ -64,6 +64,14 @@ fn emit-gap-buffer _self: (addr gap-buffer), out: (addr stream byte) {
   emit-stack-from-top right, out
 }
 
+fn append-gap-buffer _self: (addr gap-buffer), out: (addr stream byte) {
+  var self/esi: (addr gap-buffer) <- copy _self
+  var left/eax: (addr grapheme-stack) <- get self, left
+  emit-stack-from-bottom left, out
+  var right/eax: (addr grapheme-stack) <- get self, right
+  emit-stack-from-top right, out
+}
+
 # dump stack from bottom to top
 fn emit-stack-from-bottom _self: (addr grapheme-stack), out: (addr stream byte) {
   var self/esi: (addr grapheme-stack) <- copy _self