diff options
author | Teddy Wing | 2017-09-14 22:45:35 +0200 |
---|---|---|
committer | Teddy Wing | 2017-09-14 22:45:35 +0200 |
commit | 1f9c9d43ef475167ac6e886a71a782cf41bd549e (patch) | |
tree | 14b52a97984536edc8ea5ce20f2ebb9ec131e810 /src/Plugin | |
parent | ea190de02cea99347ae125d86cc22bf8cd926c88 (diff) | |
download | sorbot-1f9c9d43ef475167ac6e886a71a782cf41bd549e.tar.bz2 |
Help: Fix type error resulting from new plugin list type with `Bot`
The plugin list's type has changed from `[Plugin]` to `[Bot Plugin]`. In
order for our code here to work, we need to unwrap the `Bot` part so we
can get access to the `Plugin` again and do the same work.
Fortunately, using `sequence`, we can turn our `[Bot Plugin]` into a
`Bot [Plugin]`, which is then easily bound with `<-` and passed to our
old code to be handled like before. Yay!
Diffstat (limited to 'src/Plugin')
-rw-r--r-- | src/Plugin/Help.hs | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/Plugin/Help.hs b/src/Plugin/Help.hs index b29d1b9..ebe3760 100644 --- a/src/Plugin/Help.hs +++ b/src/Plugin/Help.hs @@ -23,17 +23,14 @@ help = do helpAction :: PluginAction helpAction _ = do + plugins' <- sequence plugins return $ Right $ T.intercalate "\n" - -- [T.justifyRight longestCommandLen ' ' (command p) - -- `T.append` " – " - -- `T.append` description p - -- | p <- plugins'] + [T.justifyRight (longestCommandLen plugins') ' ' (command p) + `T.append` " – " + `T.append` description p + | p <- plugins'] where - longestCommandLen = foldr (max) 0 (map (T.length . command) plugins) - - helpText plugin = T.justifyRight longestCommandLen ' ' (command plugin) - `T.append` " – " - `T.append` description plugin + longestCommandLen plugins = foldr (max) 0 (map (T.length . command) plugins) plugins :: [Bot Plugin] plugins = PL.plugins ++ [help] |