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

List:       kde-commits
Subject:    [akonadi-next/feature/new_cli] akonadi2_cli: move Syntax out of SyntraxTree
From:       Aaron Seigo <aseigo () kde ! org>
Date:       2015-12-23 19:38:31
Message-ID: E1aBpF1-0003ky-Os () scm ! kde ! org
[Download RAW message or body]

Git commit 5e9c1172ca196bdc8bcdc842e54efc5a74908fff by Aaron Seigo.
Committed on 23/12/2015 at 19:31.
Pushed by aseigo into branch 'feature/new_cli'.

move Syntax out of SyntraxTree

M  +1    -1    akonadi2_cli/repl/replStates.cpp
M  +1    -1    akonadi2_cli/syntax_modules/akonadi_list.cpp
M  +7    -7    akonadi2_cli/syntax_modules/core_syntax.cpp
M  +2    -2    akonadi2_cli/syntaxtree.cpp
M  +23   -21   akonadi2_cli/syntaxtree.h

http://commits.kde.org/akonadi-next/5e9c1172ca196bdc8bcdc842e54efc5a74908fff

diff --git a/akonadi2_cli/repl/replStates.cpp b/akonadi2_cli/repl/replStates.cpp
index 0273aa2..0179779 100644
--- a/akonadi2_cli/repl/replStates.cpp
+++ b/akonadi2_cli/repl/replStates.cpp
@@ -149,7 +149,7 @@ static char **akonadi2_cli_tab_completion(const char *text, int \
start, int end)  
 static char *akonadi2_cli_next_tab_complete_match(const char *text, int state)
 {
-    QVector<SyntaxTree::Syntax> nearest = \
SyntaxTree::self()->nearestSyntax(tab_completion_full_state, QString(text)); +    \
SyntaxTree::SyntaxList nearest = \
SyntaxTree::self()->nearestSyntax(tab_completion_full_state, QString(text));  
     if (nearest.size() > state) {
         return qstrdup(nearest[state].keyword.toUtf8());
diff --git a/akonadi2_cli/syntax_modules/akonadi_list.cpp \
b/akonadi2_cli/syntax_modules/akonadi_list.cpp index 26b1f1e..62824ee 100644
--- a/akonadi2_cli/syntax_modules/akonadi_list.cpp
+++ b/akonadi2_cli/syntax_modules/akonadi_list.cpp
@@ -42,7 +42,7 @@ namespace AkonadiList
 SyntaxTree::SyntaxList syntax()
 {
     SyntaxTree::SyntaxList syntax;
-    syntax << SyntaxTree::Syntax("list", QObject::tr("List all resources, or the \
contents of one or more resources"), &AkonadiList::list, \
SyntaxTree::Syntax::EventDriven); +    syntax << Syntax("list", QObject::tr("List all \
resources, or the contents of one or more resources"), &AkonadiList::list, \
Syntax::EventDriven);  
     return syntax;
 }
diff --git a/akonadi2_cli/syntax_modules/core_syntax.cpp \
b/akonadi2_cli/syntax_modules/core_syntax.cpp index f9cd622..1231e29 100644
--- a/akonadi2_cli/syntax_modules/core_syntax.cpp
+++ b/akonadi2_cli/syntax_modules/core_syntax.cpp
@@ -30,15 +30,15 @@ namespace CoreSyntax
 SyntaxTree::SyntaxList syntax()
 {
     SyntaxTree::SyntaxList syntax;
-    syntax << SyntaxTree::Syntax("exit", QObject::tr("Exits the application. Ctrl-d \
                also works!"), &CoreSyntax::exit);
-    syntax << SyntaxTree::Syntax(QObject::tr("help"), QObject::tr("Print command \
information: help [command]"), &CoreSyntax::showHelp); +    syntax << Syntax("exit", \
QObject::tr("Exits the application. Ctrl-d also works!"), &CoreSyntax::exit); +    \
syntax << Syntax(QObject::tr("help"), QObject::tr("Print command information: help \
[command]"), &CoreSyntax::showHelp);  
-    SyntaxTree::Syntax set(QObject::tr("set"), QObject::tr("Sets settings for the \
                session"));
-    set.children << SyntaxTree::Syntax(QObject::tr("debug"), QObject::tr("Set the \
debug level from 0 to 6"), &CoreSyntax::setDebugLevel); +    Syntax \
set(QObject::tr("set"), QObject::tr("Sets settings for the session")); +    \
set.children << Syntax(QObject::tr("debug"), QObject::tr("Set the debug level from 0 \
to 6"), &CoreSyntax::setDebugLevel);  syntax << set;
 
-    SyntaxTree::Syntax get(QObject::tr("get"), QObject::tr("Gets settings for the \
                session"));
-    get.children << SyntaxTree::Syntax(QObject::tr("debug"), QObject::tr("Set the \
debug level from 0 to 6"), &CoreSyntax::printDebugLevel); +    Syntax \
get(QObject::tr("get"), QObject::tr("Gets settings for the session")); +    \
get.children << Syntax(QObject::tr("debug"), QObject::tr("Set the debug level from 0 \
to 6"), &CoreSyntax::printDebugLevel);  syntax << get;
 
     return syntax;
@@ -65,7 +65,7 @@ bool showHelp(const QStringList &commands, State &state)
         for (auto keyword: sorted) {
             state.printLine(keyword, 1);
         }
-    } else if (const SyntaxTree::Syntax *syntax = command.first) {
+    } else if (const Syntax *syntax = command.first) {
         //TODO: get parent!
         state.print(QObject::tr("Command `%1`").arg(syntax->keyword));
 
diff --git a/akonadi2_cli/syntaxtree.cpp b/akonadi2_cli/syntaxtree.cpp
index 5dd4c54..a4f5d40 100644
--- a/akonadi2_cli/syntaxtree.cpp
+++ b/akonadi2_cli/syntaxtree.cpp
@@ -29,11 +29,11 @@
 
 SyntaxTree *SyntaxTree::s_module = 0;
 
-SyntaxTree::Syntax::Syntax()
+Syntax::Syntax()
 {
 }
 
-SyntaxTree::Syntax::Syntax(const QString &k, const QString &helpText, \
std::function<bool(const QStringList &, State &)> l, Interactivity inter) \
+Syntax::Syntax(const QString &k, const QString &helpText, std::function<bool(const \
QStringList &, State &)> l, Interactivity inter)  : keyword(k),
       help(helpText),
       interactivity(inter),
diff --git a/akonadi2_cli/syntaxtree.h b/akonadi2_cli/syntaxtree.h
index 54b867f..7282955 100644
--- a/akonadi2_cli/syntaxtree.h
+++ b/akonadi2_cli/syntaxtree.h
@@ -24,32 +24,34 @@
 #include <QStringList>
 #include <QVector>
 
-class SyntaxTree
+class Syntax
 {
 public:
-    struct Syntax
-    {
-        enum Interactivity {
-            NotInteractive = 0,
-            EventDriven
-        };
-
-        Syntax();
-        Syntax(const QString &keyword,
-               const QString &helpText = QString(),
-               std::function<bool(const QStringList &, State &)> lambda = \
                std::function<bool(const QStringList &, State &)>(),
-               Interactivity interactivity = NotInteractive);
-
-        QString keyword;
-        QString help;
-        Interactivity interactivity;
-        std::function<bool(const QStringList &, State &)> lambda;
-
-        QVector<Syntax> children;
+    enum Interactivity {
+        NotInteractive = 0,
+        EventDriven
     };
 
+    Syntax();
+    Syntax(const QString &keyword,
+            const QString &helpText = QString(),
+            std::function<bool(const QStringList &, State &)> lambda = \
std::function<bool(const QStringList &, State &)>(), +            Interactivity \
interactivity = NotInteractive); +
+    QString keyword;
+    QString help;
+    Interactivity interactivity;
+    std::function<bool(const QStringList &, State &)> lambda;
+
+    QVector<Syntax> children;
+};
+
+class SyntaxTree
+{
+public:
+
     typedef std::pair<const Syntax *, QStringList> Command;
-    typedef QVector<SyntaxTree::Syntax> SyntaxList;
+    typedef QVector<Syntax> SyntaxList;
 
     static SyntaxTree *self();
 


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

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