view src/libvterm/t/25state_input.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 9f857e6310b6
line wrap: on
line source

INIT
WANTSTATE

!Unmodified ASCII
INCHAR 0 41
  output "A"
INCHAR 0 61
  output "a"

!Ctrl modifier on ASCII letters
INCHAR C 41
  output "\e[65;5u"
INCHAR C 61
  output "\x01"

!Alt modifier on ASCII letters
INCHAR A 41
  output "\eA"
INCHAR A 61
  output "\ea"

!Ctrl-Alt modifier on ASCII letters
INCHAR CA 41
  output "\e[65;7u"
INCHAR CA 61
  output "\e\x01"

!Special handling of Ctrl-I
INCHAR 0 49
  output "I"
INCHAR 0 69
  output "i"
INCHAR C 49
  output "\e[73;5u"
INCHAR C 69
  output "\e[105;5u"
INCHAR A 49
  output "\eI"
INCHAR A 69
  output "\ei"
INCHAR CA 49
  output "\e[73;7u"
INCHAR CA 69
  output "\e[105;7u"

!Special handling of Space
INCHAR 0 20
  output " "
INCHAR S 20
  output "\e[32;2u"
INCHAR C 20
  output "\0"
INCHAR SC 20
  output "\e[32;6u"
INCHAR A 20
  output "\e "
INCHAR SA 20
  output "\e[32;4u"
INCHAR CA 20
  output "\e\0"
INCHAR SCA 20
  output "\e[32;8u"

!Cursor keys in reset (cursor) mode
INKEY 0 Up
  output "\e[A"
INKEY S Up
  output "\e[1;2A"
INKEY C Up
  output "\e[1;5A"
INKEY SC Up
  output "\e[1;6A"
INKEY A Up
  output "\e[1;3A"
INKEY SA Up
  output "\e[1;4A"
INKEY CA Up
  output "\e[1;7A"
INKEY SCA Up
  output "\e[1;8A"

!Cursor keys in application mode
PUSH "\e[?1h"
# Plain "Up" should be SS3 A now
INKEY 0 Up
  output "\eOA"
# Modified keys should still use CSI
INKEY S Up
  output "\e[1;2A"
INKEY C Up
  output "\e[1;5A"

!Shift-Tab should be different
INKEY 0 Tab
  output "\x09"
INKEY S Tab
  output "\e[Z"
INKEY C Tab
  output "\e[9;5u"
INKEY A Tab
  output "\e\x09"
INKEY CA Tab
  output "\e[9;7u"

!Enter in linefeed mode
INKEY 0 Enter
  output "\x0d"

!Enter in newline mode
PUSH "\e[20h"
INKEY 0 Enter
  output "\x0d\x0a"

!Keypad in DECKPNM
INKEY 0 KP0
  output "0"

!Keypad in DECKPAM
PUSH "\e="
INKEY 0 KP0
  output "\eOp"

!Bracketed paste mode off
PASTE START
PASTE END

!Bracketed paste mode on
PUSH "\e[?2004h"
PASTE START
  output "\e[200~"
PASTE END
  output "\e[201~"