Snippets
This commit is contained in:
@@ -2,6 +2,7 @@ local ls = require 'luasnip'
|
||||
local s = ls.snippet
|
||||
local sn = ls.snippet_node
|
||||
local fn = ls.function_node
|
||||
local ms = ls.multi_snippet
|
||||
local t = ls.text_node
|
||||
local c = ls.choice_node
|
||||
local i = ls.insert_node
|
||||
@@ -114,15 +115,19 @@ end
|
||||
---@param options? any
|
||||
---@return table
|
||||
utils.bs = function(trigger, nodes, options)
|
||||
local btrigger
|
||||
if type(trigger) == 'string' then
|
||||
trigger = utils.atr('([^%w])' .. trigger)
|
||||
btrigger = utils.atr('([^%w_-])' .. trigger)
|
||||
else
|
||||
trigger.trig = '([^%w])' .. trigger.trig
|
||||
btrigger = vim.tbl_extend('keep', utils.atr('([^%w_-])' .. trigger.trig), trigger)
|
||||
end
|
||||
return s(
|
||||
trigger,
|
||||
return ms(
|
||||
{
|
||||
trigger,
|
||||
btrigger,
|
||||
},
|
||||
vim.list_extend({ fn(function(args, snip)
|
||||
return snip.captures[1]
|
||||
return snip.captures[1] or ''
|
||||
end) }, nodes),
|
||||
options
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user