93 lines
2.3 KiB
Lua
93 lines
2.3 KiB
Lua
|
local helpers = require('personal.luasnip-helper-funcs')
|
||
|
local get_visual = helpers.get_visual
|
||
|
|
||
|
-- Math context detection
|
||
|
local tex = {}
|
||
|
tex.in_mathzone = function() return vim.fn['vimtex#syntax#in_mathzone']() == 1 end
|
||
|
tex.in_text = function() return not tex.in_mathzone() end
|
||
|
|
||
|
-- Return snippet tables
|
||
|
return
|
||
|
{
|
||
|
-- LEFT/RIGHT PARENTHESES
|
||
|
s({trig = "([^%a])l%(", regTrig = true, wordTrig = false, snippetType="autosnippet"},
|
||
|
fmta(
|
||
|
"<>\\left(<>\\right)",
|
||
|
{
|
||
|
f( function(_, snip) return snip.captures[1] end ),
|
||
|
d(1, get_visual),
|
||
|
}
|
||
|
)
|
||
|
),
|
||
|
-- LEFT/RIGHT SQUARE BRACES
|
||
|
s({trig = "([^%a])l%[", regTrig = true, wordTrig = false, snippetType="autosnippet"},
|
||
|
fmta(
|
||
|
"<>\\left[<>\\right]",
|
||
|
{
|
||
|
f( function(_, snip) return snip.captures[1] end ),
|
||
|
d(1, get_visual),
|
||
|
}
|
||
|
)
|
||
|
),
|
||
|
-- LEFT/RIGHT CURLY BRACES
|
||
|
s({trig = "([^%a])l%{", regTrig = true, wordTrig = false, snippetType="autosnippet"},
|
||
|
fmta(
|
||
|
"<>\\left\\{<>\\right\\}",
|
||
|
{
|
||
|
f( function(_, snip) return snip.captures[1] end ),
|
||
|
d(1, get_visual),
|
||
|
}
|
||
|
)
|
||
|
),
|
||
|
-- BIG PARENTHESES
|
||
|
s({trig = "([^%a])b%(", regTrig = true, wordTrig = false, snippetType="autosnippet"},
|
||
|
fmta(
|
||
|
"<>\\big(<>\\big)",
|
||
|
{
|
||
|
f( function(_, snip) return snip.captures[1] end ),
|
||
|
d(1, get_visual),
|
||
|
}
|
||
|
)
|
||
|
),
|
||
|
-- BIG SQUARE BRACES
|
||
|
s({trig = "([^%a])b%[", regTrig = true, wordTrig = false, snippetType="autosnippet"},
|
||
|
fmta(
|
||
|
"<>\\big[<>\\big]",
|
||
|
{
|
||
|
f( function(_, snip) return snip.captures[1] end ),
|
||
|
d(1, get_visual),
|
||
|
}
|
||
|
)
|
||
|
),
|
||
|
-- BIG CURLY BRACES
|
||
|
s({trig = "([^%a])b%{", regTrig = true, wordTrig = false, snippetType="autosnippet"},
|
||
|
fmta(
|
||
|
"<>\\big\\{<>\\big\\}",
|
||
|
{
|
||
|
f( function(_, snip) return snip.captures[1] end ),
|
||
|
d(1, get_visual),
|
||
|
}
|
||
|
)
|
||
|
),
|
||
|
-- ESCAPED CURLY BRACES
|
||
|
s({trig = "([^%a])\\%{", regTrig = true, wordTrig = false, snippetType="autosnippet", priority=2000},
|
||
|
fmta(
|
||
|
"<>\\{<>\\}",
|
||
|
{
|
||
|
f( function(_, snip) return snip.captures[1] end ),
|
||
|
d(1, get_visual),
|
||
|
}
|
||
|
)
|
||
|
),
|
||
|
-- LATEX QUOTATION MARK
|
||
|
s({trig = "``", snippetType="autosnippet"},
|
||
|
fmta(
|
||
|
"``<>''",
|
||
|
{
|
||
|
d(1, get_visual),
|
||
|
}
|
||
|
)
|
||
|
),
|
||
|
}
|
||
|
|