82 lines
1.9 KiB
Lua
82 lines
1.9 KiB
Lua
local helpers = require('personal.luasnip-helper-funcs')
|
|
local get_visual = helpers.get_visual
|
|
|
|
local line_begin = require("luasnip.extras.expand_conditions").line_begin
|
|
|
|
-- 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 {
|
|
|
|
-- Equation, choice for labels
|
|
s({trig="beq", dscr="Expands 'beq' into an equation environment, with a choice for labels", snippetType="autosnippet"},
|
|
fmta(
|
|
[[
|
|
\begin{equation}<>
|
|
<>
|
|
\end{equation}
|
|
]],
|
|
{ c(1,
|
|
{
|
|
sn(2, -- Choose to specify an equation label
|
|
{
|
|
t("\\label{eq:"),
|
|
i(1),
|
|
t("}"),
|
|
}
|
|
),
|
|
t([[]]), -- Choose no label
|
|
},
|
|
{}
|
|
),
|
|
i(2) }
|
|
)
|
|
),
|
|
|
|
-- Figure environment
|
|
s({trig="foofig", dscr="Use 'fig' for figure environmennt, with options"},
|
|
fmta(
|
|
[[
|
|
\begin{figure}<>
|
|
\centering
|
|
\includegraphics<>{<>}
|
|
\caption{<>}
|
|
\label{fig:<>}
|
|
\end{figure}
|
|
]],
|
|
{
|
|
-- Optional [htbp] field
|
|
c(1,
|
|
{
|
|
t([[]]), -- Choice 1, empty
|
|
t("[htbp]"), -- Choice 2, this may be turned into a snippet
|
|
},
|
|
{}
|
|
),
|
|
-- Options for includegraphics
|
|
c(2,
|
|
{
|
|
t([[]]), -- Choice 1, empty
|
|
sn(3, -- Choice 2, this may be turned into a snippet
|
|
{
|
|
t("[width="),
|
|
i(1),
|
|
t("\\textwidth]"),
|
|
}
|
|
),
|
|
},
|
|
{}
|
|
),
|
|
i(3, "filename"),
|
|
i(4, "text"),
|
|
i(5, "label"),
|
|
}
|
|
),
|
|
{condition = line_begin}
|
|
),
|
|
|
|
}
|