restructure snippets
This commit is contained in:
39
lua/crentist/snippets/common.lua
Normal file
39
lua/crentist/snippets/common.lua
Normal file
@@ -0,0 +1,39 @@
|
||||
local ls = require('luasnip')
|
||||
local s = ls.snippet
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local fmt = require('luasnip.extras.fmt').fmt
|
||||
|
||||
local function com_string(_, snip, to_multiply)
|
||||
local comment_string = vim.bo.commentstring
|
||||
local repeats = snip.captures[1]
|
||||
local result = comment_string:gsub('%%s', ''):gsub(' ', '')
|
||||
|
||||
if to_multiply then
|
||||
return string.sub(
|
||||
string.rep(result, repeats),
|
||||
0,
|
||||
repeats
|
||||
)
|
||||
end
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
ls.add_snippets('all', {
|
||||
s({ name = 'Comment block', trig = '#com(%d+)', regTrig = true },
|
||||
fmt([[
|
||||
{comment_block}
|
||||
{comment} {comment_text}
|
||||
{comment_block}
|
||||
]],
|
||||
{
|
||||
comment_block = f(com_string, {}, { user_args = { true } }),
|
||||
comment = f(com_string, {}, { user_args = { false } }),
|
||||
comment_text = i(1,
|
||||
'Comment')
|
||||
}
|
||||
)
|
||||
),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user