about summary refs log tree commit diff stats
path: root/edit.mu
diff options
context:
space:
mode:
Diffstat (limited to 'edit.mu')
-rw-r--r--edit.mu16
1 files changed, 14 insertions, 2 deletions
diff --git a/edit.mu b/edit.mu
index 545bc90b..d42f2306 100644
--- a/edit.mu
+++ b/edit.mu
@@ -1133,8 +1133,8 @@ recipe render-all [
   local-scope
   screen:address <- next-ingredient
   env:address:programming-environment-data <- next-ingredient
-  screen:address <- render-recipes screen:address, env:address:programming-environment-data
-  screen:address <- render-sandbox-side screen:address, env:address:programming-environment-data
+  screen:address <- render-recipes screen:address, env:address:programming-environment-data, 1:literal/clear-below
+  screen:address <- render-sandbox-side screen:address, env:address:programming-environment-data, 1:literal/clear-below
   recipes:address:editor-data <- get env:address:programming-environment-data/deref, recipes:offset
   current-sandbox:address:editor-data <- get env:address:programming-environment-data/deref, current-sandbox:offset
   sandbox-in-focus?:boolean <- get env:address:programming-environment-data/deref, sandbox-in-focus?:offset
@@ -1171,6 +1171,7 @@ recipe render-recipes [
   local-scope
   screen:address <- next-ingredient
   env:address:programming-environment-data <- next-ingredient
+  clear:boolean <- next-ingredient
   recipes:address:editor-data <- get env:address:programming-environment-data/deref, recipes:offset
   # render recipes
   left:number <- get recipes:address:editor-data/deref, left:offset
@@ -1193,6 +1194,17 @@ recipe render-recipes [
   row:number <- add row:number, 1:literal
   move-cursor screen:address, row:number, left:number
   clear-line-delimited screen:address, left:number, right:number
+  # clear rest of screen in this column, if requested
+  reply-unless clear:boolean, screen:address/same-as-ingredient:0
+  screen-height:number <- screen-height screen:address
+  {
+    at-bottom-of-screen?:boolean <- greater-or-equal row:number, screen-height:number
+    break-if at-bottom-of-screen?:boolean
+    move-cursor screen:address, row:number, left:number
+    clear-line-delimited screen:address, left:number, right:number
+    row:number <- add row:number, 1:literal
+    loop
+  }
   reply screen:address/same-as-ingredient:0
 ]