kickstart.nvim/LuaSnip/tex/system.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),
}
)
),
}