@@ -2,7 +2,7 @@ module Idris.Colours (
2 IdrisColour(..),
2 IdrisColour(..),
3 ColourTheme(..),
3 ColourTheme(..),
4 defaultTheme,
4 defaultTheme,
5− colouriseKwd, colouriseBound, colouriseImplicit,
5+ colouriseKwd, colouriseBound, colouriseImplicit, colourisePostulate,
6 colouriseType, colouriseFun, colouriseData, colouriseKeyword,
6 colouriseType, colouriseFun, colouriseData, colouriseKeyword,
7 colourisePrompt, colourise, ColourType(..)) where
7 colourisePrompt, colourise, ColourType(..)) where
@@ -19,13 +19,14 @@ data IdrisColour = IdrisColour { colour :: Maybe Color
19mkColour :: Color -> IdrisColour
19mkColour :: Color -> IdrisColour
20mkColour c = IdrisColour (Just c) True False False False
20mkColour c = IdrisColour (Just c) True False False False
22−data ColourTheme = ColourTheme { keywordColour :: IdrisColour
22+data ColourTheme = ColourTheme { keywordColour :: IdrisColour
23− , boundVarColour :: IdrisColour
23+ , boundVarColour :: IdrisColour
24− , implicitColour :: IdrisColour
24+ , implicitColour :: IdrisColour
25− , functionColour :: IdrisColour
25+ , functionColour :: IdrisColour
26− , typeColour :: IdrisColour
26+ , typeColour :: IdrisColour
27− , dataColour :: IdrisColour
27+ , dataColour :: IdrisColour
28− , promptColour :: IdrisColour
28+ , promptColour :: IdrisColour
29+ , postulateColour :: IdrisColour
30 deriving (Eq, Show)
31 deriving (Eq, Show)
@@ -38,6 +39,7 @@ defaultTheme = ColourTheme { keywordColour = IdrisColour Nothing True False True
38 , typeColour = mkColour Blue
39 , typeColour = mkColour Blue
39 , dataColour = mkColour Red
40 , dataColour = mkColour Red
40 , promptColour = IdrisColour Nothing True False True False
41 , promptColour = IdrisColour Nothing True False True False
42+ , postulateColour = IdrisColour (Just Green) True False True False
43-- | Set the colour of a string using POSIX escape codes
45-- | Set the colour of a string using POSIX escape codes
@@ -74,6 +76,10 @@ colourisePrompt t = colourise (promptColour t)
74colouriseKeyword :: ColourTheme -> String -> String
76colouriseKeyword :: ColourTheme -> String -> String
75colouriseKeyword t = colourise (keywordColour t)
77colouriseKeyword t = colourise (keywordColour t)
79+colourisePostulate :: ColourTheme -> String -> String
80+colourisePostulate t = colourise (postulateColour t)
77data ColourType = KeywordColour
83data ColourType = KeywordColour
78 | BoundVarColour
84 | BoundVarColour
79 | ImplicitColour
85 | ImplicitColour
@@ -81,4 +87,5 @@ data ColourType = KeywordColour
81 | TypeColour
87 | TypeColour
82 | DataColour
88 | DataColour
83 | PromptColour
89 | PromptColour
84 deriving (Eq, Show, Bounded, Enum)
91 deriving (Eq, Show, Bounded, Enum)