diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Plugin.hs | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/src/Plugin.hs b/src/Plugin.hs index 2a06fb4..6522e0b 100644 --- a/src/Plugin.hs +++ b/src/Plugin.hs @@ -7,9 +7,11 @@ module Plugin  import Text.Regex.TDFA +type PluginAction = String -> String +  data Plugin = Plugin      { matchRegex :: String -    , perform    :: String -> String +    , perform    :: PluginAction      }  instance Show Plugin where @@ -24,7 +26,6 @@ matchPlugin message = firstPlugin $ matchPlugins message plugins  matchPlugins :: String -> [Plugin] -> [Plugin]  matchPlugins message plugins = [p | p <- plugins, message =~ matchRegex p] --- TODO: Make a type for the `perform` function  performPlugin :: Plugin -> String -> String  performPlugin p message = perform p $ message =~ matchRegex p @@ -33,7 +34,7 @@ gitHubCommit = Plugin      , perform = gitHubCommitAction      } -gitHubCommitAction :: String -> String +gitHubCommitAction :: PluginAction  gitHubCommitAction match = "https://github.com/" ++ match  plugins :: [Plugin] | 
