diff options
Diffstat (limited to 'source_file.lua')
-rw-r--r-- | source_file.lua | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/source_file.lua b/source_file.lua index 3eaf6c3..b0e26eb 100644 --- a/source_file.lua +++ b/source_file.lua @@ -1,7 +1,10 @@ -- primitives for saving to file and loading from file function file_exists(filename) - local infile = App.open_for_reading(filename) + local infile = App.open_for_reading(App.save_dir..filename) + if not infile then + infile = App.open_for_reading(App.source_dir..filename) + end if infile then infile:close() return true @@ -10,8 +13,12 @@ function file_exists(filename) end end +-- the source editor supports only files in the save dir backed by the source dir function load_from_disk(State) - local infile = App.open_for_reading(State.filename) + local infile = App.open_for_reading(App.save_dir..State.filename) + if not infile then + infile = App.open_for_reading(App.source_dir..State.filename) + end State.lines = load_from_file(infile) if infile then infile:close() end end @@ -37,7 +44,7 @@ function load_from_file(infile) end function save_to_disk(State) - local outfile = App.open_for_writing(State.filename) + local outfile = App.open_for_writing(App.save_dir..State.filename) if outfile == nil then error('failed to write to "'..State.filename..'"') end |