forked from nushell/nu_scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
nu_style.nu
110 lines (97 loc) · 3.41 KB
/
nu_style.nu
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# This is a port of powershells $psstyle
# found here https://github.com/PowerShell/PowerShell/blob/5f3dd938b792e1a395fd011ac1461246db7c0e1f/src/System.Management.Automation/FormatAndOutput/common/PSStyle.cs
# Example Usage
# echo (fg_blue) Darren (relet) ' ' Schroeder | str collect
# More examples in the short_list.nu script
alias fmt_error = ansi -e '31;1m'
alias fmt_warning = ansi -e '33;1m'
alias fmt_verbose = ansi -e '33;1m'
alias fmt_debug = ansi -e '33;1m'
alias fmt_format_accent = ansi -e '32;1m'
alias fmt_error_accent = ansi -e '36;1m'
alias relet = ansi -e '0m' # really reset but there are external commands for reset already
alias blink_off = ansi -e '25m'
alias blink_on = ansi -e '5m'
alias bold_off = ansi -e '22m'
alias bold_on = ansi -e '1m'
alias hidden_on = ansi -e '8m'
alias hidden_off = ansi -e '28m'
alias reverse_on = ansi -e '7m'
alias reverse_off = ansi -e '27m'
alias italic_off = ansi -e '23m'
alias italic_on = ansi -e '3m'
alias underline_off = ansi -e '24m'
alias underline_on = ansi -e '4m'
alias strikethrough_off = ansi -e '29m'
alias strikethrough_on = ansi -e '9m'
# this doesn't work right. i need to have an (ansi escape) defined but i don't think there is one
#def format_hyperlink [link text] {echo [(ansi -o '8;;') $link '\' $text (ansi -o '8;;') '\'] | str collect }
alias fg_black = ansi -e '30m'
alias fg_red = ansi -e '31m'
alias fg_green = ansi -e '32m'
alias fg_yellow = ansi -e '33m'
alias fg_blue = ansi -e '34m'
alias fg_magenta = ansi -e '35m'
alias fg_purple = ansi -e '35m'
alias fg_cyan = ansi -e '36m'
alias fg_white = ansi -e '37m'
alias fg_dark_gray = ansi -e '90m'
alias fg_light_black = ansi -e '90m'
alias fg_light_red = ansi -e '91m'
alias fg_light_green = ansi -e '92m'
alias fg_light_yellow = ansi -e '93m'
alias fg_light_blue = ansi -e '94m'
alias fg_light_magenta = ansi -e '95m'
alias fg_light_purple = ansi -e '95m'
alias fg_light_cyan = ansi -e '96m'
alias fg_light_gray = ansi -e '97m'
alias fg_light_white = ansi -e '97m'
# construct a rgb foreground color
def fg_from_rgb [
red:int # red component 0-255
green:int # green component 0-255
blue:int # blue component 0-255
] {
echo [(ansi -e '38;2;') $red ';' $green ';' $blue 'm'] | str collect
}
alias bg_black = ansi -e '40m'
alias bg_red = ansi -e '41m'
alias bg_green = ansi -e '42m'
alias bg_yellow = ansi -e '43m'
alias bg_blue = ansi -e '44m'
alias bg_magenta = ansi -e '45m'
alias bg_purple = ansi -e '45m'
alias bg_cyan = ansi -e '46m'
alias bg_white = ansi -e '47m'
alias bg_dark_gray = ansi -e '100m'
alias bg_light_black = ansi -e '100m'
alias bg_light_red = ansi -e '101m'
alias bg_light_green = ansi -e '102m'
alias bg_light_yellow = ansi -e '103m'
alias bg_light_magenta = ansi -e '105m'
alias bg_light_purple = ansi -e '105m'
alias bg_light_blue = ansi -e '104m'
alias bg_light_cyan = ansi -e '106m'
alias bg_light_gray = ansi -e '107m'
alias bg_light_white = ansi -e '107m'
alias bg_expand = ansi -e 'K'
# construct a rgb background color
def bg_from_rgb [
red:int # red component 0-255
green:int # green component 0-255
blue:int # blue component 0-255
] {
$"(ansi -e '48;2;')($red);($green);($blue)m"
}
# Get a foreground color from an index value 0-255
def fg_from_index [
idx:int # index value 0-255
] {
$"(ansi -e '38;5;')($idx)m"
}
# Get a background color from an index value 0-255
def bg_from_index [
idx:int # index value 0-255
] {
$"(ansi -e '48;5;')($idx)m"
}