summaryrefslogtreecommitdiff
path: root/net:foret/Prompts.zsh
blob: aabec4113692949ca12c32b674ef33c58b608bb2 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
##
## Part of configuration files for Zsh4
## AUTHOR: Hugues Hiegel <hugues@hiegel.fr>
## 
## You are encouraged to use, modify, and redistribute
## these files with or without this notice.
## 
## NO WARRANTY PROVIDED, USE AT YOUR OWN RISKS
##

_prompt_colors[target]="1;31"

__static_dynamic ()
{
    [ $(( ${STATIC:-$(( 1 ^ ${DYNAMIC:-0} ))} + ${DYNAMIC:-$(( 1 ^ ${STATIC:-0} ))} )) -lt 2 ] && \
    case "${STATIC:-$(( 1 ^ ${DYNAMIC:-0} ))}${DYNAMIC:-$((1 ^ ${STATIC:-0}))}" in
        "10")
            echo -n $C_
            export | grep -q '^DYNAMIC=' && echo -n "1;"
            echo -n $_make_colors[static]$_C"static" ;;
        "01")
            echo -n $C_
            export | grep -q '^STATIC=' && echo -n "1;"
            echo -n $_make_colors[dynamic]$_C"dynamic" ;;
    esac
}

__compilation_target ()
{
    [ -n "$TARGET" ] || exit
    echo -n $C_
    export | grep -q '^TARGET=' && echo -n "1;"
    echo -n $_make_colors[target]$_C$TARGET
}

__verbose_compilation ()
{
    [ -n "$V" -a "$V" -gt 0 ] || exit
    echo -n $C_
    export | grep -q '^V=' && echo -n "1;"
    echo -n $_make_colors[verbose]$_C$(for i in {1..$V} ; echo -n -n "V")
}

__nproc_compilation ()
{
    NPROC=${NPROC:-$(echo $MAKEFLAGS | sed '/j[0-9]\+/!d;s/.*j\([0-9]\+\).*/\1/')}

    [ -n "$NPROC" -a "$NPROC" -gt 0 ] || ( unset NPROC ; exit 0 )
    echo -n $C_
    export | grep -q '^NPROC=' && echo -n "1;"
    echo -n $_make_colors[nproc]$_C$(for i in {1..$NPROC} ; echo -n -n "|")
}
__makeflags ()
{
    echo -n $C_
    export | grep -q '^MAKEFLAGS=' && echo -n "1;"
    echo -n $_prompt_colors[soft_generic]";3"$_C${MAKEFLAGS// -/}
}

PS1_TASKBAR+=(__makeflags __verbose_compilation __nproc_compilation)
PS1_EXTRA_INFO+=(__static_dynamic __compilation_target)