diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Plugin.hs | 13 | ||||
-rw-r--r-- | src/Plugin/Base.hs | 17 |
2 files changed, 19 insertions, 11 deletions
diff --git a/src/Plugin.hs b/src/Plugin.hs index 6522e0b..41b0296 100644 --- a/src/Plugin.hs +++ b/src/Plugin.hs @@ -1,21 +1,12 @@ module Plugin - ( Plugin - , matchPlugin + ( matchPlugin , performPlugin , plugins ) where import Text.Regex.TDFA -type PluginAction = String -> String - -data Plugin = Plugin - { matchRegex :: String - , perform :: PluginAction - } - -instance Show Plugin where - show (Plugin r p) = "matchRegex = " ++ r +import Plugin.Base matchPlugin :: String -> Maybe Plugin matchPlugin message = firstPlugin $ matchPlugins message plugins diff --git a/src/Plugin/Base.hs b/src/Plugin/Base.hs new file mode 100644 index 0000000..c73ef6a --- /dev/null +++ b/src/Plugin/Base.hs @@ -0,0 +1,17 @@ +module Plugin.Base + ( PluginAction + + , Plugin(..) + , matchRegex + , perform + ) where + +type PluginAction = String -> String + +data Plugin = Plugin + { matchRegex :: String + , perform :: PluginAction + } + +instance Show Plugin where + show (Plugin r p) = "matchRegex = " ++ r |