Mercurial > vim
diff src/misc2.c @ 16880:998603a243d7 v8.1.1441
patch 8.1.1441: popup window filter not yet implemented
commit https://github.com/vim/vim/commit/bf0eff0b724ebf4951f7ca82e6c648451f9f0c01
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 1 17:13:36 2019 +0200
patch 8.1.1441: popup window filter not yet implemented
Problem: Popup window filter not yet implemented.
Solution: Implement the popup filter.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 01 Jun 2019 17:15:06 +0200 |
parents | cdca5f577c36 |
children | d4ecdb8a4c58 |
line wrap: on
line diff
--- a/src/misc2.c +++ b/src/misc2.c @@ -2731,17 +2731,31 @@ get_special_key_name(int c, int modifier trans_special( char_u **srcp, char_u *dst, - int keycode, /* prefer key code, e.g. K_DEL instead of DEL */ - int in_string) /* TRUE when inside a double quoted string */ + int keycode, // prefer key code, e.g. K_DEL instead of DEL + int in_string) // TRUE when inside a double quoted string { int modifiers = 0; int key; - int dlen = 0; key = find_special_key(srcp, &modifiers, keycode, FALSE, in_string); if (key == 0) return 0; + return special_to_buf(key, modifiers, keycode, dst); +} + +/* + * Put the character sequence for "key" with "modifiers" into "dst" and return + * the resulting length. + * When "keycode" is TRUE prefer key code, e.g. K_DEL instead of DEL. + * The sequence is not NUL terminated. + * This is how characters in a string are encoded. + */ + int +special_to_buf(int key, int modifiers, int keycode, char_u *dst) +{ + int dlen = 0; + /* Put the appropriate modifier in a string */ if (modifiers != 0) {