From e5ea6c176ba96988efc612a8e14eea90f9c293e1 Mon Sep 17 00:00:00 2001 From: acdenisSK Date: Thu, 2 Aug 2018 16:26:06 +0200 Subject: Handle no delimiters --- src/framework/standard/args.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/framework') 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::>(); - 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 { -- cgit v1.2.3