diff options
Diffstat (limited to 'edit/004-programming-environment.mu')
-rw-r--r-- | edit/004-programming-environment.mu | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/edit/004-programming-environment.mu b/edit/004-programming-environment.mu index 75d14245..e8ff90d8 100644 --- a/edit/004-programming-environment.mu +++ b/edit/004-programming-environment.mu @@ -3,7 +3,7 @@ # Consists of one editor on the left for recipes and one on the right for the # sandbox. -recipe! main [ +def! main [ local-scope open-console initial-recipe:address:shared:array:character <- restore [recipes.mu] @@ -21,7 +21,7 @@ container programming-environment-data [ sandbox-in-focus?:boolean # false => cursor in recipes; true => cursor in current-sandbox ] -recipe new-programming-environment screen:address:shared:screen, initial-recipe-contents:address:shared:array:character, initial-sandbox-contents:address:shared:array:character -> result:address:shared:programming-environment-data, screen:address:shared:screen [ +def new-programming-environment screen:address:shared:screen, initial-recipe-contents:address:shared:array:character, initial-sandbox-contents:address:shared:array:character -> result:address:shared:programming-environment-data, screen:address:shared:screen [ local-scope load-ingredients width:number <- screen-width screen @@ -48,7 +48,7 @@ recipe new-programming-environment screen:address:shared:screen, initial-recipe- <programming-environment-initialization> ] -recipe event-loop screen:address:shared:screen, console:address:shared:console, env:address:shared:programming-environment-data -> screen:address:shared:screen, console:address:shared:console, env:address:shared:programming-environment-data [ +def event-loop screen:address:shared:screen, console:address:shared:console, env:address:shared:programming-environment-data -> screen:address:shared:screen, console:address:shared:console, env:address:shared:programming-environment-data [ local-scope load-ingredients recipes:address:shared:editor-data <- get *env, recipes:offset @@ -180,7 +180,7 @@ recipe event-loop screen:address:shared:screen, console:address:shared:console, } ] -recipe resize screen:address:shared:screen, env:address:shared:programming-environment-data -> env:address:shared:programming-environment-data, screen:address:shared:screen [ +def resize screen:address:shared:screen, env:address:shared:programming-environment-data -> env:address:shared:programming-environment-data, screen:address:shared:screen [ local-scope load-ingredients clear-screen screen # update screen dimensions @@ -372,7 +372,7 @@ def] ] ] -recipe render-all screen:address:shared:screen, env:address:shared:programming-environment-data -> screen:address:shared:screen, env:address:shared:programming-environment-data [ +def render-all screen:address:shared:screen, env:address:shared:programming-environment-data -> screen:address:shared:screen, env:address:shared:programming-environment-data [ local-scope load-ingredients trace 10, [app], [render all] @@ -405,7 +405,7 @@ recipe render-all screen:address:shared:screen, env:address:shared:programming-e show-screen screen ] -recipe render-recipes screen:address:shared:screen, env:address:shared:programming-environment-data -> screen:address:shared:screen, env:address:shared:programming-environment-data [ +def render-recipes screen:address:shared:screen, env:address:shared:programming-environment-data -> screen:address:shared:screen, env:address:shared:programming-environment-data [ local-scope load-ingredients trace 11, [app], [render recipes] @@ -424,7 +424,7 @@ recipe render-recipes screen:address:shared:screen, env:address:shared:programmi ] # replaced in a later layer -recipe render-sandbox-side screen:address:shared:screen, env:address:shared:programming-environment-data -> screen:address:shared:screen, env:address:shared:programming-environment-data [ +def render-sandbox-side screen:address:shared:screen, env:address:shared:programming-environment-data -> screen:address:shared:screen, env:address:shared:programming-environment-data [ local-scope load-ingredients current-sandbox:address:shared:editor-data <- get *env, current-sandbox:offset @@ -439,7 +439,7 @@ recipe render-sandbox-side screen:address:shared:screen, env:address:shared:prog clear-screen-from screen, row, left, left, right ] -recipe update-cursor screen:address:shared:screen, recipes:address:shared:editor-data, current-sandbox:address:shared:editor-data, sandbox-in-focus?:boolean, env:address:shared:programming-environment-data -> screen:address:shared:screen [ +def update-cursor screen:address:shared:screen, recipes:address:shared:editor-data, current-sandbox:address:shared:editor-data, sandbox-in-focus?:boolean, env:address:shared:programming-environment-data -> screen:address:shared:screen [ local-scope load-ingredients <update-cursor-special-cases> @@ -458,10 +458,10 @@ recipe update-cursor screen:address:shared:screen, recipes:address:shared:editor # print a text 's' to 'editor' in 'color' starting at 'row' # clear rest of last line, move cursor to next line -recipe render screen:address:shared:screen, s:address:shared:array:character, left:number, right:number, color:number, row:number -> row:number, screen:address:shared:screen [ +def render screen:address:shared:screen, s:address:shared:array:character, left:number, right:number, color:number, row:number -> row:number, screen:address:shared:screen [ local-scope load-ingredients - reply-unless s + return-unless s column:number <- copy left screen <- move-cursor screen, row, column screen-height:number <- screen-height screen @@ -519,10 +519,10 @@ recipe render screen:address:shared:screen, s:address:shared:array:character, le ] # like 'render' for texts, but with colorization for comments like in the editor -recipe render-code screen:address:shared:screen, s:address:shared:array:character, left:number, right:number, row:number -> row:number, screen:address:shared:screen [ +def render-code screen:address:shared:screen, s:address:shared:array:character, left:number, right:number, row:number -> row:number, screen:address:shared:screen [ local-scope load-ingredients - reply-unless s + return-unless s color:number <- copy 7/white column:number <- copy left screen <- move-cursor screen, row, column @@ -608,7 +608,7 @@ after <global-type> [ ## helpers -recipe draw-vertical screen:address:shared:screen, col:number, y:number, bottom:number -> screen:address:shared:screen [ +def draw-vertical screen:address:shared:screen, col:number, y:number, bottom:number -> screen:address:shared:screen [ local-scope load-ingredients style:character, style-found?:boolean <- next-ingredient |