Learn By Building: Language Server Protocol

Поділитися
Вставка
  • Опубліковано 10 січ 2025

КОМЕНТАРІ • 216

  • @lemurza5236
    @lemurza5236 9 місяців тому +216

    The best thing that's happened in the past 2 years is TJ becoming a full-time content creator

  • @BlakeRogersNS
    @BlakeRogersNS 9 місяців тому +109

    Love that you do deep dives into these topics and make them simple!

    • @teej_dv
      @teej_dv  9 місяців тому +18

      That's the goal!! Really appreciate the message :)

  • @inDefEE
    @inDefEE 9 місяців тому +43

    I am only 35 mins in but this is absolute gold. Not necessarily in terms of the specifics of building an LSP... I mean it's great, but how many of us are actually gonna need to build an LSP from scratch ... but just in terms of problem solving, how to approach learning something, and how to de-mystify a topic. This 2 hour video must have taken your weeks of research and practice. Really appreciate all that hard work and then sharing it with us all.

  • @smithshelke2036
    @smithshelke2036 9 місяців тому +47

    THIS GUY IS THE BEST TEACHER IN ALL OF INTERMEDIATE TECH UA-camRS

    • @blovio
      @blovio 9 місяців тому

      Absolute facts

    • @alikin
      @alikin 9 місяців тому +1

      best among INTERMEDIATIES?

    • @rodrigolj
      @rodrigolj 9 місяців тому +6

      I guess he meant "best teacher for intermediate level programmers on UA-cam", but ended up calling TJ a mid teacher 😂

    • @alikin
      @alikin 9 місяців тому

      @@rodrigoljhe literally said that, and what surprised me most, the other comment with "absolute facts."

    • @alikin
      @alikin 9 місяців тому

      Now the question is what's better?
      best among intermediates
      or
      worst among the best?

  • @LukasSmith827
    @LukasSmith827 9 місяців тому +18

    wow this is months worth of work in 2 hours, this is gonna take me so long to finish

    • @teej_dv
      @teej_dv  9 місяців тому +30

      just fall asleep to it on repeat (for the watch time metrics plz) LUL

  • @rabidhamper7
    @rabidhamper7 9 місяців тому +27

    I enjoy how casually TJ call "
    " "registered nurse"

  • @TaiGroot
    @TaiGroot 9 місяців тому +3

    Thanks! I am just about to write one, perfect timing!

  • @andrewrush7667
    @andrewrush7667 9 місяців тому +2

    Thanks! You’ve made switching to Neovim so much easier due to your videos!

    • @teej_dv
      @teej_dv  9 місяців тому +1

      Wowowowow!! Thanks so much!!!

  • @jordanray1537
    @jordanray1537 9 місяців тому +9

    Pausing to say you are an incredible teacher. Everything makes perfect sense. You build on previous ideas in a way that helps anyone understand. Brilliant stuff!

  • @chrishipple4419
    @chrishipple4419 9 місяців тому +5

    love this. I built a LSP server last year to help validate & format our custom PR body requirements in a markdown file locally rather than waiting on CI. Totally silly project but the point was to learn LSPs.

  • @twenty-fifth420
    @twenty-fifth420 9 місяців тому +5

    1:05 As someone who has glanced at the treesitter and LSP manuals, I want to say readability of documentation is really essential. I read a lot and I write a lot, so seeing good language is important to me. There is just something about hand written documentation that is also a skill and treat for developers out there. And I say this because my first experience ever with documentation...was Ruby on Rails.
    I have not quite recovered since.

  • @riley-arr-g
    @riley-arr-g 15 днів тому

    Fantastic presentation. I like the way you tell people to concentrate, read and think.

  • @gokayburuc
    @gokayburuc 4 місяці тому +1

    P.S. : Read The "M.F. ( Most Favorite ) Docs"😁. Everybody thinks TJ is a code magician, but he is an enthusiastic developer. Reads more and produces more. And he teaches us how to solve any problem by developing the problem-solving skills. Some devs take a glance to the title of the video and asks themselves "Hey why i need to write a LSP from scratch?" And the others (like me) taking notes from the TJ's techniques : "How to manage JSON files using GO? Where to find the necessary information about LSP? How to read the official docs for your projects? How to use files which consist of structs in GO language? How to use log files? Thank you TJ for the inspirations.

  • @trampoline60
    @trampoline60 Місяць тому

    I am in the process of learning Go and this video is pure gold. So jampacked with practical information to get started

  • @iyousef46
    @iyousef46 9 місяців тому +5

    a few days ago tree-sitter and now an LSP, you are killing it :D

  • @norman.soetbeer
    @norman.soetbeer 8 місяців тому +1

    What a great video! Often I find myself being overwhelmed when only looking at the final code of some projects on Github. But watching this getting built from scratch with all those explanations and thoughts was really helpful!

  • @arlaxia
    @arlaxia 9 місяців тому

    I've been waiting for an LSP tutorial like this for Neovim for so long!! It's been a while that I've wanted to know more about LSP and how it works with Neovim, but lacked some of the knowledge to build the server myself. This is perfect, thank you!

  • @sudonick-kn5zn
    @sudonick-kn5zn 9 місяців тому +1

    this is hands down one of the best tutorials, and this is how every tutorial should be like. great work full time content creator that streams btw!

  • @RenteaRadu
    @RenteaRadu 9 місяців тому +1

    Thank you TJ, I really appreciate this type of content/topics!

  • @rubinbhandari124
    @rubinbhandari124 9 місяців тому +4

    Damn the timing. I was looking for a golang project to refresh up on golang and this landed just in time.

  • @ВладимирРудавский-ы2в
    @ВладимирРудавский-ы2в 4 місяці тому +1

    There is no way my favourite Vim youtuber has made a video on another thing I'm interested in (using my favorite language as well, wtf)

  • @erjdev
    @erjdev 9 місяців тому +1

    Super interesting seeing the layers comprising LSPs. Thanks again for the epic videos! Your style is fantastic and easy to follow.

  • @genderender
    @genderender 9 місяців тому

    omg, this is exactly the kind of video i was hoping existed. i'm not a great dev, and have no idea where to start with a LSP. you're the best tj

  • @hharcont
    @hharcont 9 місяців тому +6

    I was just looking for this, thank you so much Neovim Jesus!

    • @sp3ctum
      @sp3ctum 9 місяців тому +5

      He died for our vims 😂

    • @joseph0x45
      @joseph0x45 9 місяців тому

      @@sp3ctumI laughed at this a little bit too much xD

    • @sp3ctum
      @sp3ctum 9 місяців тому

      @@joseph0x45 ikr I have been laughing at it all day myself 🤣

  • @sp3ctum
    @sp3ctum 9 місяців тому +1

    Oh yes I was just starting to build my toy LSP project! It's going to be written in rust, and I think I'll build a treesitter parser for the language first.
    This will be very helpful. Also wanted to say thanks for your content! It ignited a passion I had a long time ago and has made my life a lot better.

  • @alexandersemionov5790
    @alexandersemionov5790 9 місяців тому

    the split personality approach to explain server to neovim communication is great. Very informative and Fun!

  • @joseiedo
    @joseiedo 9 місяців тому +1

    I love this channel. Good work TJ!

  • @matez8355
    @matez8355 9 місяців тому

    wtf, crazy high quality content keeps coming out and in topics no one else is or even can teach people like TJ can

  • @ashleyspianoprogress1341
    @ashleyspianoprogress1341 9 місяців тому

    You are a fantastic teacher. I have an interview coming up for a team that works on LSP for generative AI features and this content is invaluable

  • @wesleylewis9140
    @wesleylewis9140 9 місяців тому +1

    Great video man. You made it look so easy and smooth!

  • @marcusshep
    @marcusshep Місяць тому

    Such a pleasure watching TJ use neovim.

  • @henriquefigueiredo4077
    @henriquefigueiredo4077 7 місяців тому

    This is the video I was expecting to find when I've tried to add some features to Java LSP and I gave up. It was too hard, not the LSP part, but the Java Compile API. Thank you,

  • @ibzih
    @ibzih 9 місяців тому

    Such a great video, not only for LSP basics itself but also the Go learning aspect of it too. Thanks for the content :D

  • @droid806
    @droid806 9 місяців тому

    Man, I always fall asleep during your streams, but these presentations... Oh yeah, they're literally becoming part of World Heritage now.

  • @ghun131
    @ghun131 9 місяців тому

    I need 2 months to learn Go then I'll return to this video. So exciting!!!

    • @stefanalecu9532
      @stefanalecu9532 9 місяців тому +1

      You could learn enough Go to be able to get the gist of what's going on and at the same time rewrite it using your preferred language, the same concepts apply

  • @mahmoudayoub9168
    @mahmoudayoub9168 9 місяців тому

    Thanks for sharing this, it really helps to see how experienced devs work

  • @dmitrygronsky2832
    @dmitrygronsky2832 5 місяців тому

    That is pure gold, thank you TJ. Keep it up man!

  • @catalinvoineag6344
    @catalinvoineag6344 9 місяців тому +1

    Please do more of these! They are great explainers :)

  • @anakinsonone
    @anakinsonone 9 місяців тому

    After installing quite a few LSPs, I became curious about what exactly an LSP is. So, I opened UA-cam, and just as I was about to search 'What is an LSP and how does it work?' I saw this video as my first recommendation. UA-cam seems to be reading my mind in real-time.

  • @RaniGiro
    @RaniGiro 8 місяців тому

    Absolutely amazing video, tj really makes a complex topic like lsp and simplifies it. Great job!

  • @tobiasweyer5063
    @tobiasweyer5063 9 місяців тому

    Just the perfect timing! I was looking into LSPs and also want to learn more GO. THX TJ.

  • @FruchteisMitErdbeer
    @FruchteisMitErdbeer 9 місяців тому

    Huh, this shows me that go actually seems to be a lot nicer to work with than I expected

  • @MarkAngelo-jl6vb
    @MarkAngelo-jl6vb 9 місяців тому +7

    i really like your videos, you explain really hard concepts very simple and easy to understand

    • @teej_dv
      @teej_dv  9 місяців тому +1

      Thanks! That's a really nice comment

  • @kcin4206
    @kcin4206 9 місяців тому +1

    couldn’t agree more with the first sentence. great video 👍

  • @iambasanta
    @iambasanta 8 місяців тому

    This is so good, i'm gonna follow it step by step. Thanks TJ for this amazing content!

  • @eulersson
    @eulersson 8 місяців тому

    What a masterclass 😍 You are a very good communicator TJ.

  • @cycomkid
    @cycomkid 26 днів тому

    The Only useful and productive video with neovim. Good job

  • @theondono
    @theondono 9 місяців тому

    Teej not only told us to RTFM, he also made a video because he knew we’re not going to RTFM anyway. Thanks Teej

  • @nilskch
    @nilskch 6 місяців тому

    One of the best tutorials I have ever seen! Thanks!

  • @albertobalsam2342
    @albertobalsam2342 9 місяців тому +1

    You are a great teacher. Learned a lot. Thank you, teej!

  • @KW-oi4bi
    @KW-oi4bi 3 дні тому

    absolutely amazing video as always. thanks TJ

  • @ArielBenichou-cx3vu
    @ArielBenichou-cx3vu 3 місяці тому

    wow, this is an phenomenal piece of content! thank you a million times

  • @tamatotodile
    @tamatotodile 7 місяців тому

    Learned so much from you teej, thanks a lot for making this video! Looking forward to the treesitter one!

  • @Strawberry_Htet
    @Strawberry_Htet 9 місяців тому

    mannnn READ THE FRIENDLY MANUAL is now my motto because of you, teej

  • @lallenfrancisl
    @lallenfrancisl 8 місяців тому

    I don't think there is a better video on building LSPs on the internet than this

  • @bbfh-yt
    @bbfh-yt 9 місяців тому

    These tutorials are so great, simple, to the point and no bs just pure gold

  • @blovio
    @blovio 2 місяці тому

    The return of the king, with another banger

  • @CheezePie
    @CheezePie 9 місяців тому

    Probably the best LSP guide on UA-cam! Love your content man❤
    Honestly, I was scared of the documentation😅
    Now I feel confident enough to RTFM
    Thanks Teej😁

    • @stefanalecu9532
      @stefanalecu9532 9 місяців тому +1

      Teej made the manual friendly for everyone

    • @CheezePie
      @CheezePie 9 місяців тому

      @@stefanalecu9532 True!

  • @jorgeandresnumamendoza258
    @jorgeandresnumamendoza258 9 місяців тому

    Activate subtitles please. Thank you so much. This is amazing.

  • @DouglasGubert
    @DouglasGubert 9 місяців тому

    This is absolutely amazing, made me feel ready to take my skill issues to golang once more!

  • @SalvaToroTorus
    @SalvaToroTorus 9 місяців тому

    Very cool topic, thoroughly and clearly explained, really good advice and Golang masterclass included.
    Thanks!

  • @maximofernandez196
    @maximofernandez196 9 місяців тому

    I'm happy I actually learned more of htmx reading that friendly manual that I could ever do watching a yt video.
    And you know what? I'm gonna read the unfriendly and scary manual and actually learn how to make an http server

  • @Iturner72
    @Iturner72 3 місяці тому

    i love tj, fantastic teaching style :)

  • @ForeverZer0
    @ForeverZer0 9 місяців тому

    Very helpful video. I have project making my own toy language for learning/hobby purposes, and was soon going to dive into making an LSP for it, so this video will be helpful as a resource to come back to when I start it in earnest.

  • @francescarpi
    @francescarpi 8 місяців тому

    Thank you so much for this video. I learned a lot, and I'm excited to start tinkering with my own LSP.

  • @Gordolone
    @Gordolone 9 місяців тому

    Awesome video Teej! loved it! keep up the amazing work

  • @atxorsatti
    @atxorsatti 9 місяців тому

    Thank you
    Thank you thank ypu thank you
    Thank you
    Thank you
    We need more content creators like this
    Take notes pls

  • @amzabdrahim3350
    @amzabdrahim3350 9 місяців тому

    beautiful content, this is real engineering! please keep going ! you are a great teacher!

  • @alexmeta6314
    @alexmeta6314 9 місяців тому +1

    Great content! Is it possible to create a language server or, alternatively, connect to a language server from a web-based code editor?

  • @Echiduna
    @Echiduna 9 місяців тому

    Love you TJ, you are always making such amazing content for us🥰

  • @FaintArt
    @FaintArt 9 місяців тому

    thanks and keep continuing to make such videos even though the audience size is less today.. it will be high soon

  • @TheTmLev
    @TheTmLev 9 місяців тому

    What a legend you are, TJ! Thank you

  • @james.schubert
    @james.schubert 9 місяців тому

    This is a fantastic video. Thanks, TJ!

  • @sbarrios93
    @sbarrios93 9 місяців тому

    By far your best video yet 🔥

  • @murillomr7
    @murillomr7 9 місяців тому +1

    Valeu!

  • @clementdato6328
    @clementdato6328 9 місяців тому

    Your videos are so clear and educational ❤ much more superior to those random guys that work in big companies, such as netflix❤

  • @adampaul7905
    @adampaul7905 8 місяців тому

    It's an incredible video. It is actually a skill I wanted to learn ! I will soon do some try in rust to do a lsp such like that.

  • @mrstopanimate
    @mrstopanimate 9 місяців тому

    Good stuff TJ!!!! This is so awesome

  • @abdurahmanmohamed4732
    @abdurahmanmohamed4732 5 місяців тому

    You are a goos teacher Teej, keep it up

  • @blaq_da_greater
    @blaq_da_greater 9 місяців тому

    Man, this man doesn't miss!!

  • @arbitrandomuser
    @arbitrandomuser 9 місяців тому +10

    I'm watching this video at 0.25x so i get to view that magnificent shirt longer.

  • @sweetbabyalaska
    @sweetbabyalaska 9 місяців тому

    You're a really good teacher.

  • @albizutoday2754
    @albizutoday2754 2 місяці тому

    Th is so smart. Somebody hire him!

  • @neojoey
    @neojoey 5 місяців тому

    Thanks TJ For this amazing Video

  • @ramtennae
    @ramtennae 9 місяців тому

    Very well presented, awesome video!

  • @cjjb
    @cjjb 9 місяців тому

    Love your content, man. Keep it up!

  • @chrisjames278
    @chrisjames278 9 місяців тому

    Great fun to follow along with, thanks!

  • @bbfh-yt
    @bbfh-yt 9 місяців тому +1

    Looking forward to a similar project for Tree-sitter

  • @akshettrj
    @akshettrj 9 місяців тому

    You are a really good teacher 😊

  • @whenrow3630
    @whenrow3630 4 місяці тому

    Simply masterful. Thanks

  • @popplestones886
    @popplestones886 9 місяців тому +1

    Amazing stuff TJ, a little confused on how to setup the lsp attachment for markdown, specifically the require("tj.lsp"), whats in that file?

    • @popplestones886
      @popplestones886 9 місяців тому +1

      I just left it as a blank function
      on_attach = function() end
      and i can add whatever later in there. And it's working.

  • @burakyildiz8921
    @burakyildiz8921 9 місяців тому

    Great teaching formation! Great content! Thank you.

  • @weiSane
    @weiSane 9 місяців тому +2

    TJ with that shirt on you look like you should be chilling somewhere on a beach in the Caribbean or Hawaii 😂

  • @jorgeimo
    @jorgeimo 9 місяців тому

    Fantastic video TJ, thank you!

  • @nzdude87
    @nzdude87 9 місяців тому

    I'll never forget that registered nurse tip. i always used to get those the wrong way around.

  • @alikin
    @alikin 9 місяців тому

    I expectec to write the comment "I wish you ignored the chat, and focused on the thing you are doing," and saw that there is not chat. Cool!

  • @taetaebahohiningamo
    @taetaebahohiningamo 9 місяців тому +326

    this will be the top comment

  • @MattRobinsonDev
    @MattRobinsonDev 9 місяців тому

    Incredible as always

  • @willemjannoort9628
    @willemjannoort9628 9 місяців тому

    Last year I tried to build a bridge between nvim-dap and powershell dap server to make them communicate over named pipes, which nvim-dap didn't support at the time. I learned a lot but in the end it was a bridge too far.. Dap seems to be quite similar to lsp

  • @ragectl
    @ragectl 9 місяців тому

    Here is me watching this video thinking Teej just made it easy enough for me to try this myself