-- -- Lorem plugin (command to insert "lorem ipsum" words) -- -- Returns lorem ipsum words local function iter_lorem() local filename = vim.env.HOME .. "/.local/share/dotfiles/lorem.txt" local file = assert(io.open(filename, "r")) local string = file:read("*all") io.close(file) local lorem_words = vim.split(vim.trim(string), " ", { trimempty = true }) local i = 0 return function() i = i % #lorem_words + 1 return lorem_words[i] end end -- Returns a n words long "lorem ipsum" string local function get_lorem(n) local iter = iter_lorem() local words = {} for i = 1, n do words[i] = iter() end return table.concat(words, " ") end local function put_lorem(n) vim.api.nvim_put({ get_lorem(n) }, "c", true, true) end vim.api.nvim_create_user_command("Lorem", function(opts) put_lorem(tonumber(opts.args)) end, { desc = "Put lorem ipsum string", nargs = 1 })