diff options
-rw-r--r-- | src/Plugin.hs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/Plugin.hs b/src/Plugin.hs index da38943..84b4779 100644 --- a/src/Plugin.hs +++ b/src/Plugin.hs @@ -9,18 +9,22 @@ import Text.Regex.TDFA import Plugin.Base import Plugin.GitHubCommit +-- | Get the first plugin that matches the given message text. matchPlugin :: String -> Maybe Plugin matchPlugin message = firstPlugin $ matchPlugins message plugins where firstPlugin [] = Nothing firstPlugin (p:ps) = Just p +-- | Filter the list of plugins to those that match the given message. matchPlugins :: String -> [Plugin] -> [Plugin] matchPlugins message plugins = [p | p <- plugins, message =~ matchRegex p] +-- | Run the action belonging to the plugin, stored in its `perform` field. performPlugin :: Plugin -> String -> String performPlugin p message = perform p $ message =~ matchRegex p +-- | The list of plugins to load plugins :: [Plugin] plugins = [ gitHubCommit |