207 lines
3.8 KiB
Lua
207 lines
3.8 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="SI"},
|
|
fmta(
|
|
[[\SI{<>}{<>}]],
|
|
{
|
|
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),
|
|
}
|
|
)
|
|
),
|
|
}
|