Allow for merging data files when reloading

This allows for merging the (unsaved) items with the items from the data
files when invoking the reload operation. To this end, an external merge
tool (defaults to vimdiff) is used.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer
2014-07-16 23:22:36 +02:00
parent e93030befb
commit 5aec540895
6 changed files with 97 additions and 18 deletions

View File

@@ -611,6 +611,22 @@ void wins_launch_external(const char *file, const char *cmd)
wins_unprepare_external();
}
/*
* While inside interactive mode, launch the external command cmd on the given
* two files.
*/
void wins_launch_external2(const char *file1, const char *file2,
const char *cmd)
{
const char *arg[] = { cmd, file1, file2, NULL };
int pid;
wins_prepare_external();
if ((pid = shell_exec(NULL, NULL, *arg, arg)))
child_wait(NULL, NULL, pid);
wins_unprepare_external();
}
#define NB_CAL_CMDS 28 /* number of commands while in cal view */
#define NB_APP_CMDS 33 /* same thing while in appointment view */
#define NB_TOD_CMDS 32 /* same thing while in todo view */