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

139
LuaSnip/tex/algo.lua Normal file
View File

@@ -0,0 +1,139 @@
-- 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 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 = "bal", snippetType = "autosnippet" },
-- fmta(
-- [[
-- \begin{algorithm}
-- \caption{<>}
-- \label{algo:<>}
-- \begin{algorithmic}[1]
-- \Require <>
-- \end{algorithmic}
--
-- \end{algorithm}
-- ]],
-- {
-- i(1),
-- rep(1),
-- i(0),
-- }
-- ),
-- { condition = line_begin }
-- ),
-- s({ trig = "ss", snippetType = "autosnippet" }, {
-- t("\\State "),
-- }, { condition = tex.in_algo * line_begin }),
-- s({ trig = "sx", snippetType = "autosnippet" }, {
-- t("\\Statex "),
-- }, { condition = tex.in_algo * line_begin }),
-- s({ trig = "return", snippetType = "autosnippet" }, {
-- t("\\Return"),
-- }, { condition = tex.in_algo }),
-- s(
-- { trig = "while", snippetType = "autosnippet" },
-- fmta(
-- [[
-- \While{<>}
-- <>
-- \EndWhile
-- ]],
-- {
-- i(1),
-- i(0),
-- }
-- ),
-- { condition = tex.in_algo * line_begin }
-- ),
-- s(
-- { trig = "for", snippetType = "autosnippet" },
-- fmta(
-- [[
-- \For{<>}
-- <>
-- \EndFor
-- ]],
-- {
-- i(1),
-- i(0),
-- }
-- ),
-- { condition = tex.in_algo * line_begin }
-- ),
-- s(
-- { trig = "if", snippetType = "autosnippet" },
-- fmta(
-- [[
-- \If{<>}
-- <>
-- \EndIf
-- ]],
-- {
-- i(1),
-- i(0),
-- }
-- ),
-- { condition = tex.in_algo * line_begin }
-- ),
-- s(
-- { trig = "elif", snippetType = "autosnippet" },
-- fmta(
-- [[
-- \ElsIf{<>}
-- <>
-- ]],
-- {
-- i(1),
-- i(0),
-- }
-- ),
-- { condition = tex.in_algo * line_begin }
-- ),
-- s(
-- { trig = "else", snippetType = "autosnippet" },
-- fmta(
-- [[
-- \Else
-- <>
-- ]],
-- {
-- i(0),
-- }
-- ),
-- { condition = tex.in_algo * line_begin }
-- ),
-- s(
-- { trig = "fn", snippetType = "autosnippet" },
-- fmta(
-- [[
-- \Function{<>}{<>}
-- <>
-- \EndFunction
-- ]],
-- {
-- i(1),
-- i(2),
-- i(0),
-- }
-- ),
-- { condition = tex.in_algo * line_begin }
-- ),
-- }