From dd60a1d73c8017fd3d80ccf91e4549fc47a90760 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Mon, 16 Nov 2020 20:44:02 -0800 Subject: 7252 --- html/apps/tile/gap-buffer.mu.html | 152 +++++++++++++++++++------------------- 1 file changed, 76 insertions(+), 76 deletions(-) (limited to 'html/apps/tile/gap-buffer.mu.html') diff --git a/html/apps/tile/gap-buffer.mu.html b/html/apps/tile/gap-buffer.mu.html index 873992ef..028667b1 100644 --- a/html/apps/tile/gap-buffer.mu.html +++ b/html/apps/tile/gap-buffer.mu.html @@ -58,16 +58,16 @@ if ('onhashchange' in window) { https://github.com/akkartik/mu/blob/master/apps/tile/gap-buffer.mu
   1 type gap-buffer {
-  2   left: grapheme-stack
-  3   right: grapheme-stack
+  2   left: grapheme-stack
+  3   right: grapheme-stack
   4 }
   5 
   6 fn initialize-gap-buffer _self: (addr gap-buffer) {
   7   var self/esi: (addr gap-buffer) <- copy _self
-  8   var left/eax: (addr grapheme-stack) <- get self, left
-  9   initialize-grapheme-stack left, 0x10  # max-word-size
- 10   var right/eax: (addr grapheme-stack) <- get self, right
- 11   initialize-grapheme-stack right, 0x10  # max-word-size
+  8   var left/eax: (addr grapheme-stack) <- get self, left
+  9   initialize-grapheme-stack left, 0x10  # max-word-size
+ 10   var right/eax: (addr grapheme-stack) <- get self, right
+ 11   initialize-grapheme-stack right, 0x10  # max-word-size
  12 }
  13 
  14 # just for tests
@@ -96,15 +96,15 @@ if ('onhashchange' in window) {
  37 fn emit-gap-buffer _self: (addr gap-buffer), out: (addr stream byte) {
  38   var self/esi: (addr gap-buffer) <- copy _self
  39   clear-stream out
- 40   var left/eax: (addr grapheme-stack) <- get self, left
+ 40   var left/eax: (addr grapheme-stack) <- get self, left
  41   emit-stack-from-bottom left, out
- 42   var right/eax: (addr grapheme-stack) <- get self, right
+ 42   var right/eax: (addr grapheme-stack) <- get self, right
  43   emit-stack-from-top right, out
  44 }
  45 
  46 # dump stack from bottom to top
- 47 fn emit-stack-from-bottom _self: (addr grapheme-stack), out: (addr stream byte) {
- 48   var self/esi: (addr grapheme-stack) <- copy _self
+ 47 fn emit-stack-from-bottom _self: (addr grapheme-stack), out: (addr stream byte) {
+ 48   var self/esi: (addr grapheme-stack) <- copy _self
  49   var data-ah/edi: (addr handle array grapheme) <- get self, data
  50   var _data/eax: (addr array grapheme) <- lookup *data-ah
  51   var data/edi: (addr array grapheme) <- copy _data
@@ -121,8 +121,8 @@ if ('onhashchange' in window) {
  62 }
  63 
  64 # dump stack from top to bottom
- 65 fn emit-stack-from-top _self: (addr grapheme-stack), out: (addr stream byte) {
- 66   var self/esi: (addr grapheme-stack) <- copy _self
+ 65 fn emit-stack-from-top _self: (addr grapheme-stack), out: (addr stream byte) {
+ 66   var self/esi: (addr grapheme-stack) <- copy _self
  67   var data-ah/edi: (addr handle array grapheme) <- get self, data
  68   var _data/eax: (addr array grapheme) <- lookup *data-ah
  69   var data/edi: (addr array grapheme) <- copy _data
@@ -141,28 +141,28 @@ if ('onhashchange' in window) {
  82 
  83 fn render-gap-buffer screen: (addr screen), _gap: (addr gap-buffer) {
  84   var gap/esi: (addr gap-buffer) <- copy _gap
- 85   var left/eax: (addr grapheme-stack) <- get gap, left
- 86   render-stack-from-bottom left, screen
- 87   var right/eax: (addr grapheme-stack) <- get gap, right
- 88   render-stack-from-top right, screen
+ 85   var left/eax: (addr grapheme-stack) <- get gap, left
+ 86   render-stack-from-bottom left, screen
+ 87   var right/eax: (addr grapheme-stack) <- get gap, right
+ 88   render-stack-from-top right, screen
  89 }
  90 
  91 fn gap-buffer-length _gap: (addr gap-buffer) -> _/eax: int {
  92   var gap/esi: (addr gap-buffer) <- copy _gap
- 93   var left/eax: (addr grapheme-stack) <- get gap, left
+ 93   var left/eax: (addr grapheme-stack) <- get gap, left
  94   var tmp/eax: (addr int) <- get left, top
  95   var left-length/ecx: int <- copy *tmp
- 96   var right/esi: (addr grapheme-stack) <- get gap, right
+ 96   var right/esi: (addr grapheme-stack) <- get gap, right
  97   tmp <- get right, top
- 98   var result/eax: int <- copy *tmp
- 99   result <- add left-length
-100   return result
+ 98   var result/eax: int <- copy *tmp
+ 99   result <- add left-length
+100   return result
 101 }
 102 
 103 fn add-grapheme-at-gap _self: (addr gap-buffer), g: grapheme {
 104   var self/esi: (addr gap-buffer) <- copy _self
-105   var left/eax: (addr grapheme-stack) <- get self, left
-106   push-grapheme-stack left, g
+105   var left/eax: (addr grapheme-stack) <- get self, left
+106   push-grapheme-stack left, g
 107 }
 108 
 109 fn gap-to-start self: (addr gap-buffer) {
@@ -183,28 +183,28 @@ if ('onhashchange' in window) {
 124 
 125 fn gap-at-start? _self: (addr gap-buffer) -> _/eax: boolean {
 126   var self/esi: (addr gap-buffer) <- copy _self
-127   var left/eax: (addr grapheme-stack) <- get self, left
-128   var result/eax: boolean <- grapheme-stack-empty? left
-129   return result
+127   var left/eax: (addr grapheme-stack) <- get self, left
+128   var result/eax: boolean <- grapheme-stack-empty? left
+129   return result
 130 }
 131 
 132 fn gap-at-end? _self: (addr gap-buffer) -> _/eax: boolean {
 133   var self/esi: (addr gap-buffer) <- copy _self
-134   var right/eax: (addr grapheme-stack) <- get self, right
-135   var result/eax: boolean <- grapheme-stack-empty? right
-136   return result
+134   var right/eax: (addr grapheme-stack) <- get self, right
+135   var result/eax: boolean <- grapheme-stack-empty? right
+136   return result
 137 }
 138 
 139 fn gap-right _self: (addr gap-buffer) -> _/eax: grapheme {
 140   var self/esi: (addr gap-buffer) <- copy _self
 141   var g/eax: grapheme <- copy 0
-142   var right/ecx: (addr grapheme-stack) <- get self, right
-143   g <- pop-grapheme-stack right
+142   var right/ecx: (addr grapheme-stack) <- get self, right
+143   g <- pop-grapheme-stack right
 144   compare g, -1
 145   {
 146     break-if-=
-147     var left/ecx: (addr grapheme-stack) <- get self, left
-148     push-grapheme-stack left, g
+147     var left/ecx: (addr grapheme-stack) <- get self, left
+148     push-grapheme-stack left, g
 149   }
 150   return g
 151 }
@@ -213,30 +213,30 @@ if ('onhashchange' in window) {
 154   var self/esi: (addr gap-buffer) <- copy _self
 155   var g/eax: grapheme <- copy 0
 156   {
-157     var left/ecx: (addr grapheme-stack) <- get self, left
-158     g <- pop-grapheme-stack left
+157     var left/ecx: (addr grapheme-stack) <- get self, left
+158     g <- pop-grapheme-stack left
 159   }
 160   compare g, -1
 161   {
 162     break-if-=
-163     var right/ecx: (addr grapheme-stack) <- get self, right
-164     push-grapheme-stack right, g
+163     var right/ecx: (addr grapheme-stack) <- get self, right
+164     push-grapheme-stack right, g
 165   }
 166   return g
 167 }
 168 
 169 fn gap-index _self: (addr gap-buffer) -> _/eax: int {
 170   var self/eax: (addr gap-buffer) <- copy _self
-171   var left/eax: (addr grapheme-stack) <- get self, left
+171   var left/eax: (addr grapheme-stack) <- get self, left
 172   var top-addr/eax: (addr int) <- get left, top
-173   var result/eax: int <- copy *top-addr
-174   return result
+173   var result/eax: int <- copy *top-addr
+174   return result
 175 }
 176 
 177 fn first-grapheme-in-gap-buffer _self: (addr gap-buffer) -> _/eax: grapheme {
 178   var self/esi: (addr gap-buffer) <- copy _self
 179   # try to read from left
-180   var left/eax: (addr grapheme-stack) <- get self, left
+180   var left/eax: (addr grapheme-stack) <- get self, left
 181   var top-addr/ecx: (addr int) <- get left, top
 182   compare *top-addr, 0
 183   {
@@ -247,7 +247,7 @@ if ('onhashchange' in window) {
 188     return *result-addr
 189   }
 190   # try to read from right
-191   var right/eax: (addr grapheme-stack) <- get self, right
+191   var right/eax: (addr grapheme-stack) <- get self, right
 192   top-addr <- get right, top
 193   compare *top-addr, 0
 194   {
@@ -266,14 +266,14 @@ if ('onhashchange' in window) {
 207 fn grapheme-before-cursor-in-gap-buffer _self: (addr gap-buffer) -> _/eax: grapheme {
 208   var self/esi: (addr gap-buffer) <- copy _self
 209   # try to read from left
-210   var left/ecx: (addr grapheme-stack) <- get self, left
+210   var left/ecx: (addr grapheme-stack) <- get self, left
 211   var top-addr/edx: (addr int) <- get left, top
 212   compare *top-addr, 0
 213   {
 214     break-if-<=
-215     var result/eax: grapheme <- pop-grapheme-stack left
-216     push-grapheme-stack left, result
-217     return result
+215     var result/eax: grapheme <- pop-grapheme-stack left
+216     push-grapheme-stack left, result
+217     return result
 218   }
 219   # give up
 220   return -1
@@ -281,15 +281,15 @@ if ('onhashchange' in window) {
 222 
 223 fn delete-before-gap _self: (addr gap-buffer) {
 224   var self/eax: (addr gap-buffer) <- copy _self
-225   var left/eax: (addr grapheme-stack) <- get self, left
-226   var dummy/eax: grapheme <- pop-grapheme-stack left
+225   var left/eax: (addr grapheme-stack) <- get self, left
+226   var dummy/eax: grapheme <- pop-grapheme-stack left
 227 }
 228 
 229 fn pop-after-gap _self: (addr gap-buffer) -> _/eax: grapheme {
 230   var self/eax: (addr gap-buffer) <- copy _self
-231   var right/eax: (addr grapheme-stack) <- get self, right
-232   var result/eax: grapheme <- pop-grapheme-stack right
-233   return result
+231   var right/eax: (addr grapheme-stack) <- get self, right
+232   var result/eax: grapheme <- pop-grapheme-stack right
+233   return result
 234 }
 235 
 236 fn gap-buffer-equal? _self: (addr gap-buffer), s: (addr array byte) -> _/eax: boolean {
@@ -301,24 +301,24 @@ if ('onhashchange' in window) {
 242   var expected-stream/ecx: (addr stream byte) <- address stream-storage
 243   write expected-stream, s
 244   # compare left
-245   var left/edx: (addr grapheme-stack) <- get self, left
-246   var result/eax: boolean <- prefix-match? left, expected-stream
-247   compare result, 0  # false
+245   var left/edx: (addr grapheme-stack) <- get self, left
+246   var result/eax: boolean <- prefix-match? left, expected-stream
+247   compare result, 0  # false
 248   {
 249     break-if-!=
-250     return result
+250     return result
 251   }
 252   # compare right
-253   var right/edx: (addr grapheme-stack) <- get self, right
-254   result <- suffix-match? right, expected-stream
-255   compare result, 0  # false
+253   var right/edx: (addr grapheme-stack) <- get self, right
+254   result <- suffix-match? right, expected-stream
+255   compare result, 0  # false
 256   {
 257     break-if-!=
-258     return result
+258     return result
 259   }
 260   # ensure there's nothing left over
-261   result <- stream-empty? expected-stream
-262   return result
+261   result <- stream-empty? expected-stream
+262   return result
 263 }
 264 
 265 fn test-gap-buffer-equal-from-end? {
@@ -332,8 +332,8 @@ if ('onhashchange' in window) {
 273   add-grapheme-at-gap g, c
 274   # gap is at end (right is empty)
 275   var _result/eax: boolean <- gap-buffer-equal? g, "aaa"
-276   var result/eax: int <- copy _result
-277   check-ints-equal result, 1, "F - test-gap-buffer-equal-from-end?"
+276   var result/eax: int <- copy _result
+277   check-ints-equal result, 1, "F - test-gap-buffer-equal-from-end?"
 278 }
 279 
 280 fn test-gap-buffer-equal-from-middle? {
@@ -348,8 +348,8 @@ if ('onhashchange' in window) {
 289   var dummy/eax: grapheme <- gap-left g
 290   # gap is in the middle
 291   var _result/eax: boolean <- gap-buffer-equal? g, "aaa"
-292   var result/eax: int <- copy _result
-293   check-ints-equal result, 1, "F - test-gap-buffer-equal-from-middle?"
+292   var result/eax: int <- copy _result
+293   check-ints-equal result, 1, "F - test-gap-buffer-equal-from-middle?"
 294 }
 295 
 296 fn test-gap-buffer-equal-from-start? {
@@ -366,8 +366,8 @@ if ('onhashchange' in window) {
 307   dummy <- gap-left g
 308   # gap is at the start
 309   var _result/eax: boolean <- gap-buffer-equal? g, "aaa"
-310   var result/eax: int <- copy _result
-311   check-ints-equal result, 1, "F - test-gap-buffer-equal-from-start?"
+310   var result/eax: int <- copy _result
+311   check-ints-equal result, 1, "F - test-gap-buffer-equal-from-start?"
 312 }
 313 
 314 fn copy-gap-buffer _src-ah: (addr handle gap-buffer), _dest-ah: (addr handle gap-buffer) {
@@ -379,26 +379,26 @@ if ('onhashchange' in window) {
 320   var _dest-a/eax: (addr gap-buffer) <- lookup *dest-ah
 321   var dest-a/edi: (addr gap-buffer) <- copy _dest-a
 322   # copy left grapheme-stack
-323   var src/ecx: (addr grapheme-stack) <- get src-a, left
-324   var dest/edx: (addr grapheme-stack) <- get dest-a, left
-325   copy-grapheme-stack src, dest
+323   var src/ecx: (addr grapheme-stack) <- get src-a, left
+324   var dest/edx: (addr grapheme-stack) <- get dest-a, left
+325   copy-grapheme-stack src, dest
 326   # copy right grapheme-stack
 327   src <- get src-a, right
 328   dest <- get dest-a, right
-329   copy-grapheme-stack src, dest
+329   copy-grapheme-stack src, dest
 330 }
 331 
 332 fn gap-buffer-is-decimal-integer? _self: (addr gap-buffer) -> _/eax: boolean {
 333   var self/esi: (addr gap-buffer) <- copy _self
-334   var curr/ecx: (addr grapheme-stack) <- get self, left
-335   var result/eax: boolean <- grapheme-stack-is-decimal-integer? curr
+334   var curr/ecx: (addr grapheme-stack) <- get self, left
+335   var result/eax: boolean <- grapheme-stack-is-decimal-integer? curr
 336   {
-337     compare result, 0  # false
+337     compare result, 0  # false
 338     break-if-=
 339     curr <- get self, right
-340     result <- grapheme-stack-is-decimal-integer? curr
+340     result <- grapheme-stack-is-decimal-integer? curr
 341   }
-342   return result
+342   return result
 343 }
 
-- cgit 1.4.1-2-gfad0