Preferences

How do you keep your plugins up to date?

Why would you want to keep your plugins up to date? How do you prevent breakage?

I update my plugins when I want/need to.

Exactly. I update if I want a new feature or bug fix, but other than that I love the predictability of knowing nothing has changed, and when it does, exactly what changed. Being able to `git diff` and see what's new is wonderful
How many plugins do you use? I probably have at least 70–80. Tracking what’s changed would be a job in itself, so I just update all plugins regularly, the same way I update IntelliJ IDEA, Homebrew, or Linux packages. If a package breaks often, then I (and most other people) simply stop using it.
> I probably have at least 70–80. Tracking what’s changed would be a job in itself, so I just update all plugins regularly

You and me have completely the opposite approach. You install everything you can get your hands on, I regularly prune my unused plugins to avoid bloat. I don't track what's changed: if I'm happy with a 10 year old version of a plugin, I don't see why I should update it.

> If a package breaks often, then I (and most other people) simply stop using it.

Unless there's a specific error message, how do you even know which package is responsible for the breakage? Ie a new visual glitch starts happening out of nowhere.

> You install everything you can get your hands on

Nah, I install what I find useful - sometimes I know exactly what I want and search for a specific plugin; other times, I just stumble upon something useful. Every now and then, I remove plugins I haven't used in a long time, but since most of them are lazily loaded, it's not like they get in the way.

> Unless there's a specific error message, how do you even know which package is responsible for the breakage?

If I recall correctly, there were one or two plugins I removed because they broke something, and in both cases, it was obvious which one was the culprit.

I have had at least two cases where it wasn't obvious which plugin was introducing the weird behaviour. I turned all plugins off and then gradually turned them on to find out. One of those was vimwiki.
I do the same thing. I have maybe 7 or 8 that I use, favoring built in functionality even if it's interior to what a plug-in might offer
I recently switched to lazy because I wanted to experiment with some more complex plugins, but the answer is just: I didn't keep them up to date. If you're using basic text-oriented stuff like fzf or surround how often is it going to improve in a meaningful way once it has reached its fully-formed state? If it did get a noticeable update its probably more likely to annoy me by breaking my config or muscle memory than anything.
Am I the only one who thinks the way plugins are updated in lazy.nvim (and probably others) is a bit insane? It seems to just pull the latest commits. Every time I update, I feel one rogue commit away from someone stealing my keys. It definitely feels like the riskiest thing I do on my system. Or have I misunderstood something?
Thanks, new fear unlocked for me :')

For me, lazy.nvim doesn't pull the latest commits automatically. I have to <leader>-L and SHIFT-U it. And I don't do it often exactly because if there's an issue with the plugins I hope it's caught by others and addressed before I update mine.

you are right to be worried about such practices. this is why i avoid these things entirely. its a bit more hastle but a lot less risk. once you have a good config u can just roll with that anyhow. but i guess in the same vein i dont use a lot of plugins.

the nr of times now people have been owned by rogue plugins via editors is rising each day...

So you mean you review all the plugin code before you add it? And when there's an update you review the changes?
So far I’ve just YOLO'd it. But if I install other software directly from git and the source isn’t fully reliable, I’ll usually at least check recent changes, or have codex take a look through the source, just like I read through PKGBUILDs when installing from AUR. It feels crazy that I then update LazyVim and suddenly pull in 150 new commits, some just minutes old, all with free access to my system.
If you manual update infrequently you are leaving a period for other people to get burned and flag issues before you pull the change, even if you don't look into a thing yourself.
If your update is the simplest version, a "git pull" -- then you're incorporating commits that have not "stewed" long enough for anyone to be burned. You might win the lucky ticket! (Saying this as someone who rarely updates nvim plugins, out of forgetfulness, not principle, and when they are updated I believe it IS a simple "git pull"...)
With a plugin manager you can also update infrequently
I mostly do, yes. There are exceptions for very mainstream and big plugins, but for the most part I do at least skim the new plugin code before committing it to my dotfiles repo. A nice thing about this ecosystem is for the most part, things don't change that quickly/often, and big refactors are quite rare
I can’t recall the last time I updated a plugin. They are all working just fine.
I add new language support from time to time. And sometimes I want to update a plugin because of a fix or new feature support.
I needed to update the lot when upgrading from neovim 0.10 to 0.11.x
I don't really. It's not like I use that many, and they are all sort of "complete". This isn't JS where you need to update and change your libraries every 5 minutes.
The same logic applies to js. vim plugins see updates on a weekly basis, you don't have to upgrade anything if what you have works for you.
Don't know about op, I had a script that would go through each plugin folder, check if it was a git folder, and pulled.

Now I use vimplug though

  git submodule update
Hmm, when I set it up, mercury was a thing, so, the script handled both.

And, also, I was young, and that made me feel good :D

git pull. too often i found breake so i inspect git-log message prior to update, git-bisect came in handy once
'using git'
what’s the issue? you just git clone the repo into the correct directory
There is no issue? I'm answering the question. This is how I do it too.

(There's sort of an issue in that I'd prefer to get it in neovim/lua, but that's not the point here.)

ohhh I misread what you were replying to! my bad
Yeah and if you have 10 plugins you have to go into each folder and git pull. Then you might want to write a script for that. Or just use a plugin manager ;)
I just wrote a simple bash script that has an array at the top with all the git remotes, and it iterates through them and git pulls (or clones if it doesn't exist yet). Took me like 10 minutes to write ~15 years ago and hasn't needed any changes. I can also trivially add a new entry to the array if I want to add a new plugin, or delete one if I'm not using it anymore. Then I also have a history of everything that changed so I can easily roll back if something breaks (which has happened several times)
git submodule update —init
Yeah, I also used submodules first. But removing a git submodule is a bit of a pain. Like 3 or 4 steps or something, which I usually need to look up how to do it again. And if you're experimenting with new plugins, trying them out, installing them and then removing them again, it's a lot easier with a plugin manager.

This item has no comments currently.