mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	Merge pull request #10790 from bfredl/metamb
keymap: allow modifiers to multibyte chars, like <m-ä>
This commit is contained in:
		| @@ -404,6 +404,9 @@ Mapping <kHome> will not work then. | ||||
| Note: If numlock is on, the |TUI| receives plain ASCII values, so | ||||
| mappings to <k0> - <k9> and <kPoint> will not work. | ||||
|  | ||||
| Note: Nvim supports mapping multibyte chars with modifiers such as `<M-ä>`. | ||||
| Which combinations actually are usable depends on the terminal emulator or GUI. | ||||
|  | ||||
| 								*<>* | ||||
| Examples are often given in the <> notation.  Sometimes this is just to make | ||||
| clear what you need to type, but often it can be typed literally, e.g., with | ||||
|   | ||||
| @@ -604,7 +604,7 @@ int find_special_key(const char_u **srcp, const size_t src_len, int *const modp, | ||||
|         // Anything accepted, like <C-?>. | ||||
|         // <C-"> or <M-"> are not special in strings as " is | ||||
|         // the string delimiter. With a backslash it works: <M-\"> | ||||
|         if (end - bp > l && !(in_string && bp[1] == '"') && bp[2] == '>') { | ||||
|         if (end - bp > l && !(in_string && bp[1] == '"') && bp[l+1] == '>') { | ||||
|           bp += l; | ||||
|         } else if (end - bp > 2 && in_string && bp[1] == '\\' | ||||
|                    && bp[2] == '"' && bp[3] == '>') { | ||||
|   | ||||
| @@ -103,6 +103,11 @@ describe('mappings', function() | ||||
|     check_mapping('<kequal>','<kequal>') | ||||
|     check_mapping('<KPEquals>','<kequal>') | ||||
|   end) | ||||
|  | ||||
|   it('support meta + multibyte char mapping', function() | ||||
|     add_mapping('<m-ä>', '<m-ä>') | ||||
|     check_mapping('<m-ä>', '<m-ä>') | ||||
|   end) | ||||
| end) | ||||
|  | ||||
| describe('feeding large chunks of input with <Paste>', function() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Björn Linse
					Björn Linse