aboutsummaryrefslogtreecommitdiff
path: root/src/framework/standard/args.rs
diff options
context:
space:
mode:
authorJacob Helwig <[email protected]>2017-10-07 02:43:42 -0700
committeralex <[email protected]>2017-10-07 11:43:42 +0200
commit3a4cb18be8ca33d507cbfc88fec79b2a6c5d8bfc (patch)
treea1eedc69a54e27cd409dd6195f630e89d461a92c /src/framework/standard/args.rs
parentChange default_channel to return a pointer (#179) (diff)
downloadserenity-3a4cb18be8ca33d507cbfc88fec79b2a6c5d8bfc.tar.xz
serenity-3a4cb18be8ca33d507cbfc88fec79b2a6c5d8bfc.zip
Do not to " " if none of the provided delimiters are found (#183)
Diffstat (limited to 'src/framework/standard/args.rs')
-rw-r--r--src/framework/standard/args.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/framework/standard/args.rs b/src/framework/standard/args.rs
index d03076f..8f166b6 100644
--- a/src/framework/standard/args.rs
+++ b/src/framework/standard/args.rs
@@ -18,7 +18,7 @@ impl<E: StdError> From<E> for Error<E> {
fn from(e: E) -> Self {
Error::Parse(e)
}
-}
+}
impl<E: StdError> StdError for Error<E> {
fn description(&self) -> &str {
@@ -60,7 +60,12 @@ pub struct Args {
}
impl Args {
- pub fn new(message: &str, delimiter: &str) -> Self {
+ pub fn new(message: &str, possible_delimiters: Vec<String>) -> Self {
+ let delimiter = possible_delimiters
+ .iter()
+ .find(|&d| message.contains(d))
+ .map_or(possible_delimiters[0].as_str(), |s| s.as_str());
+
let split = if message.trim().is_empty() {
Vec::new()
} else {