INIT
UTF8 1
WANTSTATE

!Reset
PUSH "\e[m"
  ?pen bold = off
  ?pen underline = 0
  ?pen italic = off
  ?pen blink = off
  ?pen reverse = off
  ?pen font = 0
  ?pen foreground = rgb(240,240,240)
  ?pen background = rgb(0,0,0)

!Bold
PUSH "\e[1m"
  ?pen bold = on
PUSH "\e[22m"
  ?pen bold = off
PUSH "\e[1m\e[m"
  ?pen bold = off

!Underline
PUSH "\e[4m"
  ?pen underline = 1
PUSH "\e[21m"
  ?pen underline = 2
PUSH "\e[24m"
  ?pen underline = 0
PUSH "\e[4m\e[m"
  ?pen underline = 0

!Italic
PUSH "\e[3m"
  ?pen italic = on
PUSH "\e[23m"
  ?pen italic = off
PUSH "\e[3m\e[m"
  ?pen italic = off

!Blink
PUSH "\e[5m"
  ?pen blink = on
PUSH "\e[25m"
  ?pen blink = off
PUSH "\e[5m\e[m"
  ?pen blink = off

!Reverse
PUSH "\e[7m"
  ?pen reverse = on
PUSH "\e[27m"
  ?pen reverse = off
PUSH "\e[7m\e[m"
  ?pen reverse = off

!Font Selection
PUSH "\e[11m"
  ?pen font = 1
PUSH "\e[19m"
  ?pen font = 9
PUSH "\e[10m"
  ?pen font = 0
PUSH "\e[11m\e[m"
  ?pen font = 0

!Foreground
PUSH "\e[31m"
  ?pen foreground = rgb(224,0,0)
PUSH "\e[32m"
  ?pen foreground = rgb(0,224,0)
PUSH "\e[34m"
  ?pen foreground = rgb(0,0,224)
PUSH "\e[91m"
  ?pen foreground = rgb(255,64,64)
PUSH "\e[38:2:10:20:30m"
  ?pen foreground = rgb(10,20,30)
PUSH "\e[38:5:1m"
  ?pen foreground = rgb(224,0,0)
PUSH "\e[39m"
  ?pen foreground = rgb(240,240,240)

!Background
PUSH "\e[41m"
  ?pen background = rgb(224,0,0)
PUSH "\e[42m"
  ?pen background = rgb(0,224,0)
PUSH "\e[44m"
  ?pen background = rgb(0,0,224)
PUSH "\e[101m"
  ?pen background = rgb(255,64,64)
PUSH "\e[48:2:10:20:30m"
  ?pen background = rgb(10,20,30)
PUSH "\e[48:5:1m"
  ?pen background = rgb(224,0,0)
PUSH "\e[49m"
  ?pen background = rgb(0,0,0)

!Bold+ANSI colour == highbright
PUSH "\e[m\e[1;37m"
  ?pen bold = on
  ?pen foreground = rgb(255,255,255)
PUSH "\e[m\e[37;1m"
  ?pen bold = on
  ?pen foreground = rgb(255,255,255)
