[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [akonadi-next/develop] akonadish: pass the state object into the completer
From:       Aaron Seigo <aseigo () kde ! org>
Date:       2015-12-28 19:31:30
Message-ID: E1aDdVy-0007Os-Sj () scm ! kde ! org
[Download RAW message or body]

Git commit 7e48662cf11b5be7d062b082a9a1970419921a08 by Aaron Seigo.
Committed on 28/12/2015 at 19:20.
Pushed by aseigo into branch 'develop'.

pass the state object into the completer

allows completion to use an eventloop e.g.

M  +1    -1    akonadish/repl/replStates.cpp
M  +1    -1    akonadish/syntax_modules/core_syntax.cpp
M  +1    -1    akonadish/syntaxtree.h

http://commits.kde.org/akonadi-next/7e48662cf11b5be7d062b082a9a1970419921a08

diff --git a/akonadish/repl/replStates.cpp b/akonadish/repl/replStates.cpp
index 62888d0..55fdf39 100644
--- a/akonadish/repl/replStates.cpp
+++ b/akonadish/repl/replStates.cpp
@@ -156,7 +156,7 @@ static char *akonadi2_cli_next_tab_complete_match(const char \
*text, int state)  if (nearest.isEmpty()) {
         SyntaxTree::Command command = \
SyntaxTree::self()->match(tab_completion_full_state);  if (command.first && \
                command.first->completer) {
-            QStringList commandCompletions = \
command.first->completer(tab_completion_full_state, fragment); +            \
QStringList commandCompletions = command.first->completer(tab_completion_full_state, \
fragment, SyntaxTree::self()->state());  if (commandCompletions.size() > state) {
                 return qstrdup(commandCompletions[state].toUtf8());
             }
diff --git a/akonadish/syntax_modules/core_syntax.cpp \
b/akonadish/syntax_modules/core_syntax.cpp index 31b824a..b4812df 100644
--- a/akonadish/syntax_modules/core_syntax.cpp
+++ b/akonadish/syntax_modules/core_syntax.cpp
@@ -76,7 +76,7 @@ bool showHelp(const QStringList &commands, State &state)
     return true;
 }
 
-QStringList showHelpCompleter(const QStringList &commands, const QString &fragment)
+QStringList showHelpCompleter(const QStringList &commands, const QString &fragment, \
State &)  {
     QStringList items;
 
diff --git a/akonadish/syntaxtree.h b/akonadish/syntaxtree.h
index ee06d28..468aad3 100644
--- a/akonadish/syntaxtree.h
+++ b/akonadish/syntaxtree.h
@@ -47,7 +47,7 @@ public:
     QString help;
     Interactivity interactivity;
     std::function<bool(const QStringList &, State &)> lambda;
-    std::function<QStringList(const QStringList &, const QString &)> completer;
+    std::function<QStringList(const QStringList &, const QString &, State &state)> \
completer;  
     QVector<Syntax> children;
 };


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic