Understanding Neovim #7 - Language Server Protocol

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

ความคิดเห็น • 90

  • @vhyrro
    @vhyrro  11 หลายเดือนก่อน +60

    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 😬

    • @LillyAnarkitty
      @LillyAnarkitty 11 หลายเดือนก่อน +1

      Also seems to be some audio skipping

    • @Web-Dev-Codi
      @Web-Dev-Codi 10 หลายเดือนก่อน +4

      The information provided outweighs the "imperfections". I just started using Neovim since I want to get better at typing and shortcuts for productivity. VScode has too much going on visually, so I decided to switch to nvim. With that said I appreciate you taking the time to bestow us with your knowledge. You're making the transition less painful and I have learned a lot thanks to you. Also, don't stress about the little things. Knowledge is power. 😎👍🔥

    • @jeffreyhymas6803
      @jeffreyhymas6803 10 หลายเดือนก่อน +6

      Dude is out here making the best neovim series on TH-cam, not to mention its also one of the best coding related tutorials I have ever seen in general, and he's still apologizing for minor glitches.The whole video could have looked like it was played back on a busted ass CRT TV from the 80s and I still would have enjoyed the hell out of it.
      Keep it up dude, this series is incredible. Also, I seriously think you should keep the little video glitch during the intro. Goes with the general vibe provided by the music really well.

    • @menash134
      @menash134 5 หลายเดือนก่อน

      Hi, I am trying to use clang server in nvim. It is a big project with multiple repository and multiple compilation switches. I want to say to the clangd to ignore all the compilation switches and just concentrate on diagnostics. how can i do it? what option can i set in nvim or in clangd?

  • @iconoclastsc2
    @iconoclastsc2 9 หลายเดือนก่อน +20

    Showing how it's done without the plugins so that we can understand what the plugins actually do is the correct approach. Well done. More of this, please.

  • @AlleBalle54
    @AlleBalle54 10 หลายเดือนก่อน +26

    this is perfect, I much more prefer the "starting from scratch" approach in the beginning, as opposed to some other tutorials that say "just install this wrapper plugin for the plugin x etc..." and then being left clueless about everything. thank you

  • @premmodha
    @premmodha 10 หลายเดือนก่อน +6

    can't wait for part 8

  • @muizzyranking
    @muizzyranking 11 หลายเดือนก่อน +16

    I think its safe to say this is the best neovim series yet.

  • @ottopux
    @ottopux 9 หลายเดือนก่อน +6

    This entire series has been simply excellent, thank you!!

  • @henrigriessel3362
    @henrigriessel3362 9 หลายเดือนก่อน +4

    Love the content this is the bets tutorials I have found and you will be the reason I shift permantly into neovim

  • @NoLoginIdea
    @NoLoginIdea 9 หลายเดือนก่อน +3

    Those tutorials are truly perfect.

  • @brick4667
    @brick4667 10 หลายเดือนก่อน +4

    Popped a stiffy when I saw that LSP message pop up. Please keep pumping these out man. I've never felt so empowered with configuring NVIM. I've been a distro-hopper with nvim and never really understood what I was doing when modifying my configs. This is a game changer.

  • @sijink719
    @sijink719 11 หลายเดือนก่อน +7

    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 :P

  • @pankajagarwal8458
    @pankajagarwal8458 9 หลายเดือนก่อน +1

    Great work! I watched all 7 episodes in one sitting. Looking forward to further episodes.

  • @cajone7591
    @cajone7591 หลายเดือนก่อน

    OMG! Thank you so much for this, this is by far, without exception the best 25mins and 18 secs I have ever invested in watching an information sharing video. I will now have to traverse the backlog of other videos you have done. Fantastic work !!!

  • @Sarm8
    @Sarm8 10 หลายเดือนก่อน +5

    You're bottom up approach is so appreciated my friend.

  • @areotwister
    @areotwister 11 หลายเดือนก่อน +10

    Thanks a lot!

    • @8ack2Lobby
      @8ack2Lobby 11 หลายเดือนก่อน

      I want to share something from my watch list with you, I hope it will help. Building Language Server from Scratch th-cam.com/video/Xo5VXTRoL6Q/w-d-xo.html

  • @michamieluch9012
    @michamieluch9012 3 หลายเดือนก่อน

    Mate, you have no idea how grateful I am for this video (and the entire series). I've been using plain Vim/NeoVim for years, but I've only recently discovered how vast the ecosystem is nowadays, so I'm trying to make a full switch from JetBrains to NeoVim. I tried LazyVim and NvChad, but they're quite advanced, and I couldn't figure out some of the plugins, set up, etc. I have a MUCH better understanding of their configurations now, and I managed to set up LSP for Golang and TypeScript myself, thanks to this video! Many thanks!

  • @tiagodejesus456
    @tiagodejesus456 10 หลายเดือนก่อน +3

    Great video! Looking forward to the following in your series!

  • @jamieroyer8796
    @jamieroyer8796 11 หลายเดือนก่อน +5

    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".

  • @1..1..1..1H
    @1..1..1..1H 7 หลายเดือนก่อน +2

    I don't know what to say, I am in love with this series, I watched each one 3 or 4 times.

  • @poweruser64
    @poweruser64 8 หลายเดือนก่อน +1

    I thought I understood LSP, but this went much lower-level than my understanding. Thanks for going so in-depth with this!

  • @yuxiang4218
    @yuxiang4218 7 หลายเดือนก่อน +2

    the best neovim series

  • @Zippythrone
    @Zippythrone 8 หลายเดือนก่อน +2

    This is hands down the best nvim tutorial so far!

  • @a_maxed_out_handle_of_30_chars
    @a_maxed_out_handle_of_30_chars 11 หลายเดือนก่อน +6

    absolutely wonderful, thank you for all the efforts :)

  • @iam_spaceCabbage
    @iam_spaceCabbage 11 หลายเดือนก่อน +4

    God tier TH-cam material, keep it up!

  • @HanifCarroll
    @HanifCarroll หลายเดือนก่อน

    You've done a great job explaining this topic. I feel like I actually understand what's going on now. Thank you!

  • @sp3ctum
    @sp3ctum 10 หลายเดือนก่อน +3

    This is really good. I enjoyed this a lot, thanks for making it!
    You have a gift for communication and education. Hope you enjoy using it in your work + life. 😄👍🏻

  • @starmountpictures
    @starmountpictures 7 หลายเดือนก่อน +1

    This is valuable content. I hope you continue to make neovim / lua tutorials. Subscribed and liked!

  • @paterson.
    @paterson. 11 หลายเดือนก่อน +3

    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!

  • @AlaaMahran1
    @AlaaMahran1 10 หลายเดือนก่อน +2

    Amazing work, finally a tutorial that goes through the deep details
    Looking forward for the rest of the series

  • @mars_0008
    @mars_0008 10 หลายเดือนก่อน +2

    This is good. Explaining a very abstract concept in a very clear way

  • @mal0412
    @mal0412 10 หลายเดือนก่อน +2

    what a great video! you re going places

  • @abombfuenmayor
    @abombfuenmayor 11 หลายเดือนก่อน +3

    Thanks!

  • @Linuxdirk
    @Linuxdirk 9 หลายเดือนก่อน +1

    19:18 ... I actually think this is a a far more simple and easy and low-footprint approach than installing any of the various available LSP helpers.
    Oh, and I'd love to actually run the LSP server on an actual server and Neovim just connects to that server. So I don't need to configure the server on every client I use but only need to set up the LSP client.

  • @lv8pv
    @lv8pv 9 หลายเดือนก่อน +1

    Really really good series. This method of learning is exactly how I learn best. Thank you so much. Hope you keep adding to this series.

  • @saabirmohamed636
    @saabirmohamed636 9 หลายเดือนก่อน +1

    Excellent content. much needed!
    Im looking forward to you next videos!

  • @Denis-wf4bl
    @Denis-wf4bl 11 หลายเดือนก่อน +3

    Amazing video! I really like to learn the vim api and you can explain it so well, thanks a lot!

  • @pierreantoine-cheron
    @pierreantoine-cheron 9 หลายเดือนก่อน

    Great stuff
    Can't wait for the next episode!

  • @arcuscerebellumus8797
    @arcuscerebellumus8797 10 หลายเดือนก่อน +2

    Keep it up, dude! These are awesome!

  • @alexanderk4147
    @alexanderk4147 10 หลายเดือนก่อน +2

    I really like your approach to introducing new concepts with a lot of depth. Do you think you could talk a bit about how/why jdtls (Java lsp) is different and trickier to set up? Possibly how to set up jdtls? Thank you for explaining all this to us!

  • @oleph
    @oleph 11 หลายเดือนก่อน +2

    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.

  • @eppi6328
    @eppi6328 11 หลายเดือนก่อน +1

    wonderful just what I wanted, and just when I needed it the most

  • @crawron
    @crawron 11 หลายเดือนก่อน +1

    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

  • @zxcv4306
    @zxcv4306 11 หลายเดือนก่อน +1

    I finally learned how to pronounce clangd and also how LSP works within Neovim.

  • @d4rthvad3y
    @d4rthvad3y 9 หลายเดือนก่อน

    Very insightful video. Thanks for making it! I have finally settled down into a working setup that I really like, even getting jdtls setup and working, but wanted to see more info about how the lsp actually worked.

  • @michamieluch9012
    @michamieluch9012 3 หลายเดือนก่อน

    Thanks

  • @lutzzdias
    @lutzzdias 10 หลายเดือนก่อน +1

    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.

  • @mprasanth18
    @mprasanth18 9 หลายเดือนก่อน +1

    I am waiting for the next video

  • @Petsod
    @Petsod 9 หลายเดือนก่อน +1

    Finally court up with the series! Sublime guide. One thing i wondering, how do you have auto-complete i nvim? If have not missing anything it this guide where you set it up? Kind looks like you have the same type of auto-complete in bash too. (running EndeavourOS (arch)).
    Could you try to remember the launch that wonderful program that displays what you type? (Screencast?)

  • @martinarce8138
    @martinarce8138 11 หลายเดือนก่อน +1

    This video was awesome!! Thank you so much teacher!

  • @johnsvensson3002
    @johnsvensson3002 8 หลายเดือนก่อน

    Great series. Just golden!

  • @jesperlindqvist3318
    @jesperlindqvist3318 9 หลายเดือนก่อน +2

    We need more!!! :)

  • @bentomo
    @bentomo 4 หลายเดือนก่อน

    Other people are saying it but I'm going to echo how good it is that you're doing this from scratch and not writing another guide that will go out of date in a year when the next package manager replaces lazy.

  • @mazenmohsen3423
    @mazenmohsen3423 11 หลายเดือนก่อน +1

    Time to enjoy the weekend! Thanks a lot!

  • @buwatermelon
    @buwatermelon 11 หลายเดือนก่อน +2

    Finally!

  • @bqrkhn
    @bqrkhn 11 หลายเดือนก่อน +1

    Thank you so much for this series

  • @bagfleet
    @bagfleet 11 หลายเดือนก่อน +1

    Fantastic video!

  • @farzadmf
    @farzadmf 10 หลายเดือนก่อน +1

    GREAT video!!! Are you planning to maybe cover lspzero as well? (just curious)

  • @pierreantoine-cheron
    @pierreantoine-cheron 9 หลายเดือนก่อน

    Great work, thank you so much!

  • @clearfield77
    @clearfield77 10 หลายเดือนก่อน +2

    Brilliant!

  • @brycethompson
    @brycethompson 5 หลายเดือนก่อน

    I finally get it! Thank you!

  • @vitalydushkin
    @vitalydushkin 10 หลายเดือนก่อน +1

    Thanks! You're doing a fantastic job explaining all those concepts. Could you please for the next video make a bottom margin of 100px or something so if one pauses a video - the command portion of the editor is visible. You see I'm trying to follow along and occasionally pause the video to do the same action, but youtube's video controls cover commands just right so it's impossible to see what's behind. I have to rewind like 10 times for each command to be able memorize the command well enough to be able to type it in.

    • @iconoclastsc2
      @iconoclastsc2 9 หลายเดือนก่อน

      Get the "Tweaks for TH-cam" browser extension.

  • @samuelborn9004
    @samuelborn9004 11 หลายเดือนก่อน +1

    Enjoy this!

  • @ribbalhussain4616
    @ribbalhussain4616 9 หลายเดือนก่อน +1

    @vhyrro I love your series, but i've been trying to find it forever, but what colorscheme do you use on your terminal? (Not neovim) Looks really good!!

  • @kugurerdem
    @kugurerdem 6 หลายเดือนก่อน

    Crystal clear.

  • @nicholassemmens7865
    @nicholassemmens7865 10 หลายเดือนก่อน +1

    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.

  • @5thbatman
    @5thbatman 10 หลายเดือนก่อน +1

    Really appreciate if you can make a series on how to develop a plugin for neovim

  • @sauravprashar
    @sauravprashar 10 หลายเดือนก่อน +1

    Please show how to configure compiler.nvim and nvim-dap.

  • @sayanta01
    @sayanta01 5 หลายเดือนก่อน

    thanks you so much man

  • @1..1..1..1H
    @1..1..1..1H 7 หลายเดือนก่อน

    for any windows user, you need to put the bin path for Clangd in your environment variables so the terminal can see it.

  • @fsocietytrading
    @fsocietytrading 11 หลายเดือนก่อน +1

    I'm trying to setup latex for nvim but nothing work to make cmp work well on .tex files any suggestions

  • @fhvirus3221
    @fhvirus3221 11 หลายเดือนก่อน +1

    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?

  • @ArisTheInquring
    @ArisTheInquring 10 หลายเดือนก่อน +1

    i installed clangd in neovim but now when i edit a c file i get errors for the header files when i have the headers on my machine and the code compiles fine

    • @rezhaadriantanuharja3389
      @rezhaadriantanuharja3389 2 หลายเดือนก่อน +1

      You need to have the compile commands JSON file in the source directory.

    • @ArisTheInquring
      @ArisTheInquring 2 หลายเดือนก่อน

      @@rezhaadriantanuharja3389 This is from when I was a little more ignorant on lsp so I changed and learned about lsp and it fixed the issue particularly through mason lsp config.

  • @nahbruhwhat
    @nahbruhwhat 3 หลายเดือนก่อน

    Wow wow. What's going on in the browser? What plugin is that? Tab placement is from the future.

  • @abombfuenmayor
    @abombfuenmayor 11 หลายเดือนก่อน +1

    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?

    • @vhyrro
      @vhyrro  11 หลายเดือนก่อน +1

      Yeah you're on the right track, although the most accurate way of saying it is that treesitter has a full understanding of the syntax of a given language whereas an LSP has full understanding of the semantics of a given language.
      Syntax tends to overlap with semantics in some programming languages but this is still the most "correct" way of saying it :)

    • @abombfuenmayor
      @abombfuenmayor 11 หลายเดือนก่อน +1

      @@vhyrro Thank you! I think I may just need to clarify the exact definitions of the words syntax and semantics but I think I understand.
      This is a VERY cool video and is clarifying a lot for me. Thanks again! For sure going to donate.

  • @Roxaro
    @Roxaro 3 หลายเดือนก่อน

    bro this is what I was looking everyone says install this and this and never say why we even should do it

  • @secondculs
    @secondculs 10 หลายเดือนก่อน +1

    Wth is this? Is this seasonal anime? It end in a clifhanger... hahaha
    Anyway, I'm waiting for your next video to setup the LSP using mason or something like that. For now I'm gonna try to configure it myself

  • @bqrkhn
    @bqrkhn 11 หลายเดือนก่อน +3

    Thanks!

  • @tdimitrov
    @tdimitrov 10 หลายเดือนก่อน +1

    Thanks!

  • @faruzzy
    @faruzzy 2 หลายเดือนก่อน

    Thanks!