diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2022-09-05 12:39:28 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2022-09-05 12:39:28 -0700 |
commit | fdb35ce12bd8b2e30522ada07ec756a626d01a09 (patch) | |
tree | 08f3cdcd4a87503b5ab06eef6d361ccd70822805 | |
parent | 5ab541f160132d49697a44dea9e418ae10bd6533 (diff) | |
download | view.love-fdb35ce12bd8b2e30522ada07ec756a626d01a09.tar.gz |
bugfix: save modified files in save directory
scenario: open app from .love file, press ctrl+e Before this change the source file showed up empty.
-rw-r--r-- | app.lua | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/app.lua b/app.lua index 2135fb0..69507ec 100644 --- a/app.lua +++ b/app.lua @@ -383,8 +383,32 @@ function App.disable_tests() App.newText = love.graphics.newText App.screen.draw = love.graphics.draw App.width = function(text) return text:getWidth() end - App.open_for_reading = function(filename) return io.open(filename, 'r') end - App.open_for_writing = function(filename) return io.open(filename, 'w') end + if Current_app == nil or Current_app == 'run' then + App.open_for_reading = function(filename) return io.open(filename, 'r') end + App.open_for_writing = function(filename) return io.open(filename, 'w') end + elseif Current_app == 'source' then + -- HACK: source editor requires a couple of different foundational definitions + App.open_for_reading = + function(filename) + local result = love.filesystem.newFile(filename) + local ok, err = result:open('r') + if ok then + return result + else + return ok, err + end + end + App.open_for_writing = + function(filename) + local result = love.filesystem.newFile(filename) + local ok, err = result:open('w') + if ok then + return result + else + return ok, err + end + end + end App.getTime = love.timer.getTime App.getClipboardText = love.system.getClipboardText App.setClipboardText = love.system.setClipboardText |