IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Desed: Debugger pro Sed

Desed je nástroj pro příkazový řádek s krásným TUI, který poskytuje uživatelům pohodlné rozhraní a praktický debugger pro programovací jazyk sed.

Proč sed?

Sed je perfektní programovací jazyk, zejména pro problémy s grafy. Je jednoduchý a nepoužívá zbytečné konstrukce jako while, for, if nebo int. Kromě toho, protože nemá věci jako čísla, je velmi jednoduché ho používat. Z nějakého důvodu mu ale až doteď scházel debugger.

Debugger

ukázka desed workflow - Články nejen o programování

Má hromadu funkcí jako:

  • Zobrazuje hodnoty proměnných - obou dvou!
  • Zobrazuje co všechno zachytil regex
  • Umožňuje krokovat program - dopředu i dozadu
  • Podporuje breakpointy
  • Hot reload - po stisknutí l přenačte celý zdrojový kód a obnoví poslední pozici debuggeru
  • Je to open source: SoptikHa2/Desed

Instalace

Ze zdrojáku

Z githubu, případně je k dispozici ke stažení níže:

git clone https://github.com/soptikha2/desed
cd desed
cargo install --path .

Pomocí cargo

cargo install desed

Pomocí AUR

desed-git nebo desed (stabilní verze)

Z předkompilovaného souboru

Nebo prostě spusťte předkompilovaný soubor ze složky releases/ (pouze pro x86_64 linux)

Spuštění

Ke spuštění je potřeba:

Development, kompilace: git, cargo

Runtime: sed (GNU verze,> = 4.6)

Ovládání

  • Posouvání myši scrolluje zdrojový kód, kliknutím na řádek se přepíná breakpoint
  • j, k, g, G, stejně jako ve Vimu. Fungují i čísla před příkazy.
  • b přepne breakpoint (číslo před b přepne breakpoint na daném řádku)
  • s krok vpřed, a krok zpátky
  • r spustí program až do dalšího breakpointu, R funguje stejně, ale nazpátek
  • l okamžitě přenačte zdroják a zkusí co nejvěrněji obnovit stejný state jako byl předtím
  • q vypne program

FAQ

Jak to funguje?

GNU sed ve skutečnosti poskytuje docela užitečné debuggovací rozhraní, zkuste to sami s flagem --debug. Není to ale interaktivní a chtěl jsem něco blíže k tradičnímu debuggeru.

Opravdu to funguje?

Občas. Sed mi vlastně neříká, který řádek zdrojáku právě spouští, takže musím emulovat části sedu, abych to uhodl. Což nemusí fungovat vždycky. Ale rozhodně to fungovalo dost dobře na to, aby bylo možné ladit tetris bez problémů.

Ale proč?

Chtěl jsem programovat v sedu, ale do té doby mi chyběl debugger, takže jsem s tím musel něco udělat.

Proč?

Protože je to standardní editor pro filtrování a transformaci textu. A někdo v něm napsal tetris!

Co bude v další verzi?

Rád bych udělal syntax highlighting a přidal Desed do repozitářů všech velkých dister.


Galerie

Program byl vytvořen v roce 2020.

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 2x (1.36 MB)
Aplikace je včetně zdrojových kódů

 

Všechny články v sekci
Články nejen o programování
Program pro vás napsal Petr Šťastný
Avatar
Uživatelské hodnocení:
Ještě nikdo nehodnotil, buď první!
Autor se věnuje především Rustu a Haskellu, a navíc zbožňuje linux, i když původně začínal na C#.
Aktivity