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.
This commit is contained in:
Kartik K. Agaram 2023-09-04 15:07:54 -07:00
parent adfe94b9fc
commit e74b92b733
2 changed files with 9 additions and 0 deletions

View File

@ -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

View File

@ -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)