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 })