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 0de9461e78936b55ccb0bdcd1f6958bb4cce30f0

Rephrase warning about permanent undo/redo removal
In particular, use "path" instead of "file".
Author: xaizek
Author date (UTC): 2026-03-11 10:22
Committer name: xaizek
Committer date (UTC): 2026-03-11 22:20
Parent(s): 0e76324808979cfdb2cc2abd65252edb5f5a1b47
Signing key: 99DC5E4DB05F6BE2
Tree: e038cecf96f07358a8f592c63d3c2b0162f28f3e
File Lines added Lines deleted
ChangeLog 3 0
src/ops.c 2 3
File ChangeLog changed (mode: 100644) (index 86d7f76b9..3b6f513ef)
98 98
99 99 Improved wording in documentation on gs and :copen. Improved wording in documentation on gs and :copen.
100 100
101 Improved wording in a confirmation prompt for permanent deletion during
102 undo/redo.
103
101 104 Fixed 'trashdir' with "%r" on BSD-like systems (those with getmntinfo() Fixed 'trashdir' with "%r" on BSD-like systems (those with getmntinfo()
102 105 instead of getmntent() API). The regression was apparently introduced in instead of getmntent() API). The regression was apparently introduced in
103 106 v0.9.1-beta. Thanks to sublimal. v0.9.1-beta. Thanks to sublimal.
File src/ops.c changed (mode: 100644) (index 347717889..b4bcbd692)
... ... op_remove(ops_t *ops, void *data, const char src[], const char dst[])
349 349 ops_confirm_func confirm = (ops != NULL ? ops->confirm : &prompt_msg); ops_confirm_func confirm = (ops != NULL ? ops->confirm : &prompt_msg);
350 350
351 351 char *msg = format_str("Are you sure? " char *msg = format_str("Are you sure? "
352 "At least the following file is about to be deleted:\n \n%s\n \n"
353 "If you're undoing a command and want to see file names, use "
354 ":undolist! command.",
352 "At least the following path is about to be deleted:\n \n%s\n \n"
353 "To see all paths on undoing an operation use :undolist! command.",
355 354 replace_home_part(src)); replace_home_part(src));
356 355 curr_stats.confirmed = confirm("Permanent deletion", msg); curr_stats.confirmed = confirm("Permanent deletion", msg);
357 356 free(msg); free(msg);
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