aboutsummaryrefslogtreecommitdiff
path: root/lib/consolecolor.nom
blob: fe7da4c29fb7b4c28fa5c67d687d19834e4004a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env nomsu -V4.8.10
#
    This file defines actions for ANSI console color escape codes.

test:
    bright "\(green)Color test passed."
%colors = {..}
    normal:0, "reset color":0, bright:1, bold:1, dim:2, italic:3, underscore:4
    "slow blink":5, "fast blink":6, reverse:7, inverse:7, inverted:7, hidden:8
    # There's some other codes, but they're not currently implemented
    black:30, red:31, green:32, yellow:33, blue:34, magenta:35, cyan:36, white:37
    "on black":40, "on red":41, "on green":42, "on yellow":43, "on blue":44
    "on magenta":45, "on cyan":46, "on white":47

for %name = %colornum in %colors:
    %colornum = "\%colornum"
    #(=lua "COMPILE_ACTIONS").%name = (..)
        [%nomsu, %tree] -> (Lua value "'\\027[\(%colornum)m'")
    (=lua "COMPILE_ACTIONS")."\%name" = (..)
        [%nomsu, %tree, %text] ->:
            if %text:
                return (Lua value "('\\027[\(%colornum)m'..\(%text as lua expr)..'\\027[0m')")
            ..else: return (Lua value "'\\027[\(%colornum)m'")