Neovim Lua Plugin From Scratch

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

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

  • @stevehof
    @stevehof 2 ปีที่แล้ว +29

    It's like Christmas morning when you're 8 years old every time a new episode of this series lands.

  • @luislindgren5615
    @luislindgren5615 2 ปีที่แล้ว +27

    Dude, these sessions are so informative!
    I want to write a plugin for basic Mercurial support and wasn't sure where to start. Now I know :)
    Thanks, TJ and Bash!

  • @lifelover69
    @lifelover69 12 วันที่ผ่านมา

    i'm writing my first neovim plugin, this is a great resource, thank you TJ!
    For recent viewers: 1:32:14 - you don't need these plugins, it's now built into neovim lua guide :)

  • @Kolkhis.tar.gz.
    @Kolkhis.tar.gz. ปีที่แล้ว +6

    Hell yeah this is gold. I've been hacking away for weeks in my nvim config, trying to emulate a plugin that I want... Mostly got it down, and then came across this on accident. You're a boss TJ!
    And thanks Bash for clarifying things with concise recaps, actually very helpful!

  • @philippe_widmer
    @philippe_widmer ปีที่แล้ว +1

    I switched to Neovim for Lua integration after using Vim for almost 25 years. I've had Neovim on my radar for years, but now it was time for a change. Thanks very much.

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

    Tip for people:
    :enew|put=execute('lua =package.loaded') can be useful when you want to use vim pattern search in any table, this will send the output of =lua package.loaded to buffer 0

  • @Fernando-du5uj
    @Fernando-du5uj 2 ปีที่แล้ว +2

    I was supposed to watch only the first minute but well, here we are... just watch it the entire video and it was worth it. I've learned alot.... Thank you so much, Teej.

  • @user-ot1dv6ri4f
    @user-ot1dv6ri4f 10 หลายเดือนก่อน

    Just went back in the video to review all of the runtime folders and what all of that means and was glad to see I was not the only one doing that; most replayed section of the entire video :D

  • @binary_gaming113
    @binary_gaming113 ปีที่แล้ว +1

    This has got to be one of the best thumbnails on the whole platform❤

  • @ritwik5774
    @ritwik5774 2 ปีที่แล้ว +1

    brilliant! and especially liked how comprehensive it was with the tests and the docs, one more amazing video for the record. Don't know how many times your videos have helped me and countless other people getting started with nvim, amazing advocacy!

  • @djbroake9810
    @djbroake9810 4 หลายเดือนก่อน +1

    What an awesome video, come back a few times now. Thank you for making / posting the content you do.

  • @RobBoudreau
    @RobBoudreau 2 ปีที่แล้ว +2

    Learning a lot from these session, thanks Teej and Bash.

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

    I'm only 12 mins in, but this is absolutely amazing... exactly the type of content I was looking for!

  • @xixiaofin
    @xixiaofin ปีที่แล้ว +1

    best nvim lua plugin jump-start video!

  • @jemag
    @jemag 2 ปีที่แล้ว +21

    Is there a schedule for when these happen, to be able to watch it live? Great episode btw

    • @teej_dv
      @teej_dv  2 ปีที่แล้ว +7

      The second Wednesday of every month, at 9 AM Pacific Time. Either on my stream or bash's stream. You can follow us on twitter and we always announce what we're planning on doing.

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

    Amazing video I love you guys. I will be contributing to Neovim soon. All the best to both of you.

  • @JT-mr3db
    @JT-mr3db 2 ปีที่แล้ว +1

    Brilliant video!! Would love to see more in this format!

  • @n0kodoko143
    @n0kodoko143 2 ปีที่แล้ว +1

    Happy belated birthday TJ!

  • @dimaportenko
    @dimaportenko ปีที่แล้ว

    Just back to the video to watch how to write tests. Amazing video!

  • @craigdanielmaceacher
    @craigdanielmaceacher 2 ปีที่แล้ว +2

    If following along and you use as leader, you can't use either you have to use for example " st" and " sz" (literal space before the keys).

  • @swastikacharyya
    @swastikacharyya 2 ปีที่แล้ว +2

    As expected 🌝 , killing video as all as 🌝❤️

  • @Xdavidel
    @Xdavidel 2 ปีที่แล้ว

    TG and Bash collabs.
    Happy BDay TG.

  • @CristianHeredia0
    @CristianHeredia0 ปีที่แล้ว

    I'm happy this exists

  • @justinhj1
    @justinhj1 2 ปีที่แล้ว

    Great video, thanks! I am just building my first plugin and this was exactly the level I needed to get started.

  • @jrdicoll
    @jrdicoll 2 ปีที่แล้ว

    I want to create my own plugin with lua, and this video looks like it going to be great help, thanks for the content!

  • @KronosaurusRex
    @KronosaurusRex 2 ปีที่แล้ว

    Hello TJ, useful as always.
    Posted a comment a while about the P() functions you used to print the lua tables. Turned out I only had to keep watching haha.
    Seriously, I didn't finish this video yet, but I'm learning a lot about neovim and lua! Keep this videos coming.

    • @teej_dv
      @teej_dv  2 ปีที่แล้ว

      So glad to hear it! :)

  • @rmorytko
    @rmorytko ปีที่แล้ว +1

    Great job, still extremely useful and informative

  • @tseitz
    @tseitz ปีที่แล้ว

    TJ you are a beautiful teacher

  • @BenGeldreich
    @BenGeldreich 2 ปีที่แล้ว +2

    Thanks TJ and Bashbunni! I always appreciate your deep dives into Neovim and Lua!
    TJ when you opened a Lua file I saw Sumneko-lua and moon animation on the right side of the screen. Is that a plugin? If so which one?

  • @celsopatiri2846
    @celsopatiri2846 2 ปีที่แล้ว

    I've been loving these

  • @chrisjames278
    @chrisjames278 2 ปีที่แล้ว

    Awesome video. Great intro to plugins.

  • @craigdanielmaceacher
    @craigdanielmaceacher 2 ปีที่แล้ว

    1:06:00 the mapping should call ":echo 'Hello'" to actually work and echo 'Hello' to the commandline.

  • @scc4213
    @scc4213 2 ปีที่แล้ว +1

    really helpful !

  • @logana.martinez770
    @logana.martinez770 หลายเดือนก่อน

    I don't really know what i'm doing. I just wanted to make a theme and ended up deeper into the rabbit hole than what i intended

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

    In the vim runtime, does the folder name matter? Is the runtime limited by folder name and location, or just location?

  • @robertjmccabe
    @robertjmccabe 2 ปีที่แล้ว

    Super useful!

  • @dn.kolesnikov
    @dn.kolesnikov 2 ปีที่แล้ว

    hey! thx for your video! can you make video about how to create user commands for plugins with autocompletion arguments etc...? 👋

  • @fbuys
    @fbuys 2 ปีที่แล้ว

    I want to add text at a specific point in the string. How would I do a string search on the current line in lua?
    Any pointers to the docs welcome I am just not sure what to look for in the docs.

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

    How does neovim see the plenary functions? I have "undefined global". I have both neodev and plenary installed and working well, so not sure if I just need to point neodev to plenary or point my plugin to neodev/plenary ...

  • @MaKaNufilms
    @MaKaNufilms 13 วันที่ผ่านมา

    I am stuck already at print. I use lazyvim and figured out how to load a local repo but print is never shown. I think this is lazyvim related but I don't get it. I see that the plugin is loaded.

  • @mario7501
    @mario7501 ปีที่แล้ว

    Great video! Quick question: which plugin do you use to transform stuff like -> into a utf-8 arrow character?

    • @chalybeum8666
      @chalybeum8666 ปีที่แล้ว +2

      I know it's a little late, but in case you still care... You don't need a plugin. Those are ligatures. You simply need a terminal that suüports them, like Alacritty or Kitty and a font that has them. For font use the search term coding ligatures.

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

    I'm trying to learn neovim plugin development, and struggling to find information about interactive debugging. Is there any possibility to interactively debug plugin inside neovim. Like creating module, call a function and do step by step debug? Tests is good, but maybe it's a bad habbit but I'm really got used to interactive debugging. I know about printing variables, but it's not that convinient.

  • @alexwexov4298
    @alexwexov4298 2 ปีที่แล้ว +3

    Great ! Looking forward
    Btw why is there less activity nowadays ?

    • @teej_dv
      @teej_dv  2 ปีที่แล้ว +1

      For uploading to the channel? I'm not sure what you mean.

    • @alexwexov4298
      @alexwexov4298 2 ปีที่แล้ว

      @@teej_dv Sorry, I mean new videos. Thanks for the hard work btw.

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

    is there a way to use dap or something to debug plugins in neovim ? )

  • @jonathanreese4116
    @jonathanreese4116 2 ปีที่แล้ว +1

    I tried to setup that global function, but I end up with
    E5108: Error executing lua [string “:lua”]:1: attempt to call global ‘P’ ( a nil value )
    stack traceback:
    [string “:lua”]:1: in main chunk
    Anyone else have this issue?

    • @nedsi
      @nedsi 2 ปีที่แล้ว

      Same thing here!
      Did you manage to make it work?

    • @jonathanreese4116
      @jonathanreese4116 2 ปีที่แล้ว

      I want to say my issue was I didn’t include my globals in my init.

    • @Programming-zf6kg
      @Programming-zf6kg 6 หลายเดือนก่อน

      For anyone like myself that hasn't yet gotten to the part where they explain what the 'P()' function does, they talk about it here 34:40

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

      @@Programming-zf6kg dude I was 33 minutes in and decided to look through the comments to see if anyone had asked this yet haha

  • @mancesnowdon1757
    @mancesnowdon1757 2 ปีที่แล้ว

    I though we add to use :luafile % to source lua file.. Was it always the case the :source % work with lua file :O

    • @teej_dv
      @teej_dv  2 ปีที่แล้ว +1

      That used to be the case but we made it better!

  • @3ckortreat
    @3ckortreat 2 ปีที่แล้ว

    what is the plugin that you are using to show new line as a arrow character?

  • @Awwe12675
    @Awwe12675 2 ปีที่แล้ว

    Bro can u do video For non-speakers English
    From scratch 🙏🏼

  • @devstefancho
    @devstefancho ปีที่แล้ว

    timestamp : 44:02

  • @MiguelAngel-mf3yu
    @MiguelAngel-mf3yu 2 ปีที่แล้ว +2

    PLEASE TUTORIAL HOW INSTALL AUTOSAVE FOR NEOVIM

  • @dmytroportianka3842
    @dmytroportianka3842 ปีที่แล้ว +4

    instead of explaning how to create plugin for nvim, here you can listen to lecture of programming for dummies.

  • @craigdanielmaceacher
    @craigdanielmaceacher 2 ปีที่แล้ว +1

    Can we please stop naming plugin repos "foo.nvim"? if messes up the 'gf' functionality because it will open the folder in a netrw buffer rather than the file "foo.nvim" file (unfortunately vim should be smarter than this, but currently isn't). I think "foo-nvim" is better stick with a bit of tradition and do "nvim-foo" instead.

    • @teej_dv
      @teej_dv  2 ปีที่แล้ว +5

      I'm not sure what you mean. I don't have any files named foo.nvim in the repo.

    • @orbital1337
      @orbital1337 2 ปีที่แล้ว

      @@teej_dv I think he means naming neovim plugin repos something like "myplugin.nvim" as opposed to say "nvim-myplugin".

    • @teej_dv
      @teej_dv  2 ปีที่แล้ว +2

      @@orbital1337 but then why we he think he's going to edit a file of that name?

  • @donnillorussia
    @donnillorussia ปีที่แล้ว

    I came here to learn hard & boring tech stuff, I came for pain & suffering, not your smiley pretty faces!

  • @ritchielrez1680
    @ritchielrez1680 2 ปีที่แล้ว +2

    Bruh change your thumbnail, otherwise it would take viewers couple secs to process that this is vid is a new one. That's not great.

  • @lillithsleeps
    @lillithsleeps ปีที่แล้ว

    Why is the dude being so cringe? It's super distracting :/

  • @Mywifeleftme3
    @Mywifeleftme3 ปีที่แล้ว

    My corpse will be preserved in the cold

  • @CoinedBeatz
    @CoinedBeatz 2 ปีที่แล้ว +26

    I really love this format, it gives so much insight into the concepts due to bash asking these questions and the both of you making it very clear. Good shit!

    • @teej_dv
      @teej_dv  2 ปีที่แล้ว +8

      Yeah, Bash is super good at making sure we go at the right pace for people to learn lots of new stuff!