Fix InputString parsing for addFlagStringParam function family
parent
f35ebb733a
commit
11db0a98ab
|
@ -222,7 +222,7 @@ addFlagStringParam shorts longs name flag = addCmdPartInpA desc parseF (\_ -> pu
|
||||||
[drop (length s + 1) str | (s ++ " ") `isPrefixOf` str]
|
[drop (length s + 1) str | (s ++ " ") `isPrefixOf` str]
|
||||||
of
|
of
|
||||||
Nothing -> _flag_default flag <&> \x -> (x, InputString str)
|
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)
|
in Just (x, InputString rest2)
|
||||||
parseF (InputArgs (s1:s2:sr)) | any (==s1) allStrs = Just (s2, InputArgs sr)
|
parseF (InputArgs (s1:s2:sr)) | any (==s1) allStrs = Just (s2, InputArgs sr)
|
||||||
parseF inp@(InputArgs _) = _flag_default flag <&> \x -> (x, inp)
|
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 -> [ (x, InputString rest2)
|
||||||
| (s ++ " ") `isPrefixOf` str
|
| (s ++ " ") `isPrefixOf` str
|
||||||
, let rest1 = drop (length s + 1) 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))
|
parseF (InputArgs (s1:s2:sr))
|
||||||
= flip firstJust allStrs
|
= flip firstJust allStrs
|
||||||
|
|
|
@ -105,7 +105,7 @@ addStringParam name par = addCmdPartInp desc parseF
|
||||||
$ PartVariable name
|
$ PartVariable name
|
||||||
parseF :: Input -> Maybe (String, Input)
|
parseF :: Input -> Maybe (String, Input)
|
||||||
parseF (InputString str)
|
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)
|
("", rest) -> _param_default par <&> \x -> (x, InputString rest)
|
||||||
(x, rest) -> Just (x, InputString rest)
|
(x, rest) -> Just (x, InputString rest)
|
||||||
parseF (InputArgs args) = case args of
|
parseF (InputArgs args) = case args of
|
||||||
|
@ -125,7 +125,7 @@ addStringParamOpt name par = addCmdPartInp desc parseF
|
||||||
$ PartVariable name
|
$ PartVariable name
|
||||||
parseF :: Input -> Maybe (Maybe String, Input)
|
parseF :: Input -> Maybe (Maybe String, Input)
|
||||||
parseF (InputString str)
|
parseF (InputString str)
|
||||||
= case break (not . Char.isSpace) str of
|
= case break Char.isSpace $ dropWhile Char.isSpace str of
|
||||||
("", rest) -> Just (Nothing, InputString rest)
|
("", rest) -> Just (Nothing, InputString rest)
|
||||||
(x, rest) -> Just (Just x, InputString rest)
|
(x, rest) -> Just (Just x, InputString rest)
|
||||||
parseF (InputArgs args) = case args of
|
parseF (InputArgs args) = case args of
|
||||||
|
|
Loading…
Reference in New Issue