aboutsummaryrefslogtreecommitdiff
path: root/test/functional/insert/last_inserted_spec.lua
diff options
context:
space:
mode:
authorMatthew Malcomson <hardenedapple@gmail.com>2017-02-10 15:58:45 +0000
committerJustin M. Keyes <justinkz@gmail.com>2017-02-28 01:16:18 +0100
commit86c2adc07463e37a60801e8fd0572402a5d27262 (patch)
treeebf60508f1cf4eb1fbd68c941d907f6bfde10ef8 /test/functional/insert/last_inserted_spec.lua
parent28a6d4393db0de56ade7e75d0029f6bbd8f2e9db (diff)
downloadrneovim-86c2adc07463e37a60801e8fd0572402a5d27262.tar.gz
rneovim-86c2adc07463e37a60801e8fd0572402a5d27262.tar.bz2
rneovim-86c2adc07463e37a60801e8fd0572402a5d27262.zip
edit.c: CTRL-SPC: Insert previously-inserted text. #6090
Default Vim behavior of i_CTRL-<Space> is to insert the last-inserted text and exit insert mode. :help i_CTRL-@ Before this commit that did not happen because insert_handle_key() checks for NUL instead of checking for ' ' with a CTRL `mod_mask`. I'm leaving the check for NUL despite the fact that at the moment that key is never seen when using the terminal UI (not for C-Space, nor C-@). This is because I assume it's still allowed for other front-ends to pass NUL, but at the moment the terminal UI isn't.
Diffstat (limited to 'test/functional/insert/last_inserted_spec.lua')
-rw-r--r--test/functional/insert/last_inserted_spec.lua22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/functional/insert/last_inserted_spec.lua b/test/functional/insert/last_inserted_spec.lua
new file mode 100644
index 0000000000..dce23a3790
--- /dev/null
+++ b/test/functional/insert/last_inserted_spec.lua
@@ -0,0 +1,22 @@
+local helpers = require('test.functional.helpers')(after_each)
+local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
+local expect = helpers.expect
+
+clear()
+
+describe('insert-mode', function()
+ it('CTRL-@ inserts last-inserted text, leaves insert-mode', function()
+ insert('hello')
+ feed('i<C-@>x')
+ expect('hellhello')
+ end)
+ -- C-Space is the same as C-@
+ it('CTRL-SPC inserts last-inserted text, leaves insert-mode', function()
+ feed('i<C-Space>x')
+ expect('hellhellhello')
+ end)
+ it('CTRL-A inserts last inserted text', function()
+ feed('i<C-A>x')
+ expect('hellhellhellhelloxo')
+ end)
+end)