Мой вопрос в точности соответствует заголовку. Я не могу найти хорошую документацию, объясняющую, что это такое и какой вариант использования.
Я обнаружил, что код используется во многих файлах lua.init (файл, в котором хранятся конфигурации neovim). Я включил фрагмент.
Я знаю, что оно делает. Он проверяет, существует ли путь. Но почему он находится под loop и почему он называется fs_stat? Я был бы очень признателен, если бы кто-нибудь мог направить меня к документации vim или neovim, в которой это объясняется.





Во-первых, vim.loop теперь называется vim.uv: https://github.com/neovim/neovim/pull/22846
Но до этого изменения в документации говорилось следующее:
vim.loopраскрывает все возможности цикла событий Nvim.
В любом случае, это библиотека luv для Lua (https://github.com/luvit/luv ), которая является оберткой библиотеки libuv для C ( https://github.com/libuv/libuv ). luv вызывает его fs_stat, потому что библиотека, которую он обертывает, вызывает его uv_fs_stat. Часть fs имени связана с тем, что это операция файловой системы . Часть stat имени связана с тем, что это имя базового системного вызова:
Эквивалентно stat(2), fstat(2) и lstat(2) соответственно.
А stat — это сокращение от status, и этот системный вызов получает статус файла. (Это может быть одной из причин вашего замешательства: он может сделать гораздо больше, чем просто проверить, существует ли файл.)