diff options
author | Josh Rahm <rahm@google.com> | 2022-08-18 23:03:17 -0600 |
---|---|---|
committer | Josh Rahm <rahm@google.com> | 2022-08-18 23:03:17 -0600 |
commit | b9a0252822e3969574d4e07e7e85b8292ef5bae0 (patch) | |
tree | bc16601f62278669d87ecfb63e5f380dc58cf5ba /runtime/lua/vim | |
parent | b698f03ae66eae9eaf6e992d8dd0e69d8fe14347 (diff) | |
download | rneovim-b9a0252822e3969574d4e07e7e85b8292ef5bae0.tar.gz rneovim-b9a0252822e3969574d4e07e7e85b8292ef5bae0.tar.bz2 rneovim-b9a0252822e3969574d4e07e7e85b8292ef5bae0.zip |
Add runitme files for userreg.
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r-- | runtime/lua/vim/userreg.lua | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/runtime/lua/vim/userreg.lua b/runtime/lua/vim/userreg.lua new file mode 100644 index 0000000000..d1062dea73 --- /dev/null +++ b/runtime/lua/vim/userreg.lua @@ -0,0 +1,27 @@ +local userreg = {} + +userreg.store = {} +userreg.regtable = {} + +function userreg.fn(action, register, content) + if action == "yank" then + if userreg.regtable[register] then + userreg.regtable[register]:do_yank(content) + else + userreg.store[register] = content + end + return nil + else + if userreg.regtable[register] then + return userreg.regtable[register]:do_put() + else + return userreg.store[register] or {} + end + end +end + +function userreg.register_handler(register, handler) + userreg.regtable[register] = handler +end + +return userreg |