Moved ansi colour words to distinct file.
[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 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 1 colour red
29 2 colour green
30 3 colour yellow
31 4 colour blue
32 5 colour magenta
33 6 colour cyan
34 7 colour white
35
36 \ Example usage:
37 \ fg red        ( set fg colour to red )
38 \ bg green      ( set bg colour to green )
39 \ bold          ( use a bold font )
40 \ reset-term    ( return everything to normal )