ansi_escape/ansi_escape.py

144 lines
2.9 KiB
Python
Raw Normal View History

2021-03-09 14:02:21 +00:00
def bell():
print("\u0007")
def cursor_position(**coordinates):
return_string = "\u001b["
try:
return_string += coordinates["row"]
except:
pass
return_string += ";"
try:
return_string += coordinates["column"]
except:
pass
return_string += "H"
return return_string
set_cursor = cursor_position
cup = cursor_position
def move_cursor(direction, *cells):
return_string = "\u001b["
try:
return_string += cells[0]
except:
pass
a = {
"up": "A",
"down": "B",
"forward": "C",
"backward": "D"
}
return_string += a[direction]
return return_string
def erase_in_display(direction):
return_string = "\u001b["
a = {
"forward": "0",
"backward": "1",
"both": "2",
"history": "3"
}
try:
return_string += a[direction]
except:
return_string += str(direction)
return_string += "J"
return return_string
erase_in_display_from_cursor = erase_in_display
ed = erase_in_display
def erase_in_line(direction):
return_string = "\u001b["
a = {
"forward": "0",
"backward": "1",
"both": "2"
}
try:
return_string += a[direction]
except:
return_string += direction
return_string += "K"
return return_string
erase_in_line_from_cursor = erase_in_line
el = erase_in_line
2021-03-09 14:02:21 +00:00
def color(mode, ground, *args):
return_string = "\u001b["
if mode == "bright":
return_string += "1;"
mode = "normal"
2021-03-09 14:02:21 +00:00
if ground == "fg":
return_string += "3"
elif ground == "bg":
return_string += "4"
if mode == "256":
return_string += "8;5;"
return_string += args[0]
return_string += "m"
return return_string
elif mode == "rgb":
return_string += "8;2;"
return_string = return_string + args[0] + ";" + args[1] + ";" +args[2]
return_string += "m"
return return_string
elif mode == "normal":
color_chart = {
"black": "0",
"red": "1",
"green": "2",
"yellow": "3",
"blue": "4",
"magenta": "5",
"cyan": "6",
"white": "7"
}
a = color_chart[args[0]]
return_string += a
return_string += "m"
return return_string
bell = "\u0007"
backspace = "\u0008"
2021-03-09 14:02:21 +00:00
escape = "\u001b"
esc = escape
2021-03-09 14:02:21 +00:00
csi = escape + "["
2021-03-09 14:02:21 +00:00
reset = csi + "0m"
normal = reset
reset_formatting = reset
2021-03-09 14:02:21 +00:00
bold = csi + "1m"
faint = csi +"2m"
2021-03-09 14:02:21 +00:00
underline = csi + "4m"
blink = csi + "5m"
2021-03-09 14:02:21 +00:00
invert = csi + "7m"
reverse_video = invert
2021-03-09 14:02:21 +00:00
strike = csi + "9m"
crossed_out = strike
2021-03-09 14:02:21 +00:00
normal_intensity = csi + "22m"
#no_italic = csi + "23m" #not vidley supported
no_blink = csi + "25m"
no_strike = csi + "29m"
reset_fg = csi + "39m"
reset_bg = csi + "49m"
overline = csi + "53m"
no_overline = csi + "55m"
frame = csi + "51m"
encircle = csi + "52m"
no_frame = csi + "54m"