192 lines
3.1 KiB
Lua
192 lines
3.1 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 snippet tables
|
|
return {
|
|
-- ANNOTATE (custom command for annotating equation derivations)
|
|
s(
|
|
{ trig = "ann", snippetType = "autosnippet" },
|
|
fmta(
|
|
[[
|
|
\annotate{<>}{<>}
|
|
]],
|
|
{
|
|
i(1),
|
|
d(2, get_visual),
|
|
}
|
|
)
|
|
),
|
|
-- REFERENCE
|
|
s(
|
|
{ trig = " RR", snippetType = "autosnippet", wordTrig = false },
|
|
fmta(
|
|
[[
|
|
~\ref{<>}
|
|
]],
|
|
{
|
|
d(1, get_visual),
|
|
}
|
|
)
|
|
),
|
|
-- DOCUMENTCLASS
|
|
s(
|
|
{ trig = "dcc", snippetType = "autosnippet" },
|
|
fmta(
|
|
[=[
|
|
\documentclass[<>]{<>}
|
|
]=],
|
|
{
|
|
i(1, "a4paper"),
|
|
i(2, "article"),
|
|
}
|
|
),
|
|
{ condition = line_begin }
|
|
),
|
|
-- USE A LATEX PACKAGE
|
|
s(
|
|
{ trig = "pack", snippetType = "autosnippet" },
|
|
fmta(
|
|
[[
|
|
\usepackage{<>}
|
|
]],
|
|
{
|
|
d(1, get_visual),
|
|
}
|
|
),
|
|
{ condition = line_begin }
|
|
),
|
|
-- INPUT a LaTeX file
|
|
s(
|
|
{ trig = "inn", snippetType = "autosnippet" },
|
|
fmta(
|
|
[[
|
|
\input{<><>}
|
|
]],
|
|
{
|
|
i(1, "~/dotfiles/config/latex/templates/"),
|
|
i(2),
|
|
}
|
|
),
|
|
{ condition = line_begin }
|
|
),
|
|
-- LABEL
|
|
s(
|
|
{ trig = "lbl", snippetType = "autosnippet" },
|
|
fmta(
|
|
[[
|
|
\label{<>}
|
|
]],
|
|
{
|
|
d(1, get_visual),
|
|
}
|
|
)
|
|
),
|
|
-- HPHANTOM
|
|
s(
|
|
{ trig = "hpp", snippetType = "autosnippet" },
|
|
fmta(
|
|
[[
|
|
\hphantom{<>}
|
|
]],
|
|
{
|
|
d(1, get_visual),
|
|
}
|
|
)
|
|
),
|
|
s(
|
|
{ trig = "TODOO", snippetType = "autosnippet" },
|
|
fmta([[\TODO{<>}]], {
|
|
d(1, get_visual),
|
|
})
|
|
),
|
|
s(
|
|
{ trig = "nc" },
|
|
fmta([[\newcommand{<>}{<>}]], {
|
|
i(1),
|
|
i(2),
|
|
}),
|
|
{ condition = line_begin }
|
|
),
|
|
s(
|
|
{ trig = "sii", snippetType = "autosnippet" },
|
|
fmta([[\si{<>}]], {
|
|
i(1),
|
|
})
|
|
),
|
|
s(
|
|
{ trig = "qtt" },
|
|
fmta([[\qty{<>}{<>}]], {
|
|
i(1),
|
|
i(2),
|
|
})
|
|
),
|
|
-- URL
|
|
s(
|
|
{ trig = "url" },
|
|
fmta([[\url{<>}]], {
|
|
d(1, get_visual),
|
|
})
|
|
),
|
|
-- href command with URL in visual selection
|
|
s(
|
|
{ trig = "LU", snippetType = "autosnippet" },
|
|
fmta([[\href{<>}{<>}]], {
|
|
d(1, get_visual),
|
|
i(2),
|
|
})
|
|
),
|
|
-- href command with text in visual selection
|
|
s(
|
|
{ trig = "LL", snippetType = "autosnippet" },
|
|
fmta([[\href{<>}{<>}]], {
|
|
i(1),
|
|
d(2, get_visual),
|
|
})
|
|
),
|
|
-- HSPACE
|
|
s(
|
|
{ trig = "hss", snippetType = "autosnippet" },
|
|
fmta([[\hspace{<>}]], {
|
|
d(1, get_visual),
|
|
})
|
|
),
|
|
-- VSPACE
|
|
s(
|
|
{ trig = "vss", snippetType = "autosnippet" },
|
|
fmta([[\vspace{<>}]], {
|
|
d(1, get_visual),
|
|
})
|
|
),
|
|
-- SECTION
|
|
s(
|
|
{ trig = "h1", snippetType = "autosnippet" },
|
|
fmta([[\section{<>}]], {
|
|
d(1, get_visual),
|
|
})
|
|
),
|
|
-- SUBSECTION
|
|
s(
|
|
{ trig = "h2", snippetType = "autosnippet" },
|
|
fmta([[\subsection{<>}]], {
|
|
d(1, get_visual),
|
|
})
|
|
),
|
|
-- SUBSUBSECTION
|
|
s(
|
|
{ trig = "h3", snippetType = "autosnippet" },
|
|
fmta([[\subsubsection{<>}]], {
|
|
d(1, get_visual),
|
|
})
|
|
),
|
|
}
|