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)
diff --git a/src/testdir/view_util.vim b/src/testdir/view_util.vim
index a0c1781..d9e740d 100644
--- a/src/testdir/view_util.vim
+++ b/src/testdir/view_util.vim
@@ -95,6 +95,18 @@
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)