我的 neovim 设置,但我不知道如何修复错误

kim*_*kim 2 lua neovim

你好,我从“https://github.com/craftzdog/dotfiles-public”设置了我的 neovim。但是出现了错误,不知道如何解决。请帮我!!

错误是“尝试调用字段‘init_lsp_saga’(零值)”

lspsaga.rc.lua

local status, saga = pcall(require, "lspsaga")
if (not status) then return end

saga.init_lsp_saga {
  server_filetype_map = {
    typescript = 'typescript'
  }
}

local opts = { noremap = true, silent = true }
vim.keymap.set('n', '<C-j>', '<Cmd>Lspsaga diagnostic_jump_next<CR>', opts)
vim.keymap.set('n', 'K', '<Cmd>Lspsaga hover_doc<CR>', opts)
vim.keymap.set('n', 'gd', '<Cmd>Lspsaga lsp_finder<CR>', opts)
-- vim.keymap.set('i', '<C-k>', '<Cmd>Lspsaga signature_help<CR>', opts)
vim.keymap.set('i', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
vim.keymap.set('n', 'gp', '<Cmd>Lspsaga peek_definition<CR>', opts)
vim.keymap.set('n', 'gr', '<Cmd>Lspsaga rename<CR>', opts)
Run Code Online (Sandbox Code Playgroud)

我该如何修复这个错误?

小智 6

因为您使用的是最新版本(比 0.2.3 更新,具有以下更改 PR: https: //github.com/glepnir/lspsaga.nvim/pull/586请参阅init.lua 中的 具体更改)

您需要执行 saga.setup 而不是 saga.init_lsp_sag,您应该可以开始了!

local status, saga = pcall(require, "lspsaga")
if (not status) then return end

saga.setup {
  server_filetype_map = {
    typescript = 'typescript'
  }
}
Run Code Online (Sandbox Code Playgroud)

代替

local status, saga = pcall(require, "lspsaga")
if (not status) then return end

saga.init_lsp_saga {
  server_filetype_map = {
    typescript = 'typescript'
  }
}
Run Code Online (Sandbox Code Playgroud)