Как получить текущий путь к буферу с помощью neovim Lua API?

#lua #neovim

Вопрос:

Я использую neovim 0.5 и хочу написать пользовательскую функцию для использования telescope.nvim .

Мне нужно получить путь к файлу текущего буфера, в котором я выполняю функцию. Я не смог найти, как это сделать, в документах nvim Lua API.

vim.nvim_get_current_buf получает номер буфера, как мне получить полный путь к файлу текущего буфера?

Ответ №1:

Функция, которую вы ищете, это:

 vim.fn.expand('%')
 

% расширяется до текущего имени файла.

Смотрите :help expand() дополнительные подстановочные знаки, такие как % .

Ответ №2:

Вы можете получить доступ к полному пути к файлу в текущем буфере , используя vim.api.nvim_buf_get_name(0) , где 0 для идентификатора буфера означает «текущий буфер».

https://neovim.io/doc/user/api.html#nvim_buf_get_name()