aboutsummaryrefslogtreecommitdiff
path: root/src/CommandParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/CommandParser.cpp10
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) {