diff --git a/commands.lua b/commands.lua index 830e965..e1d5a54 100644 --- a/commands.lua +++ b/commands.lua @@ -870,14 +870,14 @@ end function resume_search_all() -- make a little more progress towards searching the whole disk - if Display_settings.search_all_state == nil then + if Display_settings.search_all_progress == nil then Display_settings.search_all_progress_indicator = 'initialized top-level files' - Display_settings.search_all_state = { + Display_settings.search_all_progress = { top_level_files = App.files(Directory), top_level_file_index = 1, } - elseif Display_settings.search_all_state.top_level_file_index then - local current_filename = Display_settings.search_all_state.top_level_files[Display_settings.search_all_state.top_level_file_index] + elseif Display_settings.search_all_progress.top_level_file_index then + local current_filename = Display_settings.search_all_progress.top_level_files[Display_settings.search_all_progress.top_level_file_index] Display_settings.search_all_progress_indicator = current_filename if current_filename ~= 'search' and current_filename ~= 'config' and current_filename ~= 'recent' then -- ignore some housekeeping files for pensieve.love local info = App.file_info(Directory..current_filename) @@ -885,20 +885,20 @@ function resume_search_all() search_in_file(current_filename) end end - Display_settings.search_all_state.top_level_file_index = Display_settings.search_all_state.top_level_file_index+1 - if Display_settings.search_all_state.top_level_file_index > #Display_settings.search_all_state.top_level_files then - Display_settings.search_all_state.top_level_file_index = nil - Display_settings.search_all_state.top_level_files = nil - Display_settings.search_all_state.time = os.time() - Display_settings.search_all_state.year = os.date('%Y', Display_settings.search_all_state.time) - Display_settings.search_all_state.date = os.date('%Y/%m/%d/', Display_settings.search_all_state.time) + Display_settings.search_all_progress.top_level_file_index = Display_settings.search_all_progress.top_level_file_index+1 + if Display_settings.search_all_progress.top_level_file_index > #Display_settings.search_all_progress.top_level_files then + Display_settings.search_all_progress.top_level_file_index = nil + Display_settings.search_all_progress.top_level_files = nil + Display_settings.search_all_progress.time = os.time() + Display_settings.search_all_progress.year = os.date('%Y', Display_settings.search_all_progress.time) + Display_settings.search_all_progress.date = os.date('%Y/%m/%d/', Display_settings.search_all_progress.time) end - elseif Display_settings.search_all_state.date then + elseif Display_settings.search_all_progress.date then -- search one day's directory per frame -- stop when a whole year is missing - Display_settings.search_all_progress_indicator = Display_settings.search_all_state.date - local old_year = Display_settings.search_all_state.year - local date_dir = Directory..Display_settings.search_all_state.date + Display_settings.search_all_progress_indicator = Display_settings.search_all_progress.date + local old_year = Display_settings.search_all_progress.year + local date_dir = Directory..Display_settings.search_all_progress.date local info = App.file_info(date_dir) if info then if info.type == 'directory' then @@ -908,18 +908,18 @@ function resume_search_all() -- I often have other stuff here that's a lot larger (email). if filename:match('^%d%d%-%d%d%-%d%d$') then --? print(date_dir..filename) - search_in_file(Display_settings.search_all_state.date..filename) + search_in_file(Display_settings.search_all_progress.date..filename) end end end end - Display_settings.search_all_state.time = Display_settings.search_all_state.time - 24*60*60 - Display_settings.search_all_state.year = os.date('%Y', Display_settings.search_all_state.time) - Display_settings.search_all_state.date = os.date('%Y/%m/%d/', Display_settings.search_all_state.time) - if old_year ~= Display_settings.search_all_state.year then - local previous_year_info = App.file_info(Directory..Display_settings.search_all_state.year) + Display_settings.search_all_progress.time = Display_settings.search_all_progress.time - 24*60*60 + Display_settings.search_all_progress.year = os.date('%Y', Display_settings.search_all_progress.time) + Display_settings.search_all_progress.date = os.date('%Y/%m/%d/', Display_settings.search_all_progress.time) + if old_year ~= Display_settings.search_all_progress.year then + local previous_year_info = App.file_info(Directory..Display_settings.search_all_progress.year) if previous_year_info == nil then - Display_settings.search_all_state = nil + Display_settings.search_all_progress = nil Display_settings.mode = 'normal' end end @@ -970,14 +970,14 @@ function find_previous_byte(s, b, index) end function interrupt_search_all() - if Display_settings.search_all_state then + if Display_settings.search_all_progress then local outfilename = Directory..'search' local success, errmsg = append_to_file(outfilename, 'interrupted at '..Display_settings.search_all_progress_indicator..'\n') if not success then error(errmsg) end load_from_disk(Display_settings.search_all_pane) Text.redraw_all(Display_settings.search_all_pane) end - Display_settings.search_all_state = nil + Display_settings.search_all_progress = nil Display_settings.mode = 'normal' end diff --git a/run.lua b/run.lua index b66f6fd..32739f2 100644 --- a/run.lua +++ b/run.lua @@ -75,8 +75,9 @@ function run.initialize_globals() search_term='', search_backup_x=nil, search_backup_y=nil, search_backup_cursor_pane=nil, search_all_query=nil, search_all_terms=nil, + search_all_progress=nil, search_all_progress_indicator=nil, - search_all_pane=nil, search_all_state=nil, + search_all_pane=nil, } -- display settings that are constants Font_height = 20 @@ -1387,7 +1388,7 @@ function keychord_press_in_search_all_mode(chord, key) if chord == 'escape' then Display_settings.mode = 'normal' -- don't forget search text - Display_settings.search_all_state = nil + Display_settings.search_all_progress = nil elseif chord == 'return' then finalize_search_all_pane() add_search_all_pane_to_right_of_cursor()