mirror of
https://github.com/neovim/neovim.git
synced 2026-08-28 18:11:47 +00:00
feat(lsp): drop fswatch, use inotifywait (#29374)
This patch replaces fswatch with inotifywait from inotify-toools: https://github.com/inotify-tools/inotify-tools fswatch takes ~1min to set up recursively for the Samba source code directory. inotifywait needs less than a second to do the same thing. https://github.com/emcrisostomo/fswatch/issues/321 Also it fswatch seems to be unmaintained in the meantime. Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
committed by
GitHub
parent
91e5dcae3d
commit
55e4301036
@@ -9,8 +9,8 @@ local M = {}
|
||||
|
||||
if vim.fn.has('win32') == 1 or vim.fn.has('mac') == 1 then
|
||||
M._watchfunc = watch.watch
|
||||
elseif vim.fn.executable('fswatch') == 1 then
|
||||
M._watchfunc = watch.fswatch
|
||||
elseif vim.fn.executable('inotifywait') == 1 then
|
||||
M._watchfunc = watch.inotify
|
||||
else
|
||||
M._watchfunc = watch.watchdirs
|
||||
end
|
||||
|
||||
@@ -90,8 +90,8 @@ local function check_watcher()
|
||||
watchfunc_name = 'libuv-watch'
|
||||
elseif watchfunc == vim._watch.watchdirs then
|
||||
watchfunc_name = 'libuv-watchdirs'
|
||||
elseif watchfunc == vim._watch.fswatch then
|
||||
watchfunc_name = 'fswatch'
|
||||
elseif watchfunc == vim._watch.inotifywait then
|
||||
watchfunc_name = 'inotifywait'
|
||||
else
|
||||
local nm = debug.getinfo(watchfunc, 'S').source
|
||||
watchfunc_name = string.format('Custom (%s)', nm)
|
||||
@@ -99,7 +99,7 @@ local function check_watcher()
|
||||
|
||||
report_info('File watch backend: ' .. watchfunc_name)
|
||||
if watchfunc_name == 'libuv-watchdirs' then
|
||||
report_warn('libuv-watchdirs has known performance issues. Consider installing fswatch.')
|
||||
report_warn('libuv-watchdirs has known performance issues. Consider installing inotify-tools.')
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user