diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2025-04-10 00:20:28 -0600 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2025-04-10 00:20:28 -0600 |
commit | d2325e040e2a4c2ea9d0d8c57af57bc13f7aeae7 (patch) | |
tree | 42cdc551faf3b3abbeb998166f00f937747fa6b1 /lua/vim/userregs/impl/uuid_register.lua | |
parent | b3b09ff479510abc51ffb88743bb353bcc15e165 (diff) | |
download | rneovim-userregs-main.tar.gz rneovim-userregs-main.tar.bz2 rneovim-userregs-main.zip |
"| - file contents register
" - visual selection register
" - timestamp register
" - uuid register
" - dirname register
Diffstat (limited to 'lua/vim/userregs/impl/uuid_register.lua')
-rw-r--r-- | lua/vim/userregs/impl/uuid_register.lua | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lua/vim/userregs/impl/uuid_register.lua b/lua/vim/userregs/impl/uuid_register.lua new file mode 100644 index 0000000..de45de1 --- /dev/null +++ b/lua/vim/userregs/impl/uuid_register.lua @@ -0,0 +1,18 @@ +local userregs = require("vim.userregs") + +local function generate_uuid() + local random = math.random + local template = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx" + return string.gsub(template, "[xy]", function(c) + local v = (c == "x") and random(0, 0xf) or random(8, 0xb) + return string.format("%x", v) + end) +end + +userregs.register_handler("\21", { -- Ctrl+U + put = function() + return generate_uuid() + end, + yank = nil, -- read-only +}) + |