From 321f87ea788409cec848de84555116cdb39feb41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Thu, 19 Mar 2020 15:53:22 +0100 Subject: [PATCH] [apps/code] VariableBoxController::autocompletionForText --- apps/code/variable_box_controller.cpp | 14 +++++++++++++- apps/code/variable_box_controller.h | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/apps/code/variable_box_controller.cpp b/apps/code/variable_box_controller.cpp index b0649118c..8e98ce155 100644 --- a/apps/code/variable_box_controller.cpp +++ b/apps/code/variable_box_controller.cpp @@ -187,7 +187,19 @@ void VariableBoxController::loadFunctionsAndVariables() { #endif } -const char * VariableBoxController::autocompletionForText(const char * text) const { +const char * VariableBoxController::autocompletionForText(const char * text) { + // TODO LEA Accelerate + loadFunctionsAndVariables(); + const char * endOfText = UTF8Helper::EndOfWord(text); + const int textLength = endOfText - text; + assert(textLength >= 1); + for (int i = 0; i < numberOfRows(); i++) { + const char * currentName = scriptNodeAtIndex(i)->name(); + if (strncmp(text, currentName, textLength) == 0 && *(currentName + textLength) + != 0) { + return currentName + textLength; + } + } return nullptr; } diff --git a/apps/code/variable_box_controller.h b/apps/code/variable_box_controller.h index 2ab80b798..a898db686 100644 --- a/apps/code/variable_box_controller.h +++ b/apps/code/variable_box_controller.h @@ -27,7 +27,7 @@ public: /* VariableBoxController */ void loadFunctionsAndVariables(); - const char * autocompletionForText(const char * text) const; + const char * autocompletionForText(const char * text); private: constexpr static int k_maxScriptObjectNameSize = 100; constexpr static int k_maxNumberOfDisplayedRows = 6; // 240/40