packages feed

lambdabot-4.1: Config.hs

--
-- | Configuration data for lambdabot
--
module Config where

-- | The 'Config' type provides configurations for lambdabot. It is used
--   when lambdabot is started to determine the name of lambdabot, what
--   IRC-network lambdabot should join, which channels lambdabot should
--   join upon successful connection, etc.
--
data Config = Config {
        verbose   :: Bool,          -- ^ Should lambdabot be verbose?
        textwidth :: Int,           -- ^ How many columns should we use
        proxy     :: Maybe ([Char], Integer), -- ^ A proxy given as
                                              --   a pair of host and port.

        -- | The 'path' component is a string to the location where the fortune files
        --   are located. On some systems, this is /usr/share/games/fortunes, on others
        --   this is /usr/share/games/fortune. Alter this to suit your configuration
        fortunePath :: FilePath,

        -- | Path to the top of $fptools, used by @code
        fptoolsPath :: FilePath,

        -- which ghci to use (in @type)
        ghci        :: FilePath,
        outputDir   :: FilePath,

        -- what prefixes to use for commands
        commandPrefixes :: [String],

        -- what prefixes to use for Haskell evalution
        evalPrefixes :: [String],

        -- particular commands we'd like to disable
        -- (to disable whole plugins, remove them from Modules.hs)
        disabledCommands :: [String]
}

--
-- Useful defaults for #haskell.
--
config :: Config
config = Config {
        verbose         = True,
        textwidth       = 350,
        proxy           = Nothing, -- Just ("www-proxy",3128),

        fortunePath     = "/home/dons/fortune/",
        fptoolsPath     = "/home/dons/fptools",

        ghci            = "ghci",
        outputDir       = "State/",

        commandPrefixes = ["@","?"],
        evalPrefixes    = [">"],

        disabledCommands = ["state"]

   }