This commit is contained in:
Zelong Kuang
2025-05-13 19:37:28 +10:00
commit 9d1536e5af
57 changed files with 5155 additions and 0 deletions

305
LuaSnip/tex/physics.lua Normal file
View File

@@ -0,0 +1,305 @@
local ls = require("luasnip")
local s = ls.snippet
local sn = ls.snippet_node
local t = ls.text_node
local i = ls.insert_node
local f = ls.function_node
local d = ls.dynamic_node
local fmt = require("luasnip.extras.fmt").fmt
local fmta = require("luasnip.extras.fmt").fmta
local rep = require("luasnip.extras").rep
local line_begin = require("luasnip.extras.expand_conditions").line_begin
local tex = require("util.latex")
local get_visual = function(args, parent)
if #parent.snippet.env.SELECT_RAW > 0 then
return sn(nil, t(parent.snippet.env.SELECT_RAW))
else -- If SELECT_RAW is empty, return a blank insert node
return sn(nil, i(1))
end
end
return {
-- -- s(
-- -- { trig = "qb", snippetType = "autosnippet", priority = 2000 },
-- -- fmta("\\qty(<>)", {
-- -- d(1, get_visual),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "qb", snippetType = "autosnippet" },
-- -- fmta("\\qty(<>)", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "qB", snippetType = "autosnippet", priority = 2000 },
-- -- fmta("\\qty{<>}", {
-- -- d(1, get_visual),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "qB", snippetType = "autosnippet" },
-- -- fmta("\\qty{<>}", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "qp", snippetType = "autosnippet", priority = 2000 },
-- -- fmta("\\qty[<>]", {
-- -- d(1, get_visual),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "qp", snippetType = "autosnippet" },
-- -- fmta("\\qty[<>]", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "mb", snippetType = "autosnippet" },
-- -- fmta("\\mqty(<>)", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "mB", snippetType = "autosnippet" },
-- -- fmta("\\mqty{<>}", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "mp", snippetType = "autosnippet" },
-- -- fmta("\\mqty[<>]", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "im", snippetType = "autosnippet" },
-- -- fmta("\\imat{<>}", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "xm", snippetType = "autosnippet" },
-- -- fmta("\\xmat{<>}{<>}{<>}", {
-- -- i(1),
-- -- i(2),
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "zm", snippetType = "autosnippet" },
-- -- fmta("\\zmat{<>}{<>}", {
-- -- i(1),
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "pmat", snippetType = "autosnippet" },
-- -- fmta("\\pmat{<>}", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "dm", snippetType = "autosnippet" },
-- -- fmta("\\dmat{<>}", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "adm", snippetType = "autosnippet" },
-- -- fmta("\\admat{<>}", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "comm", snippetType = "autosnippet" },
-- -- fmta("\\comm{<>}{<>}", {
-- -- i(1),
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "acom", snippetType = "autosnippet" },
-- -- fmta("\\acomm{<>}{<>}", {
-- -- i(1),
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "ket", snippetType = "autosnippet", priority = 2000 },
-- -- fmta("\\ket{<>}", {
-- -- d(1, get_visual),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "ket", snippetType = "autosnippet" },
-- -- fmta("\\ket{<>}", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "bra", snippetType = "autosnippet", priority = 2000 },
-- -- fmta("\\bra{<>}", {
-- -- d(1, get_visual),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "bra", snippetType = "autosnippet" },
-- -- fmta("\\bra{<>}", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "norm", snippetType = "autosnippet", priority = 2000 },
-- -- fmta("\\norm{<>}", {
-- -- d(1, get_visual),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "norm", snippetType = "autosnippet" },
-- -- fmta("\\norm{<>}", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "abs", snippetType = "autosnippet", priority = 2000 },
-- -- fmta("\\abs{<>}", {
-- -- d(1, get_visual),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "abs", snippetType = "autosnippet" },
-- -- fmta("\\abs*{<>}", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "vu", snippetType = "autosnippet" },
-- -- fmta("\\vu{<>}", {
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "bk", snippetType = "autosnippet" },
-- -- fmta("\\ip{<>}{<>}", {
-- -- i(1),
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "kb", snippetType = "autosnippet" },
-- -- fmta("\\op{<>}{<>}", {
-- -- i(1),
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- s(
-- { trig = "ev", snippetType = "autosnippet" },
-- fmta("\\ev{<>}", {
-- i(0),
-- }),
-- { condition = tex.in_mathzone }
-- ),
-- s(
-- { trig = "mev", snippetType = "autosnippet" },
-- fmta("\\ev{<>}{<>}", {
-- i(1),
-- i(0),
-- }),
-- { condition = tex.in_mathzone }
-- ),
-- s(
-- { trig = "mel", snippetType = "autosnippet" },
-- fmta("\\mel{<>}{<>}{<>}", {
-- i(1),
-- i(2),
-- i(0),
-- }),
-- { condition = tex.in_mathzone }
-- ),
-- s(
-- { trig = "mdet", snippetType = "autosnippet" },
-- fmta("\\mdet{<>}", {
-- i(0),
-- }),
-- { condition = tex.in_mathzone }
-- ),
-- s(
-- { trig = "ord", wordTrig = false, snippetType = "autosnippet" },
-- fmta("\\order{<>}", {
-- i(0),
-- }),
-- { condition = tex.in_mathzone }
-- ),
-- s(
-- { trig = "qif", wordTrig = false, snippetType = "autosnippet" },
-- fmta("\\qif", {}),
-- { condition = tex.in_mathzone }
-- ),
-- s(
-- { trig = "qq", wordTrig = false, snippetType = "autosnippet" },
-- fmta("\\qq{<>}", {
-- i(0),
-- }),
-- { condition = tex.in_mathzone }
-- ),
-- s(
-- { trig = "qor", wordTrig = false, snippetType = "autosnippet" },
-- fmta("\\qor", {}),
-- { condition = tex.in_mathzone }
-- ),
-- s(
-- { trig = "qif", wordTrig = false, snippetType = "autosnippet" },
-- fmta("\\qif", {}),
-- { condition = tex.in_mathzone }
-- ),
-- -- s(
-- -- { trig = "dv", wordTrig = false, snippetType = "autosnippet" },
-- -- fmta("\\dv[<>]{<>}{<>}", {
-- -- i(1),
-- -- i(2),
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- -- s(
-- -- { trig = "pv", wordTrig = false, snippetType = "autosnippet" },
-- -- fmta("\\pdv{<>}{<>}", {
-- -- i(1),
-- -- i(0),
-- -- }),
-- -- { condition = tex.in_mathzone }
-- -- ),
-- s({ trig = "tr", wordTrig = false, snippetType = "autosnippet" }, fmta("\\tr", {}), { condition = tex.in_mathzone }),
}