From e32a5ccc17cdac72cdfa39a6276238a4ed110a20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Thu, 26 Mar 2020 15:54:31 +0100 Subject: [PATCH] [apps/code] Simpler VarBoxController::autocompletionForText --- apps/code/variable_box_controller.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/apps/code/variable_box_controller.cpp b/apps/code/variable_box_controller.cpp index c253fb062..9221b0e15 100644 --- a/apps/code/variable_box_controller.cpp +++ b/apps/code/variable_box_controller.cpp @@ -331,17 +331,18 @@ const char * VariableBoxController::autocompletionForText(int scriptIndex, const const int textLength = endOfText - text; assert(textLength >= 1); loadFunctionsAndVariables(scriptIndex, text, textLength); - // TODO LEA Accelerate - for (int i = 0; i < numberOfRows(); i++) { - ScriptNode * node = scriptNodeAtIndex(i); - const char * currentName = node->name(); - int currentNameLength = node->nameLength(); - if ((currentNameLength < 0 || currentNameLength != textLength) && strncmp(text, currentName, textLength) == 0) { - *textToInsertLength = (currentNameLength < 0 ? strlen(currentName) : currentNameLength) - textLength; - return currentName + textLength; - } + if (numberOfRows() == 0) { + return nullptr; } - return nullptr; + ScriptNode * node = scriptNodeAtIndex(0); + const char * currentName = node->name(); + int currentNameLength = node->nameLength(); + if (currentNameLength < 0) { + currentNameLength = strlen(currentName); + } + assert(currentNameLength != textLength && strncmp(text, currentName, textLength) == 0); + *textToInsertLength = currentNameLength - textLength; + return currentName + textLength; } int VariableBoxController::MaxNodesCountForOrigin(NodeOrigin origin) {