aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancesco Abbate <francesco.bbt@gmail.com>2021-12-28 10:59:01 +0100
committerFrancesco Abbate <francesco.bbt@gmail.com>2021-12-28 10:59:01 +0100
commit1f0785b73ff0cffd0926c3086baa408a82f01722 (patch)
treee5325160f72b19651634fca955fa56788e91bdab
parent50247fcd929dd931e98de1b4c0c7f2e91fc3fab3 (diff)
downloadlite-xl-1f0785b73ff0cffd0926c3086baa408a82f01722.tar.gz
lite-xl-1f0785b73ff0cffd0926c3086baa408a82f01722.zip
Scan project folder after project module is loaded
Otherwise the initial scan of the project folder is done without taking into account the config.ignore_files directives.
-rw-r--r--data/core/init.lua15
1 files changed, 11 insertions, 4 deletions
diff --git a/data/core/init.lua b/data/core/init.lua
index 928df227..60c80ec1 100644
--- a/data/core/init.lua
+++ b/data/core/init.lua
@@ -52,13 +52,15 @@ local function update_recents_project(action, dir_path_abs)
end
-function core.set_project_dir(new_dir, change_project_fn)
+function core.set_project_dir(new_dir, change_project_fn, defer_add)
local chdir_ok = pcall(system.chdir, new_dir)
if chdir_ok then
if change_project_fn then change_project_fn() end
core.project_dir = common.normalize_volume(new_dir)
core.project_directories = {}
- core.add_project_directory(new_dir)
+ if not defer_add then
+ core.add_project_directory(new_dir)
+ end
return true
end
return false
@@ -679,7 +681,9 @@ function core.init()
core.blink_timer = core.blink_start
local project_dir_abs = system.absolute_path(project_dir)
- local set_project_ok = project_dir_abs and core.set_project_dir(project_dir_abs)
+ -- We prevent set_project_dir below to effectively add and scan the directory becaese tha
+ -- project module and its ignore files is not yet loaded.
+ local set_project_ok = project_dir_abs and core.set_project_dir(project_dir_abs, nil, true)
if set_project_ok then
if project_dir_explicit then
update_recents_project("add", project_dir_abs)
@@ -689,7 +693,7 @@ function core.init()
update_recents_project("remove", project_dir)
end
project_dir_abs = system.absolute_path(".")
- if not core.set_project_dir(project_dir_abs) then
+ if not core.set_project_dir(project_dir_abs, nil, true) then
system.show_fatal_error("Lite XL internal error", "cannot set project directory to cwd")
os.exit(1)
end
@@ -726,6 +730,9 @@ function core.init()
end
local got_project_error = not core.load_project_module()
+ -- We add the project directory now because the project's module is loaded.
+ core.add_project_directory(project_dir_abs)
+
-- We assume we have just a single project directory here. Now that StatusView
-- is there show max files warning if needed.
if core.project_directories[1].files_limit then