local ls = require("luasnip") --{{{
local s = ls.s
local i = ls.i
local t = ls.t

local d = ls.dynamic_node
local c = ls.choice_node
local f = ls.function_node
local sn = ls.snippet_node

local fmt = require("luasnip.extras.fmt").fmt
local rep = require("luasnip.extras").rep

local snippets, autosnippets = {}, {} --}}}

-- Start Snippets --

local code = s(
	{ trig = "code", desc = "Code Section" },
	fmt(
		[[
    ```{}

    ```
    ]],
		{
			i(1, "Language"),
		}
	)
)
table.insert(autosnippets, code)

local sig = s(
	{ trig = "sig", desc = "Signature" },
	fmt(
		[[
    ---
    
    Made with ❤️ by JirR02 in Switzerland 🇨🇭
    ]],
		{}
	)
)
table.insert(autosnippets, sig)

local disclaimeren = s(
	{ trig = "disen", desc = "Disclaimer EN" },
	fmt(
		[[
    ## DISCLAIMER

    {} compiled based on the lecture {} by {}.

    I accept no liability for any potential errors within {}. Please be aware that {} processed with the assistance of NotebookLM. While AI is a powerful tool, it may produce technical inaccuracies or "hallucinations". Furthermore, I have paraphrased sections and added personal observations, which may introduce further errors.

    **Copyright & Content Note:** This is an unofficial resource and is not affiliated with or endorsed by ETH Zurich. As {} generated with the assistance of AI, I cannot guarantee that all content has been sufficiently paraphrased. Some sections may closely mirror or directly quote the original presentation slides or scripts. All intellectual property rights for the original course content remain with the respective authors at ETH Zurich.

    **Notice to Rights Holders:** This document is shared for educational purposes. If you are a rights holder and object to the inclusion of any content, please contact me, and I will remove it immediately.

    Unless stated otherwise, all graphics were generated personally.

    Errors or copyright concerns can be reported via email to [jirruh@ethz.ch](mailto:jirruh@ethz.ch). {}
    ]],
		{
			c(1, { t("These notes were"), t("These notes and this summary were"), t("This summary was") }),
			i(2, "Name of Lecture"),
			i(3, "Name of Professor"),
			c(4, { t("these notes"), t("these notes and this summary"), t("this summary") }),
			c(5, { t("these notes were"), t("these notes and this summary were"), t("this summary was") }),
			rep(4),
			i(0),
		}
	)
)
table.insert(autosnippets, disclaimeren)

local disclaimerde = s(
	{ trig = "disde", desc = "Disclaimer DE" },
	fmt(
		[[
    ## DISCLAIMER 

    Diese {} auf der Vorlesung {} von {}. 

    Ich übernehme keine Haftung für mögliche Fehler in {}. Bitte beachten Sie, dass diese {} unter Zuhilfenahme von NotebookLM erstellt {}. Obwohl KI ein leistungsstarkes Werkzeug ist, kann sie technische Ungenauigkeiten oder sogenannte „Halluzinationen“ erzeugen. Darüber hinaus habe ich Abschnitte paraphrasiert und eigene Beobachtungen hinzugefügt, was weitere Fehlerquellen darstellen kann.

    **Urheberrecht & Inhaltlicher Hinweis:** Dies ist eine inoffizielle Ressource; sie steht in keiner Verbindung zur ETH Zürich und wird von dieser nicht unterstützt. Da diese {} mit Hilfe von KI erstellt {}, kann ich nicht garantieren, dass alle Inhalte ausreichend umformuliert wurden. Einige Abschnitte können den ursprünglichen Präsentationsfolien oder Skripten stark ähneln oder diese direkt zitieren. Alle geistigen Eigentumsrechte am ursprünglichen Kursinhalt verbleiben bei den jeweiligen Autoren der ETH Zürich.

    **Hinweis für Rechteinhaber:** Dieses Dokument wird ausschließlich zu Bildungszwecken geteilt. Wenn Sie Rechteinhaber sind und der Aufnahme bestimmter Inhalte widersprechen, kontaktieren Sie mich bitte, und ich werde diese umgehend entfernen.

    Sofern nicht anders angegeben, wurden alle Grafiken persönlich erstellt.

    Fehler oder Urheberrechtsbedenken können per E-Mail an [jirruh@ethz.ch](mailto:jirruh@ethz.ch) gemeldet werden. {}
    ]],
		{
			c(
				1,
				{ t("Notizen basieren"), t("Notizen und diese Zusammenfassung basieren"), t("Zusammenfassung basiert") }
			),
			i(2, "Name of Lecture"),
			i(3, "Name of Professor"),
			c(4, { t("diesen Notizen"), t("diesen Notizen und dieser Zusammenfassung"), t("dieser Zusammenfassung") }),
			rep(1),
			c(5, { t("wurde"), t("wurden") }),
			rep(1),
			rep(5),
			i(0),
		}
	)
)
table.insert(autosnippets, disclaimerde)

-- End Snippets --

return snippets, autosnippets
