- Added feature #559, which implements a new configuration variable,
  rc.exit.on.missing.db, which causes taskwarrior to exit if the
  rc.data.location is missing (thanks to Sander Marechal).
This commit is contained in:
Paul Beckingham
2011-06-27 23:23:28 -04:00
parent 526fa07326
commit 45a757832a
8 changed files with 86 additions and 9 deletions

View File

@@ -66,6 +66,7 @@ std::string Config::defaults =
"data.location=~/.task\n"
"locking=on # Use file-level locking\n"
"gc=on # Garbage-collect data files - DO NOT CHANGE unless you are sure\n"
"exit.on.missing.db=no # Whether to exit if ~/.task is not found\n"
"\n"
"# Terminal\n"
"detection=on # Detects terminal width\n"
@@ -596,7 +597,12 @@ void Config::createDefaultData (const std::string& data)
{
Directory d (data);
if (! d.exists ())
{
if (getBoolean ("exit.on.missing.db"))
throw std::string ("Error: rc.data.location does not exist - exiting according to rc.exit.on.missing.db setting.");
d.create ();
}
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -140,6 +140,7 @@ int CmdShow::execute (std::string& output)
" echo.command"
" edit.verbose"
" editor"
" exit.on.missing.db"
" export.ical.class"
" expressions"
" extensions"

View File

@@ -57,7 +57,6 @@ void handleRecurrence ()
{
std::vector <Task> tasks;
context.tdb.loadPending (tasks);
std::vector <Task> modified;
// Look at all tasks and find any recurring ones.
@@ -66,6 +65,7 @@ void handleRecurrence ()
{
if (t->getStatus () == Task::recurring)
{
/*
// Generate a list of due dates for this recurring task, regardless of
// the mask.
std::vector <Date> due;
@@ -143,6 +143,7 @@ void handleRecurrence ()
t->set ("mask", mask);
context.tdb.update (*t);
}
*/
}
else
modified.push_back (*t);

View File

@@ -446,10 +446,7 @@ std::string commify (const std::string& data)
std::string lowerCase (const std::string& input)
{
std::string output = input;
for (int i = 0; i < (int) input.length (); ++i)
if (isupper (input[i]))
output[i] = tolower (input[i]);
std::transform (output.begin (), output.end (), output.begin (), tolower);
return output;
}
@@ -457,10 +454,7 @@ std::string lowerCase (const std::string& input)
std::string upperCase (const std::string& input)
{
std::string output = input;
for (int i = 0; i < (int) input.length (); ++i)
if (islower (input[i]))
output[i] = toupper (input[i]);
std::transform (output.begin (), output.end (), output.begin (), toupper);
return output;
}