From 11db0a98abbaab6f8893d9764e8166249c07a4eb Mon Sep 17 00:00:00 2001 From: Lennart Spitzner Date: Fri, 30 Dec 2016 22:12:04 +0100 Subject: [PATCH] Fix InputString parsing for addFlagStringParam function family --- src/UI/Butcher/Monadic/Flag.hs | 4 ++-- src/UI/Butcher/Monadic/Param.hs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/UI/Butcher/Monadic/Flag.hs b/src/UI/Butcher/Monadic/Flag.hs index 6a58a31..d622aaa 100644 --- a/src/UI/Butcher/Monadic/Flag.hs +++ b/src/UI/Butcher/Monadic/Flag.hs @@ -222,7 +222,7 @@ addFlagStringParam shorts longs name flag = addCmdPartInpA desc parseF (\_ -> pu [drop (length s + 1) str | (s ++ " ") `isPrefixOf` str] of Nothing -> _flag_default flag <&> \x -> (x, InputString str) - Just rest1 -> let (x, rest2) = break (not . Char.isSpace) rest1 + Just rest1 -> let (x, rest2) = break Char.isSpace $ dropWhile Char.isSpace rest1 in Just (x, InputString rest2) parseF (InputArgs (s1:s2:sr)) | any (==s1) allStrs = Just (s2, InputArgs sr) parseF inp@(InputArgs _) = _flag_default flag <&> \x -> (x, inp) @@ -274,7 +274,7 @@ addFlagStringParamsAll shorts longs name flag act = addCmdPartManyInpA desc pars $ \s -> [ (x, InputString rest2) | (s ++ " ") `isPrefixOf` str , let rest1 = drop (length s + 1) str - , let (x, rest2) = break (not . Char.isSpace) rest1 + , let (x, rest2) = break Char.isSpace $ dropWhile Char.isSpace rest1 ] parseF (InputArgs (s1:s2:sr)) = flip firstJust allStrs diff --git a/src/UI/Butcher/Monadic/Param.hs b/src/UI/Butcher/Monadic/Param.hs index 101127b..4262736 100644 --- a/src/UI/Butcher/Monadic/Param.hs +++ b/src/UI/Butcher/Monadic/Param.hs @@ -105,7 +105,7 @@ addStringParam name par = addCmdPartInp desc parseF $ PartVariable name parseF :: Input -> Maybe (String, Input) parseF (InputString str) - = case break (not . Char.isSpace) str of + = case break Char.isSpace $ dropWhile Char.isSpace str of ("", rest) -> _param_default par <&> \x -> (x, InputString rest) (x, rest) -> Just (x, InputString rest) parseF (InputArgs args) = case args of @@ -125,7 +125,7 @@ addStringParamOpt name par = addCmdPartInp desc parseF $ PartVariable name parseF :: Input -> Maybe (Maybe String, Input) parseF (InputString str) - = case break (not . Char.isSpace) str of + = case break Char.isSpace $ dropWhile Char.isSpace str of ("", rest) -> Just (Nothing, InputString rest) (x, rest) -> Just (Just x, InputString rest) parseF (InputArgs args) = case args of