diff options
Diffstat (limited to 'src/CommandParser.cpp')
| -rw-r--r-- | src/CommandParser.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/CommandParser.cpp b/src/CommandParser.cpp index ccb84bc..7a8eb00 100644 --- a/src/CommandParser.cpp +++ b/src/CommandParser.cpp @@ -9,11 +9,15 @@ Cmd CommandParser::parse(QString input) { auto parts = input.split(QRegularExpression("\\s+"), Qt::SkipEmptyParts); if (parts.isEmpty()) - return Cmd(); + return {.command = Noop, .argsString = "", .rawInput = input}; + + auto cmdStr = parts.first(); + auto cmd = toCommandType(cmdStr); + auto rawArgs = input.slice(cmdStr.length()); - auto cmd = toCommandType(parts.first()); parts.removeFirst(); - return Cmd(cmd, parts); + + return {.command = cmd, .argsString = rawArgs, .rawInput = input}; } CommandType CommandParser::toCommandType(QString cmd) { |
