Closed joshmedeski closed 9 months ago
Switching to git instead of direct file downloads could mitigate this, but it typically results in a slightly slower Fisher. There isn't a pressing need to adopt git at this point since there are no existing issues and everything is running smoothly with Fisher. While I see no immediate need to focus on this, I'm not opposed to considering it in the future.
Somewhat related https://github.com/jorgebucaran/fisher/issues/752
Thanks for your thoughts. If I decide to play around with this idea of transparency over performance I'll respond here with my findings.
This discussion is compelling, although I may not be the best at conveying my point. Fisher has used git before, but in practical terms, across varied use cases over several years, it was less efficient compared to directly fetching tarballs from GitHub. I understand the apparent logic in using git, but practically, it results in a slower Fisher. While it would address the issue of partial updates, it's usually not worthwhile as plugins don't change significantly, and the minimal changes don't justify the overhead. Thoughts?
I'm more than willing to discuss this, I just closed it here because there's nothing actionable—I won't be focusing on this in the near future. But I'm not dismissing the idea outright. 😄
I was gonna open a discussion for this, but saw you had that feature disabled 😄
I've really enjoyed being able to see commit history for plugin updates from lazy.nvim.
plugins don't change significantly
This is a totally valid point. Perhaps the overhead of rewriting how fisher works isn't worth it if most fish-related plugins don't change much. But after using lazy.nvim I wanted to bring it up here and see if that kind of user experience is worthwhile in this setting (fish plugins)
I've noticed when calling
fisher update
it always pulls HEAD and redownloads everything.It would be helpful if it could detect the current state of the files and only pull when there are new commits from the remote server.
tpm and lazy.nvim are two tools that I use daily that do a good job at this.
I realize the main issue here will be since fisher copies files to
functions
,conf.d
,completions
, etc... it's not as straitforward as the other solutions I mentioned, which have all plugin code in a single directory that can be controlled and tracked using git.My initial thoughts are we have a
~/.config/fish/plugins
directory that clones the project to each folder, then symbolically link each pluginsfunctions
,conf.d
,completions
files into the appropriate place.Let me know your thoughts @jorgebucaran, thanks for making this plugin manager!