diff src/testdir/view_util.vim @ 31303:d2107f7b2155 v9.0.0985

patch 9.0.0985: when using kitty keyboard protocol function keys may not work Commit: https://github.com/vim/vim/commit/1a173409ae6a39d59ff99cf3d567c25e859f9ecd Author: Bram Moolenaar <Bram@vim.org> Date: Fri Dec 2 12:28:47 2022 +0000 patch 9.0.0985: when using kitty keyboard protocol function keys may not work Problem: When using kitty keyboard protocol function keys may not work. (Kovid Goyal) Solution: Recognize CSI ending in [ABCDEFHPQRS] also when the termcap entries are not specified. (closes #11648)
author Bram Moolenaar <Bram@vim.org>
date Fri, 02 Dec 2022 13:30:04 +0100
parents a864e75257dd
children 9fc3b3928ad5
line wrap: on
line diff
--- a/src/testdir/view_util.vim
+++ b/src/testdir/view_util.vim
@@ -95,6 +95,18 @@ func GetEscCodeCSIu(key, modifier)
   return "\<Esc>[" .. key .. ';' .. mod .. 'u'
 endfunc
 
+" Return the kitty keyboard protocol encoding for a function key:
+" CSI {key}
+" CSS 1;{modifier} {key}
+func GetEscCodeFunckey(key, modifier)
+  if a:modifier == 0
+    return "\<Esc>[" .. a:key
+  endif
+
+  let mod = printf("%d", a:modifier)
+  return "\<Esc>[1;".. mod .. a:key
+endfunc
+
 " Return the kitty keyboard protocol encoding for "key" without a modifier.
 " Used for the Escape key.
 func GetEscCodeCSIuWithoutModifier(key)