Comments (4)
That's awesome. Glad to hear that.
I got one more tip. You can define your keymaps for lsp with vimscript if you use a global function function.
lua <<EOF
--- ... some code
lsp.on_attach(function() vim.call('LspAttached') end)
--- ... some code
EOF
function! LspAttached() abort
nnoremap <buffer> gl <cmd>lua vim.diagnostic.open_float()<CR>
nnoremap <buffer> [d <cmd>lua vim.diagnostic.goto_prev()<CR>
nnoremap <buffer> ]d <cmd>lua vim.diagnostic.goto_next()<CR>
nnoremap <buffer> gr <cmd>lua vim.lsp.buf.rename()<cr>
nnoremap <buffer> gD <cmd>lua vim.lsp.buf.declaration()<CR>
nnoremap <buffer> gd <cmd>lua vim.lsp.buf.definition()<CR>
nnoremap <buffer> K <cmd>lua vim.lsp.buf.hover()<CR>
nnoremap <buffer> gi <cmd>lua vim.lsp.buf.implementation()<CR>
nnoremap <buffer> <C-k> <cmd>lua vim.lsp.buf.signature_help()<CR>
nnoremap <buffer> go <cmd>lua vim.lsp.buf.type_definition()<CR>
nnoremap <buffer> gc <cmd>lua vim.lsp.buf.references()<CR>
nnoremap <buffer> gf <cmd>lua vim.lsp.buf.formatting()<CR>
nnoremap <buffer> ga <cmd>lua vim.lsp.buf.code_action()<CR>
endfunction
from lsp-zero.nvim.
It looks like the servers that are not being detected when nvim starts up have been installed in an incorrectly named directory. When gopls is installed, it is installed into ~/.local/share/nvim/lsp_installers/go
rather than ~/.local/share/nvim/lsp_installers/gopls
. If I rename the directory from go
to gopls
it is properly detected, shows up in the installed servers list, and starts up automatically when I open a go file. It also triggers gopls to be installed again because it is in my ensured servers list, so I end up with a go
and gopls
directory. I'm guessing that the file type is being used instead of the language server name either in your plugin or in lsp-installer, not sure which is at fault here.
from lsp-zero.nvim.
I think I know what happens. So, nvim-lsp-installer has a new setup function which I should call before doing anything with nvim-lsp-installer. I forgot to add it to .ensure_installed()
. In my defense, you should really set your preferences immediately after require('lsp-zero')
.
But anyway, there is a bug there and fb9ae91 should fix that.
I think you need to reinstall the servers (again). I'm not really sure what "state" they have if installed the old way.
Another thing, language servers will not start automatically after install, that feature is no longer supported by nvim-lsp-installer
. Technically is there, but is being deprecated.
from lsp-zero.nvim.
Yes, that fixes it. I'll move where I set my preferences, thanks for the tip. Great plugin by the way! It's the only reason I decided to give native lsp a try and I'm loving it.
from lsp-zero.nvim.
Related Issues (20)
- How to integrate conform.nvim with lsp-zero.nvim HOT 2
- Need help to load friendly-snippets HOT 1
- lsp_zero.cmp_format() hides important information for rust_analyzer HOT 2
- error installing gopls(same thing happend with hls) HOT 2
- error installing hls(haskell server) HOT 1
- Allow setting max width on vim.diagnostics
- Add docs or possible fix for Volar 2? HOT 4
- method textDocument/definition is not supported by any of the servers registered for the current buffer HOT 6
- Hi @VonHeikemen, came here after an year coz it was unmaintained, i grew up a lot in this time period, help me get back to `lsp-zero` HOT 3
- Undercurls to display errors HOT 2
- How do I turn off inlay hints? HOT 2
- Cannot get auto complete to work HOT 5
- How to configure efm? HOT 1
- Duplicate prefixes HOT 1
- lsp-zero conflict with noice shipped in LazyVim HOT 2
- Function signature helper HOT 1
- lsp server seem to be configured before .extend_lspconfig() HOT 4
- Question: Doc site HOT 2
- Error: failed to run 'config' for nvim-lspconfig HOT 3
- default keymaps not working correctly HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lsp-zero.nvim.