@@ -4,6 +4,7 @@ module Idris.Colours (
4 defaultTheme,
4 defaultTheme,
5 colouriseKwd, colouriseBound, colouriseImplicit,
5 colouriseKwd, colouriseBound, colouriseImplicit,
6 colouriseType, colouriseFun, colouriseData,
6 colouriseType, colouriseFun, colouriseData,
7 ColourType(..)) where
8 ColourType(..)) where
9import System.Console.ANSI
10import System.Console.ANSI
@@ -24,6 +25,7 @@ data ColourTheme = ColourTheme { keywordColour :: IdrisColour
24 , functionColour :: IdrisColour
25 , functionColour :: IdrisColour
25 , typeColour :: IdrisColour
26 , typeColour :: IdrisColour
26 , dataColour :: IdrisColour
27 , dataColour :: IdrisColour
28+ , promptColour :: IdrisColour
28 deriving (Eq, Show)
30 deriving (Eq, Show)
@@ -34,6 +36,7 @@ defaultTheme = ColourTheme { keywordColour = IdrisColour Black True True True
34 , functionColour = mkColour Green
36 , functionColour = mkColour Green
35 , typeColour = mkColour Blue
37 , typeColour = mkColour Blue
36 , dataColour = mkColour Red
38 , dataColour = mkColour Red
39+ , promptColour = IdrisColour Black True False True
39-- Set the colour of a string using POSIX escape codes
42-- Set the colour of a string using POSIX escape codes
@@ -61,6 +64,9 @@ colouriseType t = colourise (typeColour t)
61colouriseData :: ColourTheme -> String -> String
64colouriseData :: ColourTheme -> String -> String
62colouriseData t = colourise (dataColour t)
65colouriseData t = colourise (dataColour t)
67+colourisePrompt :: ColourTheme -> String -> String
68+colourisePrompt t = colourise (promptColour t)
65data ColourType = KeywordColour
71data ColourType = KeywordColour
66 | BoundVarColour
72 | BoundVarColour
@@ -68,4 +74,5 @@ data ColourType = KeywordColour
68 | FunctionColour
74 | FunctionColour
69 | TypeColour
75 | TypeColour
70 | DataColour
76 | DataColour
71 deriving (Eq, Show, Bounded, Enum)
78 deriving (Eq, Show, Bounded, Enum)