Currently vim-plug doesn't appear to have a well supported means of controlling what source code is included+executed when vim starts up since the latest content is pulled in by default.
I think we should implement lockfile system for the following reasons:
- Reproducible environments across machines
- Prevention of unexpected plugin updates
- Easier rollbacks to known-good states
The current snapshot feature, while useful, has limitations:
- Slow startup times due to executing multiple git commands on each Vim launch
- Doesn't prevent automatic updates during normal plugin operations
A lockfile approach would:
- Store plugin commit hashes in a simple, fast-to-read format
- Be checked during updates to determine if changes are needed
- Only update plugins when explicitly requested or when the lockfile changes
- Significantly reduce startup overhead compared to the current snapshot system
This feature would enhance vim-plug's utility for users prioritizing stability, reproducibility, and performance in their Vim/Neovim setups.
Currently vim-plug doesn't appear to have a well supported means of controlling what source code is included+executed when vim starts up since the latest content is pulled in by default.
I think we should implement lockfile system for the following reasons:
The current snapshot feature, while useful, has limitations:
A lockfile approach would:
This feature would enhance vim-plug's utility for users prioritizing stability, reproducibility, and performance in their Vim/Neovim setups.