diff --git a/System/Console/Haskeline/Command/Completion.hs b/System/Console/Haskeline/Command/Completion.hs index 2f42b2b72d33188c73a1ddb788e1d657d3628e9b..97a887bab2a2e3fa720eaccd88eb93047c22c20c 100644 --- a/System/Console/Haskeline/Command/Completion.hs +++ b/System/Console/Haskeline/Command/Completion.hs @@ -85,7 +85,7 @@ askFirst :: Monad m => Prefs -> Int -> CmdM m () -> CmdM m () askFirst prefs n cmd | maybe False (< n) (completionPromptLimit prefs) = do - _ <- setState (Message () $ "Display all " ++ show n + _ <- setState (Message $ "Display all " ++ show n ++ " possibilities? (y or n)") keyChoiceCmdM [ simpleChar 'y' +> cmd @@ -96,7 +96,7 @@ askFirst prefs n cmd pageCompletions :: MonadReader Layout m => [String] -> CmdM m () pageCompletions [] = return () pageCompletions wws@(w:ws) = do - _ <- setState $ Message () "----More----" + _ <- setState $ Message "----More----" keyChoiceCmdM [ simpleChar '\n' +> oneLine , simpleKey DownKey +> oneLine diff --git a/System/Console/Haskeline/LineState.hs b/System/Console/Haskeline/LineState.hs index 4f158983dc3ce8f511acba16d3f576f8f515e87f..79537bfb7993ce29350ec755988ab9e56df8ecef 100644 --- a/System/Console/Haskeline/LineState.hs +++ b/System/Console/Haskeline/LineState.hs @@ -356,10 +356,9 @@ applyCmdArg :: (InsertMode -> InsertMode) -> ArgMode CommandMode -> CommandMode applyCmdArg f am = withCommandMode (repeatN (arg am) f) (argState am) --------------- --- TODO: messageState param not needed anymore. -data Message s = Message {messageState :: s, messageText :: String} +newtype Message = Message {messageText :: String} -instance LineState (Message s) where +instance LineState Message where beforeCursor _ = stringToGraphemes . messageText afterCursor _ = []