tree-sitter explained

Sdílet
Vložit
  • čas přidán 7. 03. 2024
  • I do my best to explain tree-sitter and demystify everything going on it :)
    Leave a like or comment, and subscribe of course! ;)
    Notes: teej.tv/presentations/tree-si...
    Presentation tool: github.com/d0c-s4vage/lookatme
    Neovim: Neovim btw
    Links
    Twitch: / teej_dv
    Twitter: / teej_dv
    Github: github.com/tjdevries
  • Věda a technologie

Komentáře • 193

  • @esclavodeluna8000
    @esclavodeluna8000 Před 3 měsíci +49

    Why does tree sitter sound like an insult

    • @Fafr
      @Fafr Před 15 dny

      Treeshitter

  • @radvilardian740
    @radvilardian740 Před 3 měsíci +132

    I stop before continuing watching. Thank God for having you. I want to know more about this treesitter. I hope we have series for treesitter.

    • @teej_dv
      @teej_dv  Před 3 měsíci +35

      hoping to do longer video later, will take some time to put together

    • @hazmat86
      @hazmat86 Před 3 měsíci

      ​@@teej_dv if only you would do a long length video about tree sitter, feels like you did though, like recently, ehhhh......guess not, must be losing it....BLAZINGLY CRAZY!

  • @caschque7242
    @caschque7242 Před 3 měsíci +55

    Your videos are impressive. I think the value comes from explaining one topic so one understands, how it works on an intuitive level while keeping the video short.

  • @silentobserver9095
    @silentobserver9095 Před 3 měsíci +20

    I never comment on any CZcams videos.... but damn, this video was really great. Not only did you talk about an interesting topic but also explained it extremely well.
    Please keep on releasing more of these videos. We need content creators like you.

  • @martinocrespoalvarez4663
    @martinocrespoalvarez4663 Před měsícem +1

    I'm really jealous about the way this guy expresses ideas and concepts. Huge, huge fan!

  • @Richetechguy
    @Richetechguy Před 3 měsíci +23

    Great stuff, keep it up your kickstart vid has helped me out a lot on getting back into Neovim fully.

    • @teej_dv
      @teej_dv  Před 3 měsíci +2

      Thanks!! glad to hear it :)

  • @TankorSmash
    @TankorSmash Před 3 měsíci +9

    Haskell slander aside, this was amazing! I can't believe how much of ts you explained, along with giving clear usecases and examples right into vim. Thanks for putting this out!

  • @jR-tm3ko
    @jR-tm3ko Před 3 měsíci +6

    The quality of each video you put out just gets better and better. Thank you!

  • @Tntpker
    @Tntpker Před 3 měsíci +7

    I actually used tree-sitter in a project a while ago making a LS for a DSL. It worked pretty well and had auto-complete, hover, signature help, and syntax error highlights. However, tree-sitter's error recovery ability still remains a problem to make it a viable tool for creating LSs.

  • @jasonschannel
    @jasonschannel Před 3 měsíci +4

    Followed after the LSP video, and now I get this! The top quality explainers just keep coming! Thanks TJ!

  • @LokeshKrishna1995
    @LokeshKrishna1995 Před 3 měsíci +1

    Bless you for your fantastic explainers and all your work on Neovim. Huge fan!

  • @mattwilly7959
    @mattwilly7959 Před 3 měsíci +1

    This makes a lot more sense now. Really like how you break things down in a simple way. It makes it a lot easier to understand concepts.

  • @johnathonme
    @johnathonme Před 24 dny

    Great video, thanks!!! Just the right amount of depth and standing while presenting was extra engaging!

  • @Jscodin
    @Jscodin Před 3 měsíci +1

    You really have a great way of explaining things in a way that anyone can understand, even beginners like myself - this was very interesting and informative, looking forward to the next explainer

  • @intimidate123
    @intimidate123 Před 2 měsíci

    Great video TJ! really enjoy how you break everything down, makes it easy to understand and learn

  • @xcuu
    @xcuu Před 3 měsíci

    These videos are really great TJ, please keep them coming!

  • @ParanoidxProd
    @ParanoidxProd Před 3 měsíci +19

    I would love a more in depth video on writing grammar, and more specific scanner. Been diving into writing grammars lately and so appreciate the content!

    • @teej_dv
      @teej_dv  Před 3 měsíci +9

      ya, might do longer video of this later -- will have to be way longer haha

  • @roberto8016
    @roberto8016 Před 3 měsíci +6

    I didn't know tree-sitter uses JDSL, Tom is indeed a genius

  • @user-yw6nw8so2n
    @user-yw6nw8so2n Před 3 měsíci +1

    TJ you're my new favorite youtuber/content creator. I really hope the full time thing works out for you, good luck. Definitely need more videos like these. Also now I hope you are able finish the interpreter in OCaml series one day :D

  • @meatcow417
    @meatcow417 Před 2 měsíci

    Pulled me in with the trees in the thumbnail, stayed for the solid explanations. Thanks man!

  • @amirhoseinfarhadi2268
    @amirhoseinfarhadi2268 Před 3 měsíci

    I really love this new wave of content from you champ 👍🏻

  • @droydi
    @droydi Před 3 měsíci

    Godlike TJ, well done once again with the explanations, more of this!

  • @wadechang
    @wadechang Před 12 dny

    First time in my life I feel like I understand what treesitter is. Hats off!

  • @yakomisar
    @yakomisar Před 3 měsíci

    TJ your presentations skill is a masterpiece

  • @MalakaiPrograms
    @MalakaiPrograms Před 3 měsíci

    Love this video. Recently had to edit the grammar for a semi-obscure language as it was missing features and loved how simple it was. I mean it still took me 4 hours because I didn't know anything about tree-sitter but I wish I saw this video before then, it would have been so much help! Keep it up!

  • @codetothemoon
    @codetothemoon Před 3 měsíci

    Incredible. Cleared up a ton of confusion for me. Thank you!

  • @vojtastruhar8950
    @vojtastruhar8950 Před 3 měsíci +3

    What blows my mind is that it downloads some C files, COMPILES THEM and then runs them nice and fast and natively. Great stuff

  • @gmchris4113
    @gmchris4113 Před 3 měsíci

    This was dense. I'll be honest, a lot of it went right over my head as I'm starting to learn now, but I hope to return in time and realize it all makes sense 😅.
    Great content, I love the educational stuff. Keep it up.

  • @rddavies
    @rddavies Před 3 měsíci

    You're a truly gifted teacher among your many other talents.

  • @RustFlow223
    @RustFlow223 Před měsícem

    Man your explanation sound great! Keep going!

  • @rastko614
    @rastko614 Před 3 měsíci

    Really cool video. Thank you for showing us behind the curtain!

  • @darkenblade986
    @darkenblade986 Před 3 měsíci

    i am loving these videos. really great info!

  • @funkdefied1
    @funkdefied1 Před 3 měsíci

    Man this is dope. I never thought to try to understand LSPs and the parsers powering them. It was all just magic.

  • @megaxlrful
    @megaxlrful Před 3 měsíci

    This is a great explainer on Treesitter. I used Atom in the past, switched to Vim then Neovim. I knew what treesitter did inside neovim, and heard that it is the best one at its job but never really understood what is soo good about it.

  • @SalvaToroTorus
    @SalvaToroTorus Před 3 měsíci

    Nice stuff. You explain things really well.

  • @marianouvalle895
    @marianouvalle895 Před 3 měsíci +1

    Amazing stuff Teej, keep it up!

  • @sparkhum
    @sparkhum Před 3 měsíci

    This was awesome. Thanks for the explanations!

  • @rom1detroyes143
    @rom1detroyes143 Před 3 měsíci

    I still don't really know what I can do with tree-sitter, but now I know what and how it does this thing in Neovim : great knowledge sharing, thanx :-)

  • @theIbraDev
    @theIbraDev Před 2 měsíci

    Thank you Teej for this, turns out i actually had no idea what treesitter actually did... keep it up!

  • @jong.4864
    @jong.4864 Před 3 měsíci +2

    This guy is a machine!! Def much better than that netflix-btw-guy

    • @jimshtepa5423
      @jimshtepa5423 Před 3 měsíci

      who ends his streams thinking we know his name))

  • @MrSpyTubes
    @MrSpyTubes Před 3 měsíci +1

    Great job man! Keep up the good work!

  • @sarojregmi200
    @sarojregmi200 Před 3 měsíci

    Future Nile will admire you more than anyone.
    Great video.
    Ignore the spelling mistakes if any.

  • @PotatoGameDev
    @PotatoGameDev Před 3 měsíci

    You are a good human, TJ.

  • @je12emy
    @je12emy Před 3 měsíci

    Great video, thank you, TJ!

  • @nightshade427
    @nightshade427 Před 3 měsíci

    Great video and explanation as always

  • @Jojor11
    @Jojor11 Před 3 měsíci

    I had the ideas but this really helped me connect them together… treesitter really is extremely powerful and I’m already getting ideas of cool things I could use it for if I learn it a bit

    • @teej_dv
      @teej_dv  Před 3 měsíci +1

      So great to hear!! thanks for the nice words :)

  • @joaomsa
    @joaomsa Před 3 měsíci

    Great video, lots of cool tools built around the ecosystem like ast-grep

  • @JosephMcMurray1984
    @JosephMcMurray1984 Před 3 měsíci

    You know this video is going to be good when Teej brings out the blazer.

  • @andrewrush7667
    @andrewrush7667 Před 3 měsíci

    Sharp sports coat, very professional!

  • @nemethda
    @nemethda Před 3 měsíci

    To the point, simply brilliant

  • @chrboesch
    @chrboesch Před 3 měsíci

    Thanks a lot, really good explanation.

  • @user-rl1ds8li2x
    @user-rl1ds8li2x Před 3 měsíci

    I hate the rest of the internet. Nobody else seemed to care about explaining what everything i was installing was doing and just that i should install it. This really, really sucks while ur trying to configure neovim on your own for the first time. Please keep it up < 3

  • @sandeepvk
    @sandeepvk Před 3 měsíci

    Have never understood the REAL difference between LLM, LSP and treesitter. This video was very useful

  • @liamwoodleigh
    @liamwoodleigh Před 3 měsíci

    Great video Teej!

  • @rasmusravnandersen5788
    @rasmusravnandersen5788 Před 3 měsíci

    Omg, what a great explanation!

  • @davidsicilia5316
    @davidsicilia5316 Před 3 měsíci

    Thanks for this, very helpful video

  • @TeamDman
    @TeamDman Před 3 měsíci

    Eloquently explained!

  • @FaintArt
    @FaintArt Před 3 měsíci

    cool video man, keep it up!!!

  • @gobdovan
    @gobdovan Před 3 měsíci +1

    I thought this video is about how to do a job where you clean and water the trees when the tree owner isn't home.

  • @faraonch
    @faraonch Před 2 měsíci

    Very well explained. Although, as a Mac power user it's still hard to overcome all the entry barriers. It's too easy to forget all the needed fundamentals that are needed to switch to neo vim. (as an active freelancer working on projects)

  • @Felipe-53
    @Felipe-53 Před 3 měsíci

    You are awesome, congratss great vid 🎉🎉

  • @frydac
    @frydac Před 3 měsíci

    This is the stuff, thanks!

  • @Ancipital_
    @Ancipital_ Před 2 měsíci

    Thanks, Teej.

  • @user-xl2om2up2x
    @user-xl2om2up2x Před 3 měsíci

    Dude you're on a roll

  • @alexandrostsagkaropoulos
    @alexandrostsagkaropoulos Před 3 měsíci

    That is as close to art as it can be

  • @NStripleseven
    @NStripleseven Před 3 měsíci

    The bit that I was really interested in is how the tree sitter determines what the “least number of errors” is for a given invalid program. Looks like it was never covered but I’m still curious.

  • @olbluelips
    @olbluelips Před 3 měsíci

    Great video thanks

  • @TroubleChute
    @TroubleChute Před 3 měsíci +1

    What would we do without trees*itter

    • @teej_dv
      @teej_dv  Před 3 měsíci +1

      we would not be sitting on the trees

  • @arthur-zhuk
    @arthur-zhuk Před 3 měsíci

    high value content

  • @mishydevil
    @mishydevil Před 3 měsíci

    Teej wearing a jacket, must be a serious video

  • @ranjithkumar-xt2zw
    @ranjithkumar-xt2zw Před 3 měsíci

    I watched this 10 times yesterday stream 😂😂😂

  • @JordanShurmer
    @JordanShurmer Před 3 měsíci

    you should try a different material sports coat. Tweed or Linen perhaps

  • @hyltoncarboo8303
    @hyltoncarboo8303 Před 3 měsíci +1

    You are a gem!

  •  Před 3 měsíci

    Great video.

  • @michaeletzkorn
    @michaeletzkorn Před 3 měsíci

    I could be wrong because some of the information went over my head, but it sounds like treesitter is a file syntax parser and NOT a babysitter for trees.

  • @mjhika
    @mjhika Před 3 měsíci +1

    LISP MENTIONED LISP MENTIONED LISP MENTIONED LISP MENTIONED LISP MENTIONED

  • @EmiNNsoNify
    @EmiNNsoNify Před 3 měsíci +1

    Amazing thumbnail !

  • @Luna-lp9op
    @Luna-lp9op Před 3 měsíci

    "isn't that outdated and illegal now" not proud to understand that joke because i'm chronically online

  • @ElvenSpellmaker
    @ElvenSpellmaker Před 3 měsíci

    Vscode seem to be discussing potentially moving to treesitter from textmate grammars, it'll be a loooong time though.

  • @code-island
    @code-island Před 3 měsíci

    Insane content 🎉

  • @twistedbrother
    @twistedbrother Před 2 měsíci

    I did really like the video)

  • @yuxiang4218
    @yuxiang4218 Před 3 měsíci

    great one

  • @Linuxdirk
    @Linuxdirk Před 3 měsíci

    I wish it was easier to create own custom parsers and stuff, so it’s as easy to add tree-sitter syntax highlights than it was with old Vimscript.

  • @M0K0K0
    @M0K0K0 Před 3 měsíci

    Bro it's late and I was like "tree sitter ? Wtf would you like someone to watch over a tree for you ?" and I feel very stupid now

  • @latch909
    @latch909 Před 3 měsíci

    another banger

  • @PPo2
    @PPo2 Před 3 měsíci +1

    Ayyy helix mentioned!

    • @teej_dv
      @teej_dv  Před 3 měsíci

      very cool editor!

  • @hechuan5075
    @hechuan5075 Před 3 měsíci +1

    any chance you could do an indepth LSP video, i watched the dedicated one but would like to learn more about the capabilities and handlers

    • @teej_dv
      @teej_dv  Před 3 měsíci +2

      yes, i'm planning an entire video of writing a complete lsp from scratch

    • @hechuan5075
      @hechuan5075 Před 3 měsíci

      @@teej_dvthank you than you

  • @havocthehobbit
    @havocthehobbit Před 3 měsíci

    Great explanation .I had no idea I was building something that already existed , Iv been writing a language query system in rust ... I just have no interest in having to go back to C or train someone else in C to be able to use tree sitter building new language libraries for tree sitter to use .
    I'd love to know the learning curve with tree sitter when building a language parser for a new language that hasnt been done or shared with it .

    • @teej_dv
      @teej_dv  Před 3 měsíci +1

      You don't write c when you use tree sitter. You write the grammar in js and you usually have language bindings already in other langs.

    • @havocthehobbit
      @havocthehobbit Před 3 měsíci

      @@teej_dvOK that sounds interesting , so basically tell it the syntax and structure or and using javascript to create a grammar , then I could use rust bindings if I wanted to read or compile that grammar into something consumable.
      I was under the impression I had to use C to write and compile that grammer into a library that uses C lib exports for bindings, so that I could then consume it with a Language like Rust or whatever Lang to be able to query what it parses...
      So it sounds like a 2 stage approach versus the 3 phase approach I was thinking . Which means I dont need to use C at all.

  • @Quacky_Batak
    @Quacky_Batak Před 3 měsíci

    Now I want you to make next video in full tuxedo

    • @teej_dv
      @teej_dv  Před 3 měsíci

      haha i'll think about it

  • @jaxsap4959
    @jaxsap4959 Před 29 dny

    awesome!

  • @hamzarashid7579
    @hamzarashid7579 Před 3 měsíci

    You forgot to say:
    Hopefully this video was suitable.

  • @sailingspearo1074
    @sailingspearo1074 Před 3 měsíci +1

    Good one take 😃

  • @alexandersemionov5790
    @alexandersemionov5790 Před 3 měsíci

    He's going corporate, oh no the suit

    • @teej_dv
      @teej_dv  Před 3 měsíci

      You can than twitch chat for that

  • @thiagolopes4978
    @thiagolopes4978 Před 3 měsíci

    hello TJ, may I ask you something?
    While using VS Code, the Vim extension makes possible for me to use Visual Block mode, and then when I enter "I" to insert text, then backspace , the text follows for each line selected, and it is pretty good to use with SQL queries for example. When I try to do this with Vim or Neovim, I just can't, and I don't think it is the 'whichwrap' option, do you know what it is? Thank you.

  • @ethernet764
    @ethernet764 Před 2 měsíci

    3:38 oof. I didn't come here to be roasted 😭

  • @wbaloo1
    @wbaloo1 Před 3 měsíci

    bravo!

  • @mike_yon
    @mike_yon Před 3 měsíci

    Great video except I do infact delete the file everytime I want to change something. I run echo >> file.ml (ocaml BTW) every time I need to edit something.
    It's a more functional way to program. Having random, nonrecursive access to a character in a file, like having access to an element in an array introduces state into the writing of my program

  • @matthewrossee
    @matthewrossee Před 3 měsíci

    Some lsp clients implement syntax highlighting themselves, right? How does neovim decide on using treesitter or lsp highlighting? I would assume that treesitter takes precedence, since it's faster, but if lsp and treesitter are unrelated, then how does it work?

  • @felixallistar
    @felixallistar Před 3 měsíci

    first time seeing lisp and was worried about the warnings lmao, but honestly doesn't look as bad as react.

  • @RazoBeckett.
    @RazoBeckett. Před 3 měsíci +1

    tree-stander