Show HN: Desed – Debugger for Sed
github.com
Show HN: Desed – Debugger for Sed
1–10 of 23 posts
Re: Show HN: Desed – Debugger for Sed
#2I’d be glad for any comments regarding code quality or the debugger itself.
Re: Show HN: Desed – Debugger for Sed
#3Re: Show HN: Desed – Debugger for Sed
#4Hi, author here. I’ve written a debugger for sed in Rust. This was not only to learn rust, but to actually have a solid debugger for sed. I’ve started learning sed recently and decided to start writing various algorithms in it. And as sed doesn’t have numbers and can just filter/transform text, this is a challenge even for something like comparing two numbers. I’ve seen people do amazing things with it. I’d be glad f…
Does the interface resemble that of other GNU tools like bash and make? I've always wondered about these projects. Everyone says that bash and make are hard to debug, but I've never heard of anyone using them. It seems to be more common to use batch mode tracing rather than debugging.
What did you use for the TUI? e.g. Curses?
http://bashdb.sourceforge.net/
Re: Show HN: Desed – Debugger for Sed
#5If you need a debugger from sed, aren't you now using the wrong tool for the job? We have lots of mature, debuggable languages to process text...
However sed is perfect if you have spare time and want to write basic programs in unnecessarily complex way for fun.
Re: Show HN: Desed – Debugger for Sed
#6Hi, author here. I’ve written a debugger for sed in Rust. This was not only to learn rust, but to actually have a solid debugger for sed. I’ve started learning sed recently and decided to start writing various algorithms in it. And as sed doesn’t have numbers and can just filter/transform text, this is a challenge even for something like comparing two numbers. I’ve seen people do amazing things with it. I’d be glad f…
What does the GNU sed debugger interface look like? Which docs did you use, and were they sufficient? Does the interface resemble that of other GNU tools like bash and make? I've always wondered about these projects. Everyone says that bash and make are hard to debug, but I've never heard of anyone using them. It seems to be more common to use batch mode tracing rather than debugging. What did you use for the TUI? e.…
I've considered using curses, but tui-rs seemed that it will be easier to handle. I can certainly recommend it for making tui applications.
I didn't actually use any documentation at all, it wasn't in the man page and I didn't feel like hunting for it, as it was pretty easy to understand just by looking at the output.
Sed debug works by running the code specified just as normal, but it annotates what it does to stdout. So it might look like this: https://gist.github.com/SoptikHa2/a50e90bd1b34c7238944c20d1a...
Sed actually has pretty well-designed interface IMO, it's pretty minimal and has no nasty surprises.
Edit: Here[3] is something I've written about it.
[1]: https://github.com/fdehau/tui-rs [2]: https://github.com/crossterm-rs/crossterm [3]: https://soptik.tech/articles/building-desed-the-sed-debugger...
Re: Show HN: Desed – Debugger for Sed
#7If you need a debugger from sed, aren't you now using the wrong tool for the job? We have lots of mature, debuggable languages to process text...
I certainly do. This is meant just as a toy, and way to learn Rust, which is what I've written this in. If I need to actually achieve something, I use python or haskell. However sed is perfect if you have spare time and want to write basic programs in unnecessarily complex way for fun.
Re: Show HN: Desed – Debugger for Sed
#8Earlier quoted context omitted.
What does the GNU sed debugger interface look like? Which docs did you use, and were they sufficient? Does the interface resemble that of other GNU tools like bash and make? I've always wondered about these projects. Everyone says that bash and make are hard to debug, but I've never heard of anyone using them. It seems to be more common to use batch mode tracing rather than debugging. What did you use for the TUI? e.…
I'll add technical section to readme, but for short. I've used tui-rs[1] with crossterm[2] backend (which handles the actual terminal interaction). The docs may seem intimidating, but it's surprisingly easy to use. I've considered using curses, but tui-rs seemed that it will be easier to handle. I can certainly recommend it for making tui applications. I didn't actually use any documentation at all, it wasn't in the…
Is that why you thought it would be easier? You just update the entire page on every action, and it takes care of the details of coming up with the minimal terminal codes?
----
This is only tangentially related, but for those interested in programming in obscure languages, I recently discovered ble.sh which is a 30K+ line TUI for bash written in pure bash! It does basically what the fish shell does, so it has a terminal rendering library, utf-8 decoder, terminal decoder, bash parser with an AST, etc. all in bash.
https://github.com/akinomyoga/ble.sh
Some details from the author on this wiki page:
https://github.com/oilshell/oil/wiki/How-Interactive-Shells-...
Other big shell programs:
https://github.com/oilshell/oil/wiki/The-Biggest-Shell-Progr...
Latest Oil release makes progress on running these:
Re: Show HN: Desed – Debugger for Sed
#9If you need a debugger from sed, aren't you now using the wrong tool for the job? We have lots of mature, debuggable languages to process text...
I certainly do. This is meant just as a toy, and way to learn Rust, which is what I've written this in. If I need to actually achieve something, I use python or haskell. However sed is perfect if you have spare time and want to write basic programs in unnecessarily complex way for fun.
There are certain things that are difficult to do in sed, but are much easier to do in ed. Though ed doesn't have the branch command and labels, having essentially random access throughout the file makes up for it.
Re: Show HN: Desed – Debugger for Sed
#10If you need a debugger from sed, aren't you now using the wrong tool for the job? We have lots of mature, debuggable languages to process text...
You mean like sed? Sed was written in the 70s and has been in mission critical stuff for decades on many platforms. What are you recommending that is more mature than that?