Мой вопрос в точности соответствует заголовку. Я не могу найти хорошую документацию, объясняющую, что это такое и какой вариант использования.
Я обнаружил, что код используется во многих файлах 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
, и этот системный вызов получает статус файла. (Это может быть одной из причин вашего замешательства: он может сделать гораздо больше, чем просто проверить, существует ли файл.)