view src/libvterm/t/30state_pen.test @ 32728:b13f723a7ec6 v9.0.1684

patch 9.0.1684: Update libvterm to rev 839 Commit: https://github.com/vim/vim/commit/b00df7aa388994119346a21d77b0d0db2a0a5e9f Author: zeertzjq <zeertzjq@outlook.com> Date: Tue Aug 8 11:03:00 2023 +0800 patch 9.0.1684: Update libvterm to rev 839 Problem: libvterm slightly outdated Solution: Update libvterm from rev 818 to rev 839 Notable fix: libvterm now handles DECSM/DECRM with multiple arguents, so several ncurses programs (e.g. nnn) can enable mouse properly when run in Vim's terminal in XTerm. closes: #12746 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author Christian Brabandt <cb@256bit.org>
date Fri, 11 Aug 2023 21:30:03 +0200
parents 82336c3b679d
children
line wrap: on
line source

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,is_default_fg)
  ?pen background = rgb(0,0,0,is_default_bg)

!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[4:0m"
  ?pen underline = 0
PUSH "\e[4:1m"
  ?pen underline = 1
PUSH "\e[4:2m"
  ?pen underline = 2
PUSH "\e[4:3m"
  ?pen underline = 3
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 = idx(1)
PUSH "\e[32m"
  ?pen foreground = idx(2)
PUSH "\e[34m"
  ?pen foreground = idx(4)
PUSH "\e[91m"
  ?pen foreground = idx(9)
PUSH "\e[38:2:10:20:30m"
  ?pen foreground = rgb(10,20,30)
PUSH "\e[38:5:1m"
  ?pen foreground = idx(1)
PUSH "\e[39m"
  ?pen foreground = rgb(240,240,240,is_default_fg)

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

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

!Super/Subscript
PUSH "\e[73m"
  ?pen small = on
  ?pen baseline = raise
PUSH "\e[74m"
  ?pen small = on
  ?pen baseline = lower
PUSH "\e[75m"
  ?pen small = off
  ?pen baseline = normal

!DECSTR resets pen attributes
PUSH "\e[1;4m"
  ?pen bold = on
  ?pen underline = 1
PUSH "\e[!p"
  ?pen bold = off
  ?pen underline = 0