module Manatee.Plugin.Anything.AnythingIrc where
import DBus.Client hiding (Signal)
import Manatee.Core.DBus
import Manatee.Core.Types
import Manatee.Plugin.Anything.Anything
import Manatee.Plugin.Anything.Types
import Text.Regex.TDFA
anythingIrc :: Anything
anythingIrc =
Anything {anythingColumnTitle = ["Irc"]
,anythingColumnFun = [anythingCandidateUnpack]
,anythingSearch = AnythingSearch anythingIrcSearch
,anythingFilterRule = anythingFuzzyFilterRule True
,anythingCompletionRule = id
,anythingInputDepend = False
,anythingCommandFun = anythingIrcCommandFun
,anythingCalculateDelay = 0
}
anythingIrcSearch :: AnythingInput -> Client -> IO [String]
anythingIrcSearch input _
| input =~ ("^irc://.*$" :: String) :: Bool
= return [input]
| otherwise
= return []
anythingIrcCommandFun :: AnythingCommandFun
anythingIrcCommandFun _ (AnythingCandidateWrap a) _ =
return [("Join Channel", anythingIrcJoinChannel (candidateCommandName a))]
anythingIrcJoinChannel :: String -> Client -> IO ()
anythingIrcJoinChannel info client =
mkDaemonSignal client NewTab (NewTabArgs "PageIrc" info)