Silver Bullet - snapshot
- Project and priority are properly and completely handled.
This commit is contained in:
59
src/edit.cpp
59
src/edit.cpp
@@ -38,10 +38,21 @@ static std::string findSimpleValue (
|
|||||||
const std::string& text,
|
const std::string& text,
|
||||||
const std::string& name)
|
const std::string& name)
|
||||||
{
|
{
|
||||||
// Look for /^\s+name:\s+(.*)$/
|
std::string::size_type found = text.find (name);
|
||||||
// Extract
|
if (found != std::string::npos)
|
||||||
// Trim
|
{
|
||||||
// Join
|
std::string::size_type eol = text.find ("\n", found);
|
||||||
|
if (eol != std::string::npos)
|
||||||
|
{
|
||||||
|
std::string value = text.substr (
|
||||||
|
found + name.length (),
|
||||||
|
eol - (found + name.length ()));
|
||||||
|
|
||||||
|
std::cout << "value '" << value << "'" << std::endl;
|
||||||
|
return trim (value, "\t ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,15 +163,42 @@ static std::string formatTask (Config& conf, T task)
|
|||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
static void parseTask (T& task, const std::string& after)
|
static void parseTask (T& task, const std::string& after)
|
||||||
{
|
{
|
||||||
// TODO status
|
std::string value;
|
||||||
// task.setAttribute ("Project", findSimpleValue (after, "Project"));
|
|
||||||
// task.setAttribute ("Priority", findSimpleValue (after, "Priority"));
|
// Project
|
||||||
// TODO tags
|
value = findSimpleValue (after, "Project:");
|
||||||
|
if (value != "" &&
|
||||||
|
task.getAttribute ("project") != value)
|
||||||
|
{
|
||||||
|
std::cout << "Project modified." << std::endl;
|
||||||
|
task.setAttribute ("project", value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Priority
|
||||||
|
value = findSimpleValue (after, "Priority:");
|
||||||
|
if (value != "" &&
|
||||||
|
validPriority (value) &&
|
||||||
|
task.getAttribute ("priority") != value)
|
||||||
|
{
|
||||||
|
std::cout << "Priority modified." << std::endl;
|
||||||
|
task.setAttribute ("priority", value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tags
|
||||||
|
/*
|
||||||
|
value = findSimpleValue (after, "tags");
|
||||||
|
std::vector <std::string> tags;
|
||||||
|
split (tags, " ", value);
|
||||||
|
*/
|
||||||
|
|
||||||
// TODO Disallow blank description.
|
// TODO Disallow blank description.
|
||||||
// task.setDescription ( findSimpleValue (after, "Description"));
|
// value = findMultilineValue (after, "Description: ");
|
||||||
|
// if (value != "")
|
||||||
|
// {
|
||||||
|
// std::cout << "Description modified." << std::endl;
|
||||||
|
// task.setDescription (value);
|
||||||
|
// }
|
||||||
|
|
||||||
// TODO Annotations
|
|
||||||
// TODO start
|
// TODO start
|
||||||
// TODO end
|
// TODO end
|
||||||
// TODO due
|
// TODO due
|
||||||
@@ -170,6 +208,7 @@ static void parseTask (T& task, const std::string& after)
|
|||||||
// TODO imask
|
// TODO imask
|
||||||
// TODO fg
|
// TODO fg
|
||||||
// TODO bg
|
// TODO bg
|
||||||
|
// TODO Annotations
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user