在lua neovim中使用vimscript插件

我尝试使用这个简单的脚本(不是我写的)来读取一个文件并将其内容添加到一个叫做projectionist的插件中:https://github.com/tpope/vim-projectionist

(原始脚本:https://github.com/andyl/vim-projectionist-elixir/blob/master/ftdetect/elixir.vim

我没有找到任何在lua nvim中读取文件的api。照片中的错误指向了let l:json = readfile(s:proj_jsn)这行,所以我认为这个api在lua中不可用?

if vim.g.loaded_vim_projectionist then
  return
end

vim.g.loaded_vim_projectionist = 1

vim.api.nvim_exec([[
  let s:base_dir = resolve(expand("<sfile>:p:h"))
  let s:proj_jsn = s:base_dir . "/projections.json"

  function! s:setProjections()
    let l:json = readfile(s:proj_jsn)
    let l:dict = projectionist#json_parse(l:json)
    call projectionist#append(getcwd(), l:dict)
  endfunction

  call s:setProjections()
]], false)

错误信息(图片) 我多次检查了projections.json文件是否在正确的位置,所以这不是错误。

提前感谢大家。

原文链接 https://stackoverflow.com/questions/70699402

点赞