[apps] In toolbox helpers, add double single quotes in text from command and

insert cursor in the middle of both
This commit is contained in:
Émilie Feral
2017-12-14 12:12:33 +01:00
committed by EmilieNumworks
parent 7686412266
commit afddb87cd4

View File

@@ -6,7 +6,7 @@ namespace ToolboxHelpers {
int CursorIndexInCommand(const char * text) {
for (size_t i = 0; i < strlen(text); i++) {
if (text[i] == '(') {
if (text[i] == '(' || text[i] == '\'') {
return i + 1;
}
}
@@ -21,21 +21,23 @@ void TextToInsertForCommandMessage(I18n::Message message, char * buffer) {
void TextToInsertForCommandText(const char * command, char * buffer) {
int currentNewTextIndex = 0;
int numberOfOpenBrackets = 0;
bool insideQuote = false;
size_t commandLength = strlen(command);
for (size_t i = 0; i < commandLength; i++) {
if (command[i] == ')') {
numberOfOpenBrackets--;
}
if (numberOfOpenBrackets == 0 || command[i] == ',')
{
buffer[currentNewTextIndex] = command[i];
buffer[currentNewTextIndex + 1] = 0;
currentNewTextIndex++;
if ((numberOfOpenBrackets == 0 || command[i] == ',') && (!insideQuote || command[i] == '\'')) {
buffer[currentNewTextIndex++] = command[i];
}
if (command[i] == '(') {
numberOfOpenBrackets++;
}
if (command[i] == '\'') {
insideQuote = !insideQuote;
}
}
buffer[currentNewTextIndex] = 0;
}
}