aboutsummaryrefslogtreecommitdiff
path: root/src/framework/standard/args.rs
diff options
context:
space:
mode:
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 {