You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support git hosters other than GitHub: GitLab (gitlab.com), Forgejo
(codeberg.org) and Gitea (gitea.com). update and check work for plugins
hosted there. For self-hosted instances, name the software behind it with the
new plugin option hoster=github|forgejo|gitea|gitlab.
Keep downloaded archives in the XDG cache: -cache (default $XDG_CACHE_HOME/vopher, falling back to ~/.cache/vopher). Archives are
stored by host and path of their URL, so several lists or -dirs share them
without colliding.
Reuse cached archives: vopher sends conditional requests (ETag /
Last-Modified) and extracts the cached archive on "304 Not Modified". No
request at all is made if the plugin is pinned to a commit id or its sha1=
matches the cached archive.
New flag -offline: update, fupdate and fetch extract the cached
archives only, without touching the network.
check shows the branch holding a #ref: for a pinned plugin, check now
also shows the newer commits on the branch that contains the installed commit.
Changed behaviour
Without #ref and branch=, update asks the hoster for the archive of
"main", then "master", and takes the first one found (previously: always
"master"). #ref wins over branch=, branch= wins over the probe.
prune -all also removes cached archives not referenced in vopher.list.
The file holding the commit id inside the plugin folder is named git-commit now (previously: github-commit). check falls back to the old
name, update removes it when writing the new one.
Improvements
Per-host request limits and timeouts: -http.jobs host=n (default *=8)
and -http.timeout host=duration (default *=30s). Previously, check fired
all feed requests at once without a timeout and could hang forever once GitHub
throttled. check now reports progress and hints at rate limits (403/429).
check output contains fold markers per plugin, allowing to fold the
already viewed plugins in Vim and Neovim.
check prints tag names in full (previously cut after 10 characters, like
commit ids).
Short plugin URLs for all known hosts: codeberg.org/o/r or gitlab.com/group/repo get their "https://" automatically, like github.com/... did before.
Extract plugins atomically: the archive is extracted into a hidden sibling
folder and only moved into place when complete. A failed extraction no longer
leaves a mix of old and new files behind, and files not part of the new
version are gone.
Show where the archive of a plugin came from: downloaded, unchanged (304) or
taken from the cache. UI oneline shows counters in the progress line, UI simple appends it to the job line.
depends-on= in vim-packs / nvim-packs: a dependency can be referenced
by its base name, e.g. depends-on=plugin-b for a plugin placed at my-packs/opt/plugin-b.
Fixes
check handles tag names containing "/": a plugin pinned with #firestore/v1.27.0 never got its * mark.