This commit is contained in:
2025-12-09 10:35:51 +00:00
parent 0cce7837f2
commit 9bd219f053
5 changed files with 103 additions and 48 deletions

View File

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