![Cihly stavba Tux](https://i.iinfo.cz/images/root/360/cihly-stavba-tux.jpg)
Jak informoval server Hackaday, na GitHubu se objevil program s názvem Desed. Tento projekt slibuje snadné debugování skriptů v sedu pomocí TUI, kde zobrazuje podrobnosti o tom, co se vlastně uvnitř sedu děje.
Sed, stream editor for filtering and transforming text, je nástroj předinstalovaný na většině unixových systémů. Běžně se používá na nahrazování a filtrování textu pomocí regulérních výrazů, ale pod kapotou skrývá kromě pokročilých funkcí pro práci s textem i turingovsky úplný programovací jazyk. Kvůli jeho kryptické syntaxi ale nebývá snadné napsat funkční skript v sedu delší než několik řádků. A to si tento projekt klade za cíl vyřešit.
Autor popisuje několik zajímavých funkcí, mezi které patří:
- Vypisování hodnot obou proměnných v sedu
- Náhled regexových substitucí a jejich výsledků
- Možnost krokovat sedový skript – a to jak dopředu tak i dozadu
- Nastavování breakpointů
- Hot reload, pomocí kterého můžete sledovat jak se mění stav skriptu když editujete zdrojový kód
- Jméno programu je palindrom
Program je psaný v Rustu a vnitřně používá GNU verzi sedu. Tento sed totiž nabízí užitečné debugovací rozhraní, které je použito k získání informací o vnitřním stavu. Toto rozhraní poskytuje právě tolik informací, aby bylo možné na jejich základě postavit debugger.
Jediná věc, která v rozhraní chybí, je číslo řádku, který se právě spouští. Kvůli tomu je uvnitř Desedu skrytá i částečná implementace sedu, která pracuje v symbióze se skutečným sedem, aby bylo možné uživateli předat co nejvíc informací o skriptu, který je debugován.