diff options
author | Gregory Anders <8965202+gpanders@users.noreply.github.com> | 2022-05-18 09:51:26 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-18 09:51:26 -0600 |
commit | 8a9ab88945cdabcbd23f23406353ec6110fefa83 (patch) | |
tree | 5e71bf2543032471d30fce29ced806bf07021bfd /test/functional/api/autocmd_spec.lua | |
parent | d7dd6007167eac919205404bc4e556237118a7a7 (diff) | |
download | rneovim-8a9ab88945cdabcbd23f23406353ec6110fefa83.tar.gz rneovim-8a9ab88945cdabcbd23f23406353ec6110fefa83.tar.bz2 rneovim-8a9ab88945cdabcbd23f23406353ec6110fefa83.zip |
feat(api): enable nvim_exec_autocmds to pass arbitrary data (#18613)
Add a "data" key to nvim_exec_autocmds that passes arbitrary data (API
objects) to autocommand callbacks.
Diffstat (limited to 'test/functional/api/autocmd_spec.lua')
-rw-r--r-- | test/functional/api/autocmd_spec.lua | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/functional/api/autocmd_spec.lua b/test/functional/api/autocmd_spec.lua index 41de308a2c..c08c411de1 100644 --- a/test/functional/api/autocmd_spec.lua +++ b/test/functional/api/autocmd_spec.lua @@ -230,6 +230,34 @@ describe('autocmd api', function() }, meths.get_var("autocmd_args")) end) + + it('can receive arbitrary data', function() + local function test(data) + eq(data, exec_lua([[ + local input = ... + local output + vim.api.nvim_create_autocmd("User", { + pattern = "Test", + callback = function(args) + output = args.data + end, + }) + + vim.api.nvim_exec_autocmds("User", { + pattern = "Test", + data = input, + }) + + return output + ]], data)) + end + + test("Hello") + test(42) + test(true) + test({ "list" }) + test({ foo = "bar" }) + end) end) describe('nvim_get_autocmds', function() |