module Yi.Style.Library where
import Yi.Style
import Data.Prototype
import Data.Monoid
type Theme = Proto UIStyle
defaultTheme :: Theme
defaultTheme = Proto $ const UIStyle
{ modelineAttributes = emptyAttributes { foreground = white, background = grey }
, modelineFocusStyle = withFg brightwhite
, tabBarAttributes = emptyAttributes
, tabInFocusStyle = withFg black `mappend` withBg white
, tabNotFocusedStyle = mempty
, baseAttributes = emptyAttributes
, selectedStyle = withFg white `mappend` withBg purple
, eofStyle = withFg blue
, errorStyle = withBg red
, hintStyle = withFg black `mappend` withBg cyan
, strongHintStyle = withFg black `mappend` withBg magenta
, commentStyle = withFg purple
, blockCommentStyle = withFg purple
, keywordStyle = withFg darkblue
, numberStyle = withFg darkred
, preprocessorStyle = withFg red
, stringStyle = withFg darkcyan
, longStringStyle = mempty
, typeStyle = withFg darkgreen
, dataConstructorStyle
= withBd True `mappend` withFg darkgreen
, importStyle = withFg blue
, builtinStyle = withFg blue
, regexStyle = withFg red
, variableStyle = mempty
, operatorStyle = withFg brown
, makeFileRuleHead = withFg blue
, makeFileAction = withFg grey
, quoteStyle = withFg grey
}
darkBlueTheme :: Theme
darkBlueTheme = defaultTheme `override` \super _ -> super
{ modelineAttributes = emptyAttributes { foreground = darkblue, background = white }
, modelineFocusStyle = withBg brightwhite
, tabBarAttributes = emptyAttributes { foreground = darkblue, background = brightwhite }
, tabInFocusStyle = withFg grey `mappend` withBg white
, tabNotFocusedStyle = withFg lightGrey `mappend` withBg white
, baseAttributes = emptyAttributes { foreground = white, background = black }
, selectedStyle = withFg white `mappend` withBg blue
, eofStyle = withFg red
, hintStyle = withBg darkblue
, strongHintStyle = withBg blue
, commentStyle = withFg darkred
, keywordStyle = withFg brown
, stringStyle = withFg purple
, variableStyle = withFg cyan
, operatorStyle = withFg brown
}