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
To see the full content, share this page by clicking one of the buttons below |
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 π¬
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.
Would love to see one episode setting up the events for loading each plugin, which is available with lazy's "event" within the plugin definition table.
does the LSP protocol support discovery of where a method redefines its equivalent in superclasses and is redefined in subclasses?
what a great video! you re going places
wonderful just what I wanted, and just when I needed it the most
This video was awesome!! Thank you so much teacher!
I noticed that you've switched between v0.9.4 and nightly versions of Neovim for the past few epidsodes. Is there any particular reason for swtiching versions?
Fantastic video!
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".
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
Thank you so much for this series
Thanks!
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!
I finally learned how to pronounce clangd and also how LSP works within Neovim.
Super helpful thankyou β€π
Finally!
Enjoy this!
I think its safe to say this is the best neovim series yet.
Thanks for this series man! It's really helped me out understanding nvim terms and setting up my own config and came at the perfect time.
Amazing video! I really like to learn the vim api and you can explain it so well, thanks a lot!
clean video as always
21:23 glad to see that I'm not the only person who keeps messing up trying to paste stuff into an empty set of quotes π
I'm trying to setup latex for nvim but nothing work to make cmp work well on .tex files any suggestions
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 π
Thanks!
absolutely wonderful, thank you for all the efforts π
God tier YouTube material, keep it up!
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?
Time to enjoy the weekend! Thanks a lot!