aboutsummaryrefslogtreecommitdiff
path: root/src/framework
diff options
context:
space:
mode:
Diffstat (limited to 'src/framework')
-rw-r--r--src/framework/standard/args.rs19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/framework/standard/args.rs b/src/framework/standard/args.rs
index 0b915b6..1f97bc6 100644
--- a/src/framework/standard/args.rs
+++ b/src/framework/standard/args.rs
@@ -300,16 +300,21 @@ impl Args {
.flat_map(|s| s.chars())
.collect::<Vec<_>>();
- let mut lex = Lexer::new(message, &delims);
-
let mut args = Vec::new();
- while let Some(token) = lex.commit() {
- if token.kind == TokenKind::Delimiter {
- continue;
- }
+ // If there are no delimiters, then the only possible argument is the whole message.
+ if delims.is_empty() {
+ args.push(Token::new(TokenKind::Argument, &message[..], 0));
+ } else {
+ let mut lex = Lexer::new(message, &delims);
- args.push(token);
+ while let Some(token) = lex.commit() {
+ if token.kind == TokenKind::Delimiter {
+ continue;
+ }
+
+ args.push(token);
+ }
}
Args {