Enable inotify specific api only on linux
This commit is contained in:
parent
5c4bfd9a77
commit
590c83148e
|
@ -155,13 +155,15 @@ function core.project_subdir_set_show(dir, filename, show)
|
||||||
dir.shown_subdir[filename] = show
|
dir.shown_subdir[filename] = show
|
||||||
if dir.files_limit then
|
if dir.files_limit then
|
||||||
local fullpath = dir.name .. PATHSEP .. filename
|
local fullpath = dir.name .. PATHSEP .. filename
|
||||||
if show then
|
if PLATFORM == "Linux" then
|
||||||
local success = system.watch_dir_add(dir.watch_id, fullpath)
|
if show then
|
||||||
print("DEBUG: watch_dir_add", fullpath, "success:", success)
|
local success = system.watch_dir_add(dir.watch_id, fullpath)
|
||||||
else
|
print("DEBUG: watch_dir_add", fullpath, "success:", success)
|
||||||
print("DEBUG dir", dir.name, "filename", filename, "watch_id:", dir.watch_id)
|
else
|
||||||
local success = system.watch_dir_rm(dir.watch_id, fullpath)
|
print("DEBUG dir", dir.name, "filename", filename, "watch_id:", dir.watch_id)
|
||||||
print("DEBUG: watch_dir_rm", fullpath, "success:", success)
|
local success = system.watch_dir_rm(dir.watch_id, fullpath)
|
||||||
|
print("DEBUG: watch_dir_rm", fullpath, "success:", success)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -187,8 +189,10 @@ local function scan_project_folder(index)
|
||||||
if entries_count > config.max_project_files then
|
if entries_count > config.max_project_files then
|
||||||
print("DEBUG setting files limit FLAG for", dir.name)
|
print("DEBUG setting files limit FLAG for", dir.name)
|
||||||
dir.files_limit = true
|
dir.files_limit = true
|
||||||
-- Watch non-recursively
|
-- Watch non-recursively on Linux only.
|
||||||
dir.watch_id = system.watch_dir(dir.name, false)
|
-- The reason is recursively watching with dmon on linux
|
||||||
|
-- doesn't work on very large directories.
|
||||||
|
dir.watch_id = system.watch_dir(dir.name, PLATFORM ~= "Linux")
|
||||||
if core.status_view then -- May be not yet initialized.
|
if core.status_view then -- May be not yet initialized.
|
||||||
show_max_files_warning()
|
show_max_files_warning()
|
||||||
end
|
end
|
||||||
|
|
|
@ -656,6 +656,7 @@ static int f_watch_dir(lua_State *L) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if __linux__
|
||||||
static int f_watch_dir_add(lua_State *L) {
|
static int f_watch_dir_add(lua_State *L) {
|
||||||
dmon_watch_id watch_id;
|
dmon_watch_id watch_id;
|
||||||
watch_id.id = luaL_checkinteger(L, 1);
|
watch_id.id = luaL_checkinteger(L, 1);
|
||||||
|
@ -672,6 +673,7 @@ static int f_watch_dir_rm(lua_State *L) {
|
||||||
lua_pushboolean(L, dmon_watch_rm(watch_id, subdir));
|
lua_pushboolean(L, dmon_watch_rm(watch_id, subdir));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#define PATHSEP '\\'
|
#define PATHSEP '\\'
|
||||||
|
@ -758,9 +760,11 @@ static const luaL_Reg lib[] = {
|
||||||
{ "fuzzy_match", f_fuzzy_match },
|
{ "fuzzy_match", f_fuzzy_match },
|
||||||
{ "set_window_opacity", f_set_window_opacity },
|
{ "set_window_opacity", f_set_window_opacity },
|
||||||
{ "watch_dir", f_watch_dir },
|
{ "watch_dir", f_watch_dir },
|
||||||
|
{ "path_compare", f_path_compare },
|
||||||
|
#if __linux__
|
||||||
{ "watch_dir_add", f_watch_dir_add },
|
{ "watch_dir_add", f_watch_dir_add },
|
||||||
{ "watch_dir_rm", f_watch_dir_rm },
|
{ "watch_dir_rm", f_watch_dir_rm },
|
||||||
{ "path_compare", f_path_compare },
|
#endif
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue