Fixed term colour bug.
[scheme.forth.jl.git] / term-colours.4th
1 \ Words for controlling terminal colours via ANSI escape sequences
2
3 : escape 27 emit [char] [ emit ;
4 : escape-end [char] m emit ;
5
6 : fg [char] 3 ;
7 : bg [char] 4 ;
8
9 : set-term-colour
10     escape emit [char] 0 + emit escape-end
11 ;
12
13 : reset-term
14     escape [char] 0 emit escape-end
15 ;
16
17 : bold
18     escape [char] 1 emit escape-end
19 ;
20
21 : colour
22     create ,
23 does>
24     @ swap
25     set-term-colour
26 ;
27
28 0 colour black
29 1 colour red
30 2 colour green
31 3 colour yellow
32 4 colour blue
33 5 colour magenta
34 6 colour cyan
35 7 colour white
36
37 \ Example usage:
38 \ fg red        ( set fg colour to red )
39 \ bg green      ( set bg colour to green )
40 \ bold          ( use a bold font )
41 \ reset-term    ( return everything to normal )