mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-07-07 20:06:39 +02:00
TI-5: Unicode tags not working.
- Thanks to Sergey Trofimov.
This commit is contained in:
parent
12dfee1bc8
commit
54eb2658a1
3 changed files with 14 additions and 4 deletions
15
src/CLI.cpp
15
src/CLI.cpp
|
@ -30,6 +30,7 @@
|
|||
#include <Pig.h>
|
||||
#include <shared.h>
|
||||
#include <format.h>
|
||||
#include <utf8.h>
|
||||
#include <sstream>
|
||||
#include <algorithm>
|
||||
|
||||
|
@ -145,10 +146,16 @@ void CLI::entity (const std::string& category, const std::string& name)
|
|||
void CLI::add (const std::string& argument)
|
||||
{
|
||||
// Sanitize the input: Convert control charts to spaces. Then trim.
|
||||
auto clean = argument;
|
||||
for (auto& c : clean)
|
||||
if (c <= 32)
|
||||
c = ' ';
|
||||
std::string clean;
|
||||
std::string::size_type i = 0;
|
||||
int character;
|
||||
while ((character = utf8_next_char (argument.c_str (), i)))
|
||||
{
|
||||
if (character <= 32)
|
||||
clean += ' ';
|
||||
else
|
||||
clean += utf8_character (character);
|
||||
}
|
||||
|
||||
A2 arg (Lexer::trim (clean), Lexer::Type::word);
|
||||
arg.tag ("ORIGINAL");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue