blob: 5bed13ea79120124fada1cc0e99eb802275daa46 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
--
-- 50-lorem.lua
--
-- * Defines a command to insert a "lorem ipsum" string of a given word count, cycling through a
-- fixed pool of words.
--
-- User commands:
-- `Lorem {n}`: put an n-words long "lorem ipsum" string
--
local lorem_words = vim.split(
vim.trim([[
lorem ipsum dolor sit amet consectetur adipiscing elit morbi vestibulum sem risus vitae
pulvinar sem rhoncus vel vestibulum non nisl varius luctus ex in facilisis mauris nam non ex
nisi suspendisse posuere fringilla dictum vestibulum id dignissim eros etiam vulputate mi
nisi aliquam rutrum libero tempor sed fusce nec blandit dui integer et tincidunt velit etiam
lacinia tortor eu viverra malesuada ut vitae libero pharetra sollicitudin urna nec dignissim
libero donec ex neque iaculis eget volutpat id faucibus vel urna nullam egestas felis dolor
ac dignissim ligula ultricies et integer molestie rhoncus ante maximus bibendum vestibulum
luctus turpis eu commodo mollis quam nunc dictum nunc et iaculis justo erat ullamcorper nulla
aenean ac magna dui sed vitae viverra tortor hendrerit sagittis sem
]]),
"%s+",
{ trimempty = true }
)
-- Returns an n-words long "lorem ipsum" string, cycling through `lorem_words`.
local function get_lorem(n)
local words = {}
for i = 1, n do
words[i] = lorem_words[(i - 1) % #lorem_words + 1]
end
return table.concat(words, " ")
end
----------------------------------------------------------------------------------------------------
vim.api.nvim_create_user_command("Lorem", function(opts)
vim.api.nvim_put({ get_lorem(tonumber(opts.args)) }, "c", true, true)
end, { desc = "Put lorem ipsum string", nargs = 1 })
|