aboutsummaryrefslogtreecommitdiffstats
path: root/src/Plugin
diff options
context:
space:
mode:
Diffstat (limited to 'src/Plugin')
-rw-r--r--src/Plugin/Base.hs15
-rw-r--r--src/Plugin/Factorial.hs2
-rw-r--r--src/Plugin/GitHubCommit.hs2
-rw-r--r--src/Plugin/GitRemoteSetOrigin.hs2
-rw-r--r--src/Plugin/Help.hs2
5 files changed, 18 insertions, 5 deletions
diff --git a/src/Plugin/Base.hs b/src/Plugin/Base.hs
index ac67e71..d4194ee 100644
--- a/src/Plugin/Base.hs
+++ b/src/Plugin/Base.hs
@@ -1,7 +1,10 @@
+{-# LANGUAGE OverloadedStrings #-}
+
module Plugin.Base
( PluginAction
, Plugin(..)
+ , defaultPlugin
) where
import qualified Data.Text as T
@@ -17,7 +20,17 @@ data Plugin = Plugin
, perform :: PluginAction
, command :: T.Text
, description :: T.Text
+ , queryOnly :: Bool
}
instance Show Plugin where
- show (Plugin r _ _ _) = "matchRegex = " ++ r
+ show (Plugin r _ _ _ _) = "matchRegex = " ++ r
+
+defaultPlugin :: Plugin
+defaultPlugin = Plugin
+ { matchRegex = ""
+ , perform = \m -> return (Left "")
+ , command = ""
+ , description = ""
+ , queryOnly = False
+ }
diff --git a/src/Plugin/Factorial.hs b/src/Plugin/Factorial.hs
index 796ef14..9284fe7 100644
--- a/src/Plugin/Factorial.hs
+++ b/src/Plugin/Factorial.hs
@@ -10,7 +10,7 @@ import TextShow (showt)
import qualified Message as M
import Plugin.Base
-factorial = Plugin
+factorial = defaultPlugin
{ matchRegex = "^([0-9]+)!$"
, perform = factorialAction
, command = "<integer>!"
diff --git a/src/Plugin/GitHubCommit.hs b/src/Plugin/GitHubCommit.hs
index c10abf6..3d2e490 100644
--- a/src/Plugin/GitHubCommit.hs
+++ b/src/Plugin/GitHubCommit.hs
@@ -14,7 +14,7 @@ import I18n
import qualified Message as M
import Plugin.Base
-gitHubCommit = Plugin
+gitHubCommit = defaultPlugin
{ matchRegex = "^[0-9a-f]{40}$"
, perform = gitHubCommitAction
, command = "<git_sha>"
diff --git a/src/Plugin/GitRemoteSetOrigin.hs b/src/Plugin/GitRemoteSetOrigin.hs
index 8ab86dc..0fdb4ef 100644
--- a/src/Plugin/GitRemoteSetOrigin.hs
+++ b/src/Plugin/GitRemoteSetOrigin.hs
@@ -13,7 +13,7 @@ import Text.Regex.TDFA ((=~))
import qualified Message as M
import Plugin.Base
-gitRemoteSetOrigin = Plugin
+gitRemoteSetOrigin = defaultPlugin
{ matchRegex = "^git remote set origin ([^ ]+)$"
, perform = gitRemoteSetOriginAction
, command = "git remote set origin <url>"
diff --git a/src/Plugin/Help.hs b/src/Plugin/Help.hs
index ac38dab..258a80a 100644
--- a/src/Plugin/Help.hs
+++ b/src/Plugin/Help.hs
@@ -9,7 +9,7 @@ import qualified Data.Text as T
import qualified PluginList as PL (plugins)
import Plugin.Base
-help = Plugin
+help = defaultPlugin
{ matchRegex = "^help$"
, perform = helpAction
, command = "help"