about summary refs log tree commit diff stats
path: root/apps/tile/main.mu
diff options
context:
space:
mode:
Diffstat (limited to 'apps/tile/main.mu')
-rw-r--r--apps/tile/main.mu45
1 files changed, 7 insertions, 38 deletions
diff --git a/apps/tile/main.mu b/apps/tile/main.mu
index 7c7065fc..fdbb69ca 100644
--- a/apps/tile/main.mu
+++ b/apps/tile/main.mu
@@ -15,7 +15,7 @@ fn main args-on-stack: (addr array addr array byte) -> exit-status/ebx: int {
       break-if-!=
       var tmp/ecx: (addr addr array byte) <- index args, 1
       var tmp2/eax: boolean <- string-equal? *tmp, "test"
-      compare tmp2, 0
+      compare tmp2, 0  # false
       {
         break-if-=
         run-tests
@@ -33,46 +33,15 @@ fn main args-on-stack: (addr array addr array byte) -> exit-status/ebx: int {
 fn interactive args: (addr array addr array byte) -> exit-status/ebx: int {
   enable-screen-grid-mode
   enable-keyboard-immediate-mode
-  var buf-storage: gap-buffer
-  var buf/esi: (addr gap-buffer) <- address buf-storage
-  initialize-gap-buffer buf
-  #
-  {
-    render 0, buf
-    var key/eax: byte <- read-key-from-real-keyboard
-    compare key, 0x71  # 'q'
-    break-if-=
-    var g/ecx: grapheme <- copy key
-    add-grapheme buf, g
-    loop
-  }
+  var env-storage: environment
+  var env/esi: (addr environment) <- address env-storage
+  initialize-environment env
+  render-loop env
   enable-keyboard-type-mode
   enable-screen-type-mode
   exit-status <- copy 0
 }
 
-fn render screen: (addr screen), buf: (addr gap-buffer) {
-  clear-screen screen
-  var nrows/eax: int <- copy 0
-  var ncols/ecx: int <- copy 0
-  nrows, ncols <- screen-size screen
-  var midcol/edx: int <- copy ncols
-  midcol <- shift-right 1
-  draw-vertical-line screen, 1, nrows, midcol
-  var midrow/ebx: int <- copy 0
-  {
-    var tmp/eax: int <- try-divide nrows, 3
-    midrow <- copy tmp
-  }
-  var left-col/edx: int <- copy midcol
-  left-col <- increment
-  draw-horizontal-line screen, midrow, left-col, ncols
-  # initialize cursor
-  var start-row/ebx: int <- copy midrow
-  start-row <- subtract 3
-  var start-col/edx: int <- copy left-col
-  start-col <- increment
-  move-cursor screen, start-row, start-col
-  #
-  render-gap-buffer screen, buf
+fn real-grapheme? g: grapheme -> result/eax: boolean {
+  result <- copy 1  # true
 }