Giter Club home page Giter Club logo

Comments (4)

VonHeikemen avatar VonHeikemen commented on May 25, 2024 1

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.

jgolisg avatar jgolisg commented on May 25, 2024

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.

VonHeikemen avatar VonHeikemen commented on May 25, 2024

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.

jgolisg avatar jgolisg commented on May 25, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.