kickstart.nvim/lua/custom/plugins/Luasnip/tex/delimiters.lua.bak

143 lines
3.9 KiB
Lua

local ls = require("luasnip")
local s = ls.snippet
local t = ls.text_node
local i = ls.insert_node
local f = ls.function_node
local fmt = require("luasnip.extras.fmt").fmt
-- Add LaTeX snippets
ls.add_snippets("tex", {
-- LaTeX Template
s("latex-template", fmt([[
\documentclass[a4paper]{article}
\usepackage{amsmath}
\begin{document}
{}
\end{document}
]], { i(0) })),
-- Implies
s("=>", t("\\implies")),
-- Inline Math
s("mk", fmt("${}$", { i(1) })),
-- Fraction with auto-expansion for a/b pattern
s("////", fmt("\\frac{{{}}}{{{}}}", { i(1), i(2) })),
s({ trig = "(%w+)/(%w+)", regTrig = true, wordTrig = false }, {
f(function(_, snip) return "\\frac{" .. snip.captures[1] .. "}{" .. snip.captures[2] .. "}" end)
}),
-- Not Equals
s("!=", t("\\neq")),
-- Sum
s("sum", fmt("\\sum_{{n={}}}^{{{}}} {}", { i(1, "1"), i(2, "\\infty"), i(3, "a_n z^n") })),
-- Taylor Series
s("taylor", fmt("\\sum_{{{}={}}}^{{{}}} {} (x-a)^{}", { i(1, "k"), i(2, "0"), i(3, "\\infty"), i(4, "c_"), i(1) })),
-- Limit
s("lim", fmt("\\lim_{{{} \\to {}}}", { i(1, "n"), i(2, "\\infty") })),
-- Greek Letters
s("alpha", t("\\alpha")),
s("beta", t("\\beta")),
s("gamma", t("\\gamma")),
s("delta", t("\\delta")),
s("epsilon", t("\\epsilon")),
s("zeta", t("\\zeta")),
s("eta", t("\\eta")),
s("theta", t("\\theta")),
s("iota", t("\\iota")),
s("kappa", t("\\kappa")),
s("lambda", t("\\lambda")),
s("mu", t("\\mu")),
s("nu", t("\\nu")),
s("xi", t("\\xi")),
s("omicron", t("\\omicron")),
s("pi", t("\\pi")),
s("rho", t("\\rho")),
s("sigma", t("\\sigma")),
s("tau", t("\\tau")),
s("upsilon", t("\\upsilon")),
s("phi", t("\\phi")),
s("chi", t("\\chi")),
s("psi", t("\\psi")),
s("omega", t("\\omega")),
s("Alpha", t("\\Alpha")),
s("Beta", t("\\Beta")),
s("Gamma", t("\\Gamma")),
s("Delta", t("\\Delta")),
s("Epsilon", t("\\Epsilon")),
s("Zeta", t("\\Zeta")),
s("Eta", t("\\Eta")),
s("Theta", t("\\Theta")),
s("Iota", t("\\Iota")),
s("Kappa", t("\\Kappa")),
s("Lambda", t("\\Lambda")),
s("Mu", t("\\Mu")),
s("Nu", t("\\Nu")),
s("Xi", t("\\Xi")),
s("Omicron", t("\\Omicron")),
s("Pi", t("\\Pi")),
s("Rho", t("\\Rho")),
s("Sigma", t("\\Sigma")),
s("Tau", t("\\Tau")),
s("Upsilon", t("\\Upsilon")),
s("Phi", t("\\Phi")),
s("Chi", t("\\Chi")),
s("Psi", t("\\Psi")),
s("Omega", t("\\Omega")),
-- Other Symbols
s("ooo", t("\\infty")),
s("prod", t("\\prod")),
s("pm", t("\\pm")),
s("mp", t("\\mp")),
s("+-", t("\\pm")),
s("-+", t("\\mp")),
s("...", t("\\dots")),
s("<->", t("\\leftrightarrow")),
s("->", t("\\to")),
s("!>", t("\\mapsto")),
s("invs", t("^{-1}")),
s("\\\\\\", t("\\setminus")),
s("||", t("\\mid")),
s("and", t("\\cap")),
s("orr", t("\\cup")),
s("inn", t("\\in")),
s("notin", t("\\not\\in")),
s("\\subset eq", t("\\subseteq")),
s("eset", t("\\emptyset")),
s("set", fmt("\\{{}}", { i(1) })),
s("=>", t("\\implies")),
s("=<", t("\\impliedby")),
s("iff", t("\\iff")),
s("exists", t("\\exists")),
-- Special Formatting
s("mcal", fmt("\\mathcal{{{}}}", { i(1) })),
s("mbb", fmt("\\mathbb{{{}}}", { i(1) })),
s("ell", t("\\ell")),
s("lll", t("\\ell")),
s("LL", t("\\mathcal{L}")),
s("HH", t("\\mathcal{H}")),
s("CC", t("\\mathbb{C}")),
s("RR", t("\\mathbb{R}")),
s("ZZ", t("\\mathbb{Z}")),
s("NN", t("\\mathbb{N}")),
s("II", t("\\mathbb{1}")),
-- Miscellaneous Symbols
s("del", t("\\nabla")),
s("xx", t("\\times")),
s("avg", fmt("\\langle {} \\rangle", { i(1) })),
s("norm", fmt("\\lvert {} \\rvert", { i(1) })),
s("ceil", fmt("\\lceil {} \\rceil", { i(1) })),
s("floor", fmt("\\lfloor {} \\rfloor", { i(1) }))
})