diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2023-09-04 15:07:54 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2023-09-04 15:07:54 -0700 |
commit | e74b92b7333d3382277a6794833126d8e9ebd5cd (patch) | |
tree | 7ddfd3e51d2927fc0fd99fd0334f40f544ed9a6a | |
parent | adfe94b9fcf04cc52032467d8970aaf9cd4ea6dc (diff) | |
download | lines.love-e74b92b7333d3382277a6794833126d8e9ebd5cd.tar.gz |
show any error after switching to source editor
Error_message is a special global. It's set when the app (Current_app = 'run') encounters an error and switches to the source editor, and cleared when switching from source editor back to the app.
-rw-r--r-- | main.lua | 2 | ||||
-rw-r--r-- | source.lua | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/main.lua b/main.lua index a59c483..c3b5a26 100644 --- a/main.lua +++ b/main.lua @@ -183,10 +183,12 @@ function App.keychord_press(chord, key) Settings.source = source_settings if run.quit then run.quit() end Current_app = 'source' + -- preserve any Error_message when going from run to source elseif Current_app == 'source' then Settings.source = source.settings() if source.quit then source.quit() end Current_app = 'run' + Error_message = nil else assert(false, 'unknown app "'..Current_app..'"') end diff --git a/source.lua b/source.lua index a3fd217..b4e1078 100644 --- a/source.lua +++ b/source.lua @@ -252,6 +252,13 @@ function source.draw() log_browser.draw(Log_browser_state, --[[hide_cursor]] Focus ~= 'log_browser') end source.draw_menu_bar() + if Error_message then + local height = math.min(20*Editor_state.line_height, App.screen.height*0.2) + App.color{r=0.8,g=0,b=0} + love.graphics.rectangle('fill', 150, App.screen.height - height-10, App.screen.width, height+10) + App.color{r=0,g=0,b=0} + love.graphics.print(Error_message, 150+10, App.screen.height - height) + end end function source.update(dt) |