Copyright | (c) Eric Mertens 2016 |
---|---|
License | ISC |
Maintainer | emertens@gmail.com |
Safe Haskell | Safe |
Language | Haskell2010 |
Irc.Modes
Description
This module provides support for interpreting the modes changed by a MODE command.
Synopsis
- data ModeTypes = ModeTypes {
- _modesLists :: [Char]
- _modesAlwaysArg :: [Char]
- _modesSetArg :: [Char]
- _modesNeverArg :: [Char]
- _modesPrefixModes :: [(Char, Char)]
- modesLists :: Functor f => ([Char] -> f [Char]) -> ModeTypes -> f ModeTypes
- modesAlwaysArg :: Functor f => ([Char] -> f [Char]) -> ModeTypes -> f ModeTypes
- modesSetArg :: Functor f => ([Char] -> f [Char]) -> ModeTypes -> f ModeTypes
- modesNeverArg :: Functor f => ([Char] -> f [Char]) -> ModeTypes -> f ModeTypes
- modesPrefixModes :: Functor f => ([(Char, Char)] -> f [(Char, Char)]) -> ModeTypes -> f ModeTypes
- defaultModeTypes :: ModeTypes
- defaultUmodeTypes :: ModeTypes
- splitModes :: ModeTypes -> Text -> [Text] -> Maybe [(Bool, Char, Text)]
- unsplitModes :: [(Bool, Char, Text)] -> [Text]
Interpretation of modes
Settings that describe how to interpret channel modes
Constructors
ModeTypes | |
Fields
|
modesLists :: Functor f => ([Char] -> f [Char]) -> ModeTypes -> f ModeTypes Source #
Lens for _modesList
modesAlwaysArg :: Functor f => ([Char] -> f [Char]) -> ModeTypes -> f ModeTypes Source #
Lens for _modesAlwaysArg
modesSetArg :: Functor f => ([Char] -> f [Char]) -> ModeTypes -> f ModeTypes Source #
Lens for _modesSetArg
modesNeverArg :: Functor f => ([Char] -> f [Char]) -> ModeTypes -> f ModeTypes Source #
Lens for _modesNeverArg
modesPrefixModes :: Functor f => ([(Char, Char)] -> f [(Char, Char)]) -> ModeTypes -> f ModeTypes Source #
Lens for _modesPrefixModes
defaultModeTypes :: ModeTypes Source #
The channel modes used by Freenode
defaultUmodeTypes :: ModeTypes Source #
The default UMODE used by Freenode
Operations for working with MODE command parameters
Arguments
:: ModeTypes | mode interpretation |
-> Text | modes |
-> [Text] | arguments |
-> Maybe [(Bool, Char, Text)] | (set, mode, parameter) |
Split up a mode change command and arguments into individual changes given a configuration.
Arguments
:: [(Bool, Char, Text)] | (set,mode,parameter) |
-> [Text] |
Construct the arguments to a MODE command corresponding to the given mode changes.