aboutsummaryrefslogtreecommitdiff
path: root/lib/consolecolor/init.nom
blob: 34aa80d3549d1648f9051ea4ec6d3b7057a057de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env nomsu -V7.0.0
###
    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:
    (nomsu environment).($name, as lua id) =
        for $text:
            if $(COLOR ENABLED):
                if $text:
                    return "\027[\($colornum)m\($text)\027[0m"
                ..else:
                    return "\027[\($colornum)m"
            ..else:
                return ($text or "")