xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit 4d12630e2d01eec16bbe9a76ee1dfdb4b3541c53

packer: fix name derivation for *.tgz and alike
Unpacking `a.b.tgz` with no root directory resulted in the creation of
`a/` parent directory instead of `a.b/` because `ext` in the code is set
to `tar` for shortened extensions like `tgz`.
Author: xaizek
Author date (UTC): 2026-03-14 12:33
Committer name: xaizek
Committer date (UTC): 2026-03-14 12:33
Parent(s): 4fecfe9994b07993f42aa4f8cb15e62d85fccf79
Signing key: 99DC5E4DB05F6BE2
Tree: f500a14e9abe72be723a5d5bb9a1515b7fae99dc
File Lines added Lines deleted
data/plugins/packer/unpack.lua 1 1
File data/plugins/packer/unpack.lua changed (mode: 100644) (index 794aa0b43..550bba623)
... ... local function unpack_archive(archive, target, onexit) -- <<<
91 91 end end
92 92
93 93 if prefix == nil then if prefix == nil then
94 if ext == 'tar' then
94 if vifm.fnamemodify(fname, ':r:e') == 'tar' then
95 95 outdir = string.format("%s/%s", outdir, vifm.fnamemodify(fname, ':r:r')) outdir = string.format("%s/%s", outdir, vifm.fnamemodify(fname, ':r:r'))
96 96 else else
97 97 outdir = string.format("%s/%s", outdir, vifm.fnamemodify(fname, ':r')) outdir = string.format("%s/%s", outdir, vifm.fnamemodify(fname, ':r'))
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master