packages feed

calamity-0.1.9.0: src/Calamity/Commands/Group.hs

-- | Command groups
module Calamity.Commands.Group
    ( Group(..) ) where

import           Calamity.Commands.Check
import {-# SOURCE #-} Calamity.Commands.Command
import {-# SOURCE #-} Calamity.Commands.Context

import qualified Data.HashMap.Lazy         as LH
import qualified Data.Text                 as S
import qualified Data.Text.Lazy            as L

import           GHC.Generics

data Group = Group
  { name     :: S.Text
  , parent   :: Maybe Group
  , commands :: LH.HashMap S.Text Command
  , children :: LH.HashMap S.Text Group
  , help     :: Context -> L.Text
  , checks   :: [Check]
  }
  deriving ( Generic )