Closed pierreprinetti closed 3 years ago
Adding the suggested "Keybindings and completion" snippet to a legacy init.vim, I get the following syntax error:
init.vim
E5107: Error loading lua [string ":lua"]:50: 'end' expected (to close 'function' at line 2) near '<eof>'
nvim --version
$ nvim --version NVIM v0.5.0-dev+1012-gfe1ebea33 Build type: RelWithDebInfo LuaJIT 2.1.0-beta3 Compilation: /usr/bin/cc -O2 -g -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/home/pierre/code/src/github.com/neovim/neovim/build/config -I/home/pierre/code/src/github.com/neovim/neovim/src -I/home/pierre/code/src/github.com/neovim/neovim/.deps/usr/include -I/usr/include -I/home/pierre/code/src/github.com/neovim/neovim/build/src/nvim/auto -I/home/pierre/code/src/github.com/neovim/neovim/build/include Compiled by pierre@rh2
Features: +acl +iconv +tui See ":help feature-compile"
system vimrc file: "$VIM/sysinit.vim" fall-back for $VIM: "/usr/local/share/nvim"
Run :checkhealth for more info
- nvim-lsp version(commit hash): cf627881198acde0b28714211777b4e6f63f47f0 - Is the problem isolated to a particular language server: nope - Operating system/version: Fedora 33 ### How to reproduce the problem from neovim startup Add the following lines to your init.vim: ```plaintext lua << EOF local nvim_lsp = require('lspconfig') local on_attach = function(client, bufnr) local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') -- Mappings. local opts = { noremap=true, silent=true } buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts) buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts) buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts) buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts) buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts) buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts) buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts) buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts) buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts) buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts) buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts) buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts) buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts) buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts) buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts) -- Set some keybinds conditional on server capabilities if client.resolved_capabilities.document_formatting then buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts) elseif client.resolved_capabilities.document_range_formatting then buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts) end -- Set autocommands conditional on server_capabilities if client.resolved_capabilities.document_highlight then require('lspconfig').util.nvim_multiline_command [[ :hi LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow :hi LspReferenceText cterm=bold ctermbg=red guibg=LightYellow :hi LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow augroup lsp_document_highlight autocmd! autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight() autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references() augroup END ]] end for _, lsp in ipairs(servers) do nvim_lsp[lsp].setup { on_attach = on_attach } end EOF
At the next startup, nvim displays the aforementioned error
Keybindings are in place with no error
Ah, nice catch. Thanks for noticing. Will be closed by #558
Adding the suggested "Keybindings and completion" snippet to a legacy
init.vim
, I get the following syntax error:nvim --version
:Features: +acl +iconv +tui See ":help feature-compile"
system vimrc file: "$VIM/sysinit.vim" fall-back for $VIM: "/usr/local/share/nvim"
Run :checkhealth for more info
Actual behaviour
At the next startup, nvim displays the aforementioned error
Expected behaviour
Keybindings are in place with no error
Minimal init.vim or init.lua and code sample
Health check
Checkhealth result
health#lspconfig#check ======================================================================== ## Checking language server protocol configuration - INFO: tsserver: configuration checked. - INFO: yamlls: configuration checked. - INFO: jsonls: configuration checked. - INFO: bashls: configuration checked. - INFO: pyls: configuration checked. - INFO: cssls: configuration checked. - INFO: dockerls: configuration checked. - INFO: gopls: configuration checked.