diff options
-rw-r--r-- | src/nvim/api/vim.c | 3 | ||||
-rw-r--r-- | test/functional/api/vim_spec.lua | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index 1fedaf30ef..53e5f71fd4 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -135,7 +135,8 @@ Integer nvim_input(String keys) return (Integer)input_enqueue(keys); } -/// Replaces any terminal codes with the internal representation +/// Replaces terminal codes and key codes (<CR>, <Esc>, ...) in a string with +/// the internal representation. /// /// @see replace_termcodes /// @see cpoptions diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua index 61ec6ea829..161682b973 100644 --- a/test/functional/api/vim_spec.lua +++ b/test/functional/api/vim_spec.lua @@ -368,6 +368,11 @@ describe('api', function() '<LeftMouse>', true, true, true)) end) + it('converts keycodes', function() + eq('\nx\27x\rx<x', helpers.nvim('replace_termcodes', + '<NL>x<Esc>x<CR>x<lt>x', true, true, true)) + end) + it('does not crash when transforming an empty string', function() -- Actually does not test anything, because current code will use NULL for -- an empty string. |