Create a Server

Understanding Neovim #7 – Language Server Protocol

Understanding Neovim #7 – Language Server Protocol

#Understanding #Neovim #Language #Server #Protocol

“Vhyrro”

LSP is easily one of the most difficult topics that one can grasp in their day to day editor usage. In this episode I break down as many concepts as I can and internalize how they work within Neovim πŸ˜€

Timestamps:
00:00 Intro
01:05 Theoretical Overview
06:09 Neovim’s LSP Client
07:40 Using an LSP the Hard Way
09:09 Installing clangd
11:30 Making Neovim use clangd
15:33 Autocommands
17:54 vim.lsp.buf.*
20:04 nvim-lspconfig
23:09 Extra Information + Outro

Like what I do? A sponsor to the channel or on my Github is greatly appreciated:

Want to hang out? Check out the Neorg discord!

Attribution for intro song:

“Study And Relax” Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 4.0 License

source

 

To see the full content, share this page by clicking one of the buttons below

Related Articles

29 Comments

  1. I tried my best making the explanations as clear as possible on this one, let me know what you thought! As always lots of content to come πŸ™‚

    edit: also no the flickering at the intro screen is not intentional 😬

  2. great content. I was wondering you how you would set it up to take a look at your current working directory and have it parse your custom source files since everything is included in a Makefile that im using to build my project. I keep getting errors for includes and typical type definitions. Not really sure how to fix that side of things up. Any resources towards that would be appreciated too.

  3. These are the best videos on Neovim. It is great the way you explain everything and make it easy to follow along. I can pause the video and try out everything as you describe.
    You mentioned that opening help shows treesitter errors and running TSUpdate fixes them. I had this problem and fixed it by adding "luadoc" to the "ensure_installed" list of "nvim-treesitter".

  4. thank you for these videos! i hopped onto neovim because of this series but this lsp video wasn't released yet. i wondered if i could set it up on my own and i figured it out! using the lsp config plugin and mason as well. this video is still very useful though, i wasn't sure how things worked under the hood

  5. This was so helpful, as i found it difficult to understand how lsps working, though i set it up somehow πŸ˜…. Looking forward to the next videos, thank you for creating such an in depth explanation of all things neovim!

  6. Oh thank you so much, for a project at my university next month among other things I want to build a simple language server for a specific use case that I want to get working under neovim. That video came at just the right time πŸ₯°
    If the video about treesitter parsers would also come soon, I would have almost everything I need for my project 😘

  7. Would it be accurate to say that treesitter understands the semantics of a given language and can therefore catch parsing errors while an lsp needs to understand some level of the implementation details of a given language to for example, catch a runtime error before it happens?

Leave a Reply