mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Unicode
- The configuration file now supports JSON encoding of Unicode characters, by specifying \uNNNN.
This commit is contained in:
parent
67f20d96bc
commit
74bbd6cefe
5 changed files with 12 additions and 5 deletions
|
@ -32,6 +32,8 @@ Features
|
|||
that are not yet modified.
|
||||
+ ColPriority.cpp - Migration of column modification code out of Task.cpp and
|
||||
into the individual column object.
|
||||
+ The configuration file now supports JSON encoding of Unicode characters, by
|
||||
specifying \uNNNN.
|
||||
+ Now requires libuuid (thanks to Martin Natano).
|
||||
|
||||
Bugs
|
||||
|
|
1
NEWS
1
NEWS
|
@ -20,6 +20,7 @@ New configuration options in taskwarrior 2.3.0
|
|||
- 'taskd.credentials' specifies user credentials for the task server.
|
||||
- 'taskd.certificate' specifies the task server certificate.
|
||||
- 'debug.tls' shows TLS log information, for debugging.
|
||||
- The configuration file supports JSON encoding of unicode characters \uNNNN.
|
||||
|
||||
Newly deprecated features in taskwarrior 2.3.0
|
||||
|
||||
|
|
|
@ -80,6 +80,8 @@ The hash mark, or pound sign ("#") is used as a comment character. It can be
|
|||
used to annotate the configuration file. All text after the character to the end
|
||||
of the line is ignored.
|
||||
|
||||
The configuration file supports UTF8 as well as JSON encoding, such as \\uNNNN.
|
||||
|
||||
Note that taskwarrior is flexible about the values used to represent Boolean
|
||||
items. You can use "on", "yes", "y", "1" and "true".
|
||||
Anything else means "off".
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
#include <Date.h>
|
||||
#include <File.h>
|
||||
#include <Timer.h>
|
||||
#include <JSON.h>
|
||||
#include <Config.h>
|
||||
#include <text.h>
|
||||
#include <util.h>
|
||||
|
@ -496,7 +497,7 @@ void Config::parse (const std::string& input, int nest /* = 1 */)
|
|||
std::string key = trim (line.substr (0, equal), " \t"); // no i18n
|
||||
std::string value = trim (line.substr (equal+1, line.length () - equal), " \t"); // no i18n
|
||||
|
||||
(*this)[key] = value;
|
||||
(*this)[key] = json::decode (value);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -551,7 +552,7 @@ void Config::createDefaultRC (const std::string& rc, const std::string& data)
|
|||
<< "\n";
|
||||
|
||||
// Write out the new file.
|
||||
if (! File::write (rc, contents.str ()))
|
||||
if (! File::write (rc, json::encode (contents.str ())))
|
||||
throw format (STRING_CONFIG_BAD_WRITE, rc);
|
||||
}
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include <sstream>
|
||||
#include <algorithm>
|
||||
#include <Context.h>
|
||||
#include <JSON.h>
|
||||
#include <i18n.h>
|
||||
#include <text.h>
|
||||
#include <util.h>
|
||||
|
@ -103,9 +104,9 @@ int CmdConfig::execute (std::string& output)
|
|||
if (confirm (format (STRING_CMD_CONFIG_CONFIRM, name, context.config.get (name), value)))
|
||||
{
|
||||
if (comment != std::string::npos)
|
||||
*line = name + "=" + value + " " + line->substr (comment);
|
||||
*line = name + "=" + json::encode (value) + " " + line->substr (comment);
|
||||
else
|
||||
*line = name + "=" + value;
|
||||
*line = name + "=" + json::encode (value);
|
||||
|
||||
change = true;
|
||||
}
|
||||
|
@ -116,7 +117,7 @@ int CmdConfig::execute (std::string& output)
|
|||
if (!found &&
|
||||
confirm (format (STRING_CMD_CONFIG_CONFIRM2, name, value)))
|
||||
{
|
||||
contents.push_back (name + "=" + value);
|
||||
contents.push_back (name + "=" + json::encode (value));
|
||||
change = true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue