diff options
| -rw-r--r-- | src/Main.hs | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/src/Main.hs b/src/Main.hs index b42c3cf..6b06811 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -119,11 +119,17 @@ main = runInputT defaultSettings $ do                     | otherwise -> extPrint $ "Owner mismatch"              | otherwise -> extPrint $ "Unknown service: " ++ T.unpack svc +    let getInputLines prompt = do +            Just input <- lift $ getInputLine prompt +            case reverse input of +                 '\\':rest -> (reverse ('\n':rest) ++) <$> getInputLines ">> " +                 _         -> return input +      let process cstate = do              let pname = case csPeer cstate of                               Nothing -> ""                               Just peer -> maybe "<unnamed>" T.unpack $ idName . fromStored . signedData . fromStored . finalOwner <=< peerIdentity $ peer -            Just input <- lift $ getInputLine $ pname ++ "> " +            input <- getInputLines $ pname ++ "> "              let (cmd, line) = case input of                      '/':rest -> let (scmd, args) = dropWhile isSpace <$> span isAlphaNum rest                                   in if all isDigit scmd |