diff --git a/server.lua b/server.lua index c2c4b18..2eddf7d 100644 --- a/server.lua +++ b/server.lua @@ -272,7 +272,10 @@ server:tool("search_files", "Search for files by pattern.", { if WINDOWS then return run('dir /b /s "' .. path .. '\\' .. a.pattern .. '"', 30) else - return run("find '" .. path:gsub("'", "'\\''") .. "' -name '" .. a.pattern:gsub("'", "'\\''") .. "' 2>/dev/null", 30) + -- -L: follow symlinks on the start path. macOS BSD find otherwise + -- silently emits nothing when the start path is itself a symlink + -- (common on Homebrew, e.g. /usr/local/share/lua -> Cellar/…/share/lua). + return run("find -L '" .. path:gsub("'", "'\\''") .. "' -name '" .. a.pattern:gsub("'", "'\\''") .. "' 2>/dev/null", 30) end end)