2

最近,当我打开一个安装了语言服务器的文件时,我收到了这个错误:

(这是在neovim :messages 中)

Error detected while processing BufEnter Autocommands for "<buffer=403>":
E5108: Error executing lua [string ":lua"]:47: attempt to call field 'nvim_multiline_command' (a nil value)

nvim_multiline_command所以我在我的 init.vim 中搜索,果然我找到了这个:

136   -- Set autocommands conditional on server_capabilities
  1   if client.resolved_capabilities.document_highlight then
  2     require('lspconfig').util.nvim_multiline_command [[
  3       :hi LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow
  4       :hi LspReferenceText cterm=bold ctermbg=red guibg=LightYellow
  5       :hi LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow
  6       augroup lsp_document_highlight
  7         autocmd!
  8         autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
  9         autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
  10       augroup END
  11     ]]                                                                                                                                                                                                      12   end                                                                                                                                                                                                       13 end

(是的,我从终端复制,因为我的剪贴板停止工作,不要向 emacs 用户显示这个)

我清楚地记得从官方自述文件中复制了这个。不知道为什么这停止工作。

4

1 回答 1

2

使用 util_nvim_multiline_command 似乎已被弃用(链接到 github 提交)

我建议转到最新的 nvim-lspconfig 自述文件,并将该--Set autocommands conditional on server_capabilities部分的旧版本替换为新版本。

于 2021-01-29T18:30:45.553 回答