junegunn / junegunn/vim-plug

security: Improve trust model with plugin authors by controlling executed code

Open
#1,293 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Vim Script
Stars
35.8k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

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:

1. Reproducible environments across machines
3. Prevention of unexpected plugin updates
4. 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.

- Type:
- [ ] Bug
- [ ] Enhancement
- [x] Feature Request
- [ ] Question
- OS:
- [x] All/Other
- Vim:
- [x] Terminal Vim
- [x] GVim
- [x] Neovim

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.