view src/libvterm/t/22state_save.test @ 11621:b8299e742f41 v8.0.0693

patch 8.0.0693: no terminal emulator support commit https://github.com/vim/vim/commit/e4f25e4a8db2c8a8a71a4ba2a68540b3ab341e42 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jul 7 11:54:15 2017 +0200 patch 8.0.0693: no terminal emulator support Problem: No terminal emulator support. Cannot properly run commands in the GUI. Cannot run a job interactively with an ssh connection. Solution: Very early implementation of the :terminal command. Includes libvterm converted to ANSI C. Many parts still missing.
author Christian Brabandt <cb@256bit.org>
date Fri, 07 Jul 2017 12:00:04 +0200
parents
children
line wrap: on
line source

INIT
WANTSTATE p

RESET
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1

!Set up state
PUSH "\e[2;2H"
  ?cursor = 1,1
PUSH "\e[1m"
  ?pen bold = on

!Save
PUSH "\e[?1048h"

!Change state
PUSH "\e[5;5H"
  ?cursor = 4,4
PUSH "\e[4 q"
  settermprop 2 false
  settermprop 7 2
PUSH "\e[22;4m"
  ?pen bold = off
  ?pen underline = 1

!Restore
PUSH "\e[?1048l"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 1,1
  ?pen bold = on
  ?pen underline = 0

!Save/restore using DECSC/DECRC
PUSH "\e[2;2H\e7"
  ?cursor = 1,1

PUSH "\e[5;5H"
  ?cursor = 4,4
PUSH "\e8"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 1,1

!Save twice, restore twice happens on both edge transitions
PUSH "\e[2;10H\e[?1048h\e[6;10H\e[?1048h"
PUSH "\e[H"
  ?cursor = 0,0
PUSH "\e[?1048l"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 5,9
PUSH "\e[H"
  ?cursor = 0,0
PUSH "\e[?1048l"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 5,9